Page 197 - 《软件学报》2021年第7期
P. 197
周小莉 等:基于偶然正确性概率的回归测试选择方法 2115
有关精度的实验数据如图 5 所示,图上的数据表明了两种基于 CCP 的测试选择技术在一定程度上提升了
测试选择结果的精度.对于大多数版本的程序,基于 CCP 的 3 种技术都提高了测试选择的精度.如表 1 所示,相对
于基于代码覆盖的技术,3 种基于偶然正确性现象的选择技术在精度上提升幅度的均值为 28.36%、23.14%和
25.09%.
Fig.4 Reduction of the test set Fig.5 Changes of precision
图 4 测试集合的缩减 图 5 精度变化
有关安全性的实验数据如图 6 所示,其横坐标为不同版本的程序,纵坐标为针对选择技术的安全性指标,图
上展示了 4 种技术在不同版本程序上进行测试选择的安全性.由图可知,基于代码覆盖的安全技术的安全性始
终为 100%,而基于 CCP 的选择技术在不同程度上降低了安全性.
为了综合衡量精度和安全性的变化,图 7 展示了 4 种技术在 PR 指标上的变化情况.对图 7 中的数据进行统
计可得,基于 CCP 的技术 1 提升了 85%版本的程序的 PR 指标,而基于 CCP 的技术 2 和技术 3 提升了 95%版本
的程序的 PR 指标.这 3 种技术降低了小部分版本程序的 PR 值,但其降低的幅度非常小.如表 1 所示,基于 CCP
的 3 种技术在 PR 指标上的总体提升幅度分别为 19.72%、20.19%和 21.14%.PR 指标的提升表明,基于 CCP 的
测试选择技术虽然降低了安全性,但精度方面的提高所产生的收益大于安全性降低的损失.
Fig.6 Changes of safety Fig.7 Changes of PR
图 6 安全性变化 图 7 PR 指标的变化
综合上述实验结果,本文提出的 3 种基于 CCP 进行测试选择的技术都大幅度地缩减了测试集合的大小,并
提升了测试选择的精度,虽然降低了测试选择的安全性,但是 3 种技术都使得精度和安全性的综合指标 PR 值得
到了较大的提升,这表明,基于 CCP 的测试选择技术比基于代码覆盖的技术能够更有效地对测试用例进行选择.
对比 3 种基于 CCP 的选择技术,其精确度和 PR 的提升幅度的差距不大,在测试用例缩减程度和安全性上