Page 178 - 《软件学报》2026年第5期
P. 178

钱忠胜 等: 面向两阶段分组的测试用例优先级排序方法                                                      2057


                  3.4.2    对比实验  (RQ2)
                    在对比时, 本文的迭代次数设置为           5 (迭代次数划定实验见第        3.4.3  节), 而对于含有参数的对比方法, 其参数
                 值均采用对应文献中的原始设定. 就部分重要参数而言, 在                  AGA  中, 迭代次数为   10; 在  CGWO-TCP  中, 循环混沌
                 函数中的控制参数       a  为  0.5, b  为  0.2; 在  WOA-TCP  中, 螺旋攻击的控制参数  b  为  1; 在  SAT-TCP  中, 学习率为
                 2E–5, batch_size 为  68, epoch  为  5.
                    本文与   8  种相关经典的、最新的方法在          6  个不同规模的数据集上就        APFD、TETC  指标进行详细对比, 结果
                 如表  7  所示.

                                                    表 7 各方法对比结果

                                  基于贪心策略方法           基于群智能算法       基于故障方法 基于机器学习方法          本方法 性能提升
                  指标     数据集
                                  GA    OCP  AGA  CGWO-TCP WOA-TCP   FB-TCP   KS-TCP SAT-TCP TPG-TCP  (%)
                          Flex  0.950 6  0.956 9 0.950 6  0.960 1  0.954 2  N/A  N/A  0.947 2  0.969 8  1.02
                         Tcas   0.921 6  0.934 1 0.921 6  0.947 0  N/A  N/A   0.921 3  0.942 5  0.963 3  1.72
                        Schedule2  0.918 7  0.925 8 0.918 7  N/A  0.930 2  N/A  0.909 6  0.936 5  0.947 7  1.20
                  APFD
                         Jsoup  0.932 8  0.945 9 0.932 8  N/A  N/A   0.935 0   N/A   0.931 6  0.958 6  1.34
                       Jacksoncore 0.938 9  0.936 5 0.938 9  N/A  N/A  0.940 0  N/A  0.910 9  0.953 2  1.40
                       Camel-core  0.954 4  0.953 6 0.954 4  N/A  N/A  N/A     N/A   0.939 0  0.964 5  1.06
                          Flex  0.368 5  0.138 6 0.098 2  N/A  2.728 7  N/A    N/A   1.678 2  0.086 2  12.22
                         Tcas   1.056 9  0.141 5 0.127 0  N/A  N/A    N/A     0.718 0  2.054 7  0.113 2  10.86
                        Schedule2  1.521 8  0.112 0 0.086 7  N/A  10.626 9  N/A  1.283 0  2.775 6  0.076 4  11.88
                 TETC (s)
                         Jsoup  5.762 4  0.263 9 0.214 5  N/A  N/A   29.067 0  N/A   9.443 2  0.205 8  4.06
                       Jacksoncore 1.410 3  0.340 2 0.255 8  N/A  N/A  46.196 0  N/A  3.575 8  0.242 2  5.32
                       Camel-core 1 288.151 9 75.451 7 18.104 0  N/A  N/A  N/A  N/A  486.465 8 15.769 3  12.09
                 注: ① 本文方法TPG-TCP的数据加粗标示, 为便于比较, 利用下划线突显对比方法中表现最佳的数据, 最后一列给出本文方法相
                 对于某一最佳对比方法的性能提升情况 (粗体标示). ② CGWO-TCP、WOA-TCP、FB-TCP、KS-TCP数据来源于各原始文献,
                 因这些文献中不同方法选择的实验对象不同, 故存在部分数据集数据缺失的情况. 其余方法的数据通过运行50次实验, 并取其平
                 均值, 将所得平均值与对应方法文献中的原实验数据进行比较, 最终实验数据以较优结果为准填入

                    1) 与基于贪心策略的      TCP  方法相比
                    ① GA  在  TCP  领域是非常经典的方法, 反馈机制的加入使其在排序有效性方面取得不错的效果, 但该方法包
                 含大量重复的数据访问, 极大地降低了其速度. 此外, 该策略存在的随机因素会在一定程度上影响其有效性. 相较
                 于  GA  方法, TPG-TCP  在  APFD  和  TETC  指标上分别最少提升  1.06%  和  76.61%.
                    ② OCP  通过设定历史优先级指标以避免考虑所有候选测试用例, 并降低                     GA  随机因素对有效性的影响. 相较
                 于  OCP  方法, TPG-TCP  在  APFD  和  TETC  指标上分别最少提升  1.14%  和  20.00%.
                    ③ AGA  相较于   OCP  方法更侧重对    Additional 策略效率的提升, 通过增加存储结构并减少迭代次数共同加快
                 排序速度. 相较于     AGA  方法, TPG-TCP  在  APFD  和  TETC  指标上分别最少提升  1.06%  和  4.06%.
                    这  3  种基于贪心策略的方法       GA、OCP  和  AGA  虽然在一定程度上提高了        TCP  排序的有效性和效率, 但未考
                 虑用例间的关系以及用例信息的个体性. 因此, 本文方法                 TPG-TCP  采用粗粒度用例分组以及         TP-Additional 策略
                 应对这些问题.
                    2) 与基于群智能算法的       TCP  方法相比
                    ① CGWO-TCP   将近年来较流行的灰狼优化算法改进后应用于                   TCP  领域, 提升了排序的有效性. 相较于
                 CGWO-TCP  方法, TPG-TCP  在  APFD  指标上最少提升   1.02%.
                    ② WOA-TCP  对先进的鲸鱼优化算法改进后, 将其用于解决               TCP  问题, 在减少算法迭代次数的同时提升了排
                 序的有效性. 相较于      WOA-TCP  方法, TPG-TCP  在  APFD  和  TETC  指标上分别最少提升  1.63%  和  96.84%.
                    这两种基于群智能算法的方法将较新的优化算法应用于                     TCP  领域, 利用群智能算法强大的搜索能力来解决
                 排序问题, 创新性较高. 但此类方法建立的搜索空间规模较大, 导致在搜索时间成本方面与基于贪心策略的方法相
                 比过高. 本文方法     TPG-TCP  采用粗粒度用例分组与细粒度分组排序, 在保证排序有效性的同时提高了排序的效率.
   173   174   175   176   177   178   179   180   181   182   183