Page 81 - 《软件学报》2021年第9期
P. 81
钱忠胜 等:面向关键字流图的相似程序间测试用例的重用 2705
中:在传统方法的 100 次独立实验中,在种群最大进化代数前只有 15 次能够覆盖目标路径,覆盖率为 15%,平均
进化代数为 890.9,所用的总时间为 8.20s;采用本文方法的实验中的目标路径覆盖率为 100%,平均进化代数为
3.5,所用总时间为 2.74s.其 F 值为 160.36,经查表,组数为 2,每组数据量在 100 时,F 界值为 3.04,本文方法与传统
方法的目标个体的进化代数作为两组数据所得 F 值远远大于 F 界值,意味着本文方法有效地改变了目标个体的
平均进化代数,排除随机因素对实验造成的干扰.从实验结果可知,目标路径覆盖率、平均进化代数和时间 3 个
衡量指标都能证明相似程序间测试用例重用效果明显.
Table 6 Evaluation result of testing bubble sorting program using traditional method and our method
表 6 传统方法和本文方法测试冒泡排序的评判结果
方法 覆盖率(%) 平均进化代数 执行时间(s) F 值
传统方法 15 890.9 8.20 160.36
本文方法 100 3.5 2.74 160.36
为更加全面检测用例重用的效果,实验将改变种群大小,检验种群大小是否对实验结果造成较大影响.表 7
是不同种群大小下传统方法和本文方法在冒泡排序中的测试结果.
Table 7 Test results of bubble sorting program under different population sizes
表 7 不同种群大小下冒泡排序的测试结果
种群大小 评判标准 传统方法 本文方法
覆盖率(%) 9 100
平均进化代数 895.3 5.3
30
时间(s) 4.32 2.58
F 值 158.97
覆盖率(%) 22 100
平均进化代数 863.0 4.1
60
时间(s) 7.26 3.66
F 值 149.98
覆盖率(%) 26 100
平均进化代数 853.1 3.3
100
时间(s) 7.96 4.12
F 值 153.37
表 7 的实验结果验证了不同种群下对比实验的覆盖率和平均进化代数.实验结果显示:随着种群规模的增
大,传统方法中的目标路径的覆盖率有增大的趋势,平均进化代数随之减少,F 值变化很小,但仍远大于 F 界值
3.04.本文方法下的实验结果表明:3 种种群大小下的目标路径覆盖率都为 100%,当种群的个体数量增加时,平均
进化代数随之减少.该方法下的 100 次独立实验中目标路径皆被覆盖,平均进化代数远低于传统方法,测试效率
比传统方法明显要高.表 8 是不同变异概率下测试冒泡排序的结果.
Table 8 Test results of bubble sorting program under different mutation probabilities
表 8 不同变异概率下冒泡排序的测试结果
变异概率 评判标准 传统方法 本文方法
覆盖率(%) 15 100
平均进化代数 890.9 3.5
0.1
时间(s) 8.33 2.74
F 值 153.35
覆盖率(%) 21 100
平均进化代数 887.4 4.7
0.2
时间(s) 8.66 2.70
F 值 167.75
覆盖率(%) 22 100
平均进化代数 887.2 4.2
0.3
时间(s) 8.56 2.56
F 值 143.76