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
   76   77   78   79   80   81   82   83   84   85   86