Page 242 - 《软件学报》2024年第6期
P. 242

2818                                                       软件学报  2024  年第  35  卷第  6  期


                 方法在测试用例生成方面的效率, 这里结合表              3 (见第  5.3.3  节) 和表  7  的实验结果, 分别从覆盖率、平均进化代数
                 和路径覆盖数这几个方面, 对几种测试用例生成方法展开定性分析, 如表                      9  所示.

                                             表 9    各测试用例生成方法的效率对比

                          对比方法                  覆盖率               平均进化代数                  路径覆盖数
                         传统遗传法                    ◇                 ◇◇◇◇                     ◇
                        关键字流图法   [7]            ◇◇◇                   ◇                      ◇
                       关键点概率法    [15]           ◇◇◇                  ◇◇◇                   ◇◇◇
                        否定遗传法   [14]             ◇◇                  ◇◇◇                   ◇◇◇
                         神经网络法   [8]             ◇◇                   -                      ◇
                          SAEO法 [9]             ◇◇◇                   -                    ◇◇◇
                          本文方法                  ◇◇◇                   ◇◇                   ◇◇◇
                 注: 标记“◇”表示不同方法在不同指标下的效率, 标记越多则影响越大

                     48(7): 1330–1342 (in  Chinese  with  English  abstract). [doi: 10.3969/j.issn.0372-2112.2020.07.011]
                    由表  9  可知, 传统遗传法表现最差. 这些方法中, 路径覆盖率最高的有关键字流图法、关键点概率法、SAEO
                 法和本文方法, 其次是否定遗传法和神经网络法. 平均进化代数效果最优的是关键字流图法, 其次是本文方法, 然
                 后是关键点概率法和否定遗传法. 目标路径被覆盖的数量也是衡量方法优劣的关键因素之一. 在众多方法中, 关键
                 点概率法、否定遗传法、SAEO          法和本文方法均可覆盖多条目标路径, 而关键字流图法以及神经网络法解决的均
                 为单目标路径, 若检测更多路径则需重复实验多次, 这不仅耗费更多时间, 且造成测试数据的浪费.
                    综上分析, 本文方法保证覆盖率的同时, 在相对较少的进化代数内可覆盖较多的目标路径, 这表明本文方法是
                 有效的, 且测试效率较好.

                  6   总结与进一步研究
                    本文提出一种融合       SVM  和  XGBoost 的链式模型   C-SVMXGBoost 的多路径覆盖测试数据生成与重用方法,
                 该链式模型代替插桩法模拟测试数据覆盖路径, 减少插桩时间的同时, 筛选尽可能多的相似目标路径, 提高测试用
                 例利用率及路径覆盖效率. 相比其他单一模型和融合模型, 本文模型在精度与时间方面具有较大优势, 精度基本保
                 持在  90%  及以上, 执行时间普遍减少, 最多可减少          42.36%. 同时在遗传进化时, 本文方法对符合要求的个体插桩
                 验证, 计算适应度, 并在交叉变异时引入优秀用例. 这不仅提高种群质量, 还充分利用测试数据实现多路径覆盖用
                 例生成. 对比已有经典测试方法, 本文方法有较高用例生成效率, 在覆盖率上提高可达                          15%, 平均进化代数降低可
                 达  65%. 未来工作将探讨如何利用机器学习方法优化初始遗传种群质量, 以期进一步提高测试效率.

                 References:
                  [1]  Bertolino A, Miranda B, Pietrantuono R, Russo S. Adaptive test case allocation, selection and generation using coverage spectrum and
                     operational profile. IEEE Trans. on Software Engineering, 2021, 47(5): 881–898. [doi: 10.1109/TSE.2019.2906187]
                  [2]  Sun CA, Liu BL, Fu A, Liu YQ, Liu H. Path-directed source test case generation and prioritization in metamorphic testing. Journal of
                     Systems and Software, 2022, 183: 111091. [doi: 10.1016/j.jss.2021.111091]
                  [3]  Liao WZ, Xia XY, Jia XJ. Test data generation for multiple paths coverage based on ant colony algorithm. Acta Electronica Sinica, 2020,

                  [4]  Feng XB, Ding R, Chai BJ, Huo TT. Multi-objective heuristic information optimization algorithm for path coverage-oriented test data
                     generation. In: Proc. of the 3rd Int’l Conf. on Artificial Intelligence and Advanced Manufacture. Manchester: ACM, 2021. 650–654. [doi:
                     10.1145/3495018.3495135]
                  [5]  Fan SP, Wan L, Yao NM, Zhang Y, Ma BY. Test case sorting method based on key use cases extracted. Acta Electronica Sinica, 2022,
                     50(1): 149–156 (in  Chinese  with  English  abstract). [doi: 10.12263/DZXB.20201284]
                  [6]  Pan F, Gong DW, Tian T, Yao XJ, Li Y. Path similarity-based scheduling sequence sorting for multi-path coverage of parallel programs.
                     SCIENTIA SINICA Informationis, 2021, 51(4): 565–581 (in  Chinese  with  English  abstract). [doi: 10.1360/SSI-2019-0113]
   237   238   239   240   241   242   243   244   245   246   247