Page 207 - 《软件学报》2025年第7期
P. 207

3128                                                       软件学报  2025  年第  36  卷第  7  期



                 看出, 在平均失效度      S  avg   方面, DRT-10、DRT-15、DRT-20  均优于  DRT-05; 在最大失效度  S  max  方面, DRT-15  优
                 于  DRT-05  和  DRT-20.

                            表 7 RQ3  不同测试剖面更新幅度下         DRT-PP  的假设检验对比结果      (平均失效度    S  avg )

                      方法             DRT-05            DRT-10             DRT-15            DRT-20
                     DRT-05            -             (−4.93, 0.00, ×)  (−4.04, 0.00, ×)   (−4.85, 0.00, ×)
                     DRT-10        (4.93, 0.00, √)       -              (0.56, 0.58, ≡)   (1.56, 0.14, ≡)
                     DRT-15        (4.04, 0.00, √)   (−0.56, 0.58, ≡)       -             (0.86, 0.40, ≡)
                     DRT-20        (4.85, 0.00, √)   (−1.56, 0.14, ≡)  (−0.86, 0.40, ≡)       -

                          表 8 RQ3  不同测试剖面更新幅度下         DRT-PP  的假设检验对比结果      (考虑最大失效度      S  max )

                      方法             DRT-05            DRT-10             DRT-15            DRT-20
                     DRT-05            -             (−1.97, 0.06, ≡)  (−2.67, 0.02, ×)   (−0.96, 0.35, ≡)
                     DRT-10        (1.97, 0.06, ≡)       -             (−1.47, 0.17, ≡)   (1.13, 0.27, ≡)
                     DRT-15        (2.67, 0.02, √)   (1.47, 0.17, ≡)        -             (2.16, 0.05, √)
                     DRT-20        (0.96, 0.35, =)   (−1.13, 0.27, ≡)  (−2.16, 0.05, ≡)       -

                    总的来说, DRT-15, 即当测试剖面的更新幅度为              0.15  时, 测试效果较好, 这说明当我们将更新幅度设为
                 0.15  时, 既保证了寻优性, 也能够避免陷入局部最优. 相比之下, DRT-05            和  DRT-20  表现较差. 首先, 路径规划算法
                 的输入空间复杂, 而测试剖面在调整过程中也会伴有较大的噪声, 这一点从图                        6  中也可以观测到, 而    DRT-05  由于
                 测试剖面调整幅度较小, 更新效果有可能被噪声淹没, 因此其发现失效度较大测试用例的概率就会少一些. 相对
                 的, DRT-20  由于测试剖面调整幅度过大, 使得测试剖面收敛过快, 进而导致测试过程陷入局部最优, 或产生更多的
                 无效测试用例.
                    表  5  和表  6  同样展示了各种   DRT-PP  配置下生成测试用例的多样性. 可以看出           DRT-05  虽然在寻优性上略逊
                 于其他配置, 但由于其测试剖面调整程度小, 生成的测试用例具有较高的多样性. 实验结果表明, 无论是否考虑无
                 效测试用例, DRT-05   生成测试用例的多样性程度都是最高的              (分别为   9.9  与  6.9).
                    RQ3  结论: 实验结果表明, 在不同配置下, DRT-PP        的测试效果相差不大. 对于寻优性来说, DRT-15 (即测试剖
                 面更新幅度为     0.15) 的表现稍好, 而   DRT-05  和  DRT20 (即测试剖面更新幅度分别为       0.05  和  0.20) 的表现稍差. 考
                 虑测试用例的多样性, DRT-05      的表现最好. 在实际应用时, 测试人员可以根据经验选取合适的测试剖面更新幅度.
                 在今后的研究中, 我们也会对         DRT-PP  的各种配置参数做进一步考察.

                 3.3.4    实例研究
                    在 RQ1、RQ2 和 RQ3 中, 我们研究了 DRT-PP      在测试   RRT  路径规划算法时的有效性. 本节我们通过实例评
                 估, 对测试过程中发现的失效度最大的测试用例进行观察, 并讨论其在暴露算法潜在问题上的价值. 图                               7  描述了测
                 试过程中生成的失效度最大测试用例的威胁分布情况以及                     RRT  算法在执行该测试用例时的生成路径. 该测试用
                 例为  DRT-PP  在测试剖面更新幅度为       0.15  时生成的第  897  个测试用例, 这里我们将其记为        t 897 . 执行  t 897  得到不同
                                    S (t 897 ) 值达到了  54.
                 的路径, 经计算其失效度
                    该测试用例的威胁分布如图           7  中的红色圆圈所示, 可以看出       DRT-PP  生成的测试用例     t 897  是一个由  168  个威
                 胁构成了一个“多陷阱”场景, 而路径规划的起始点和终止点分别位于左上角和右下角. 直觉上, 该场景的一个较为
                 合理的路径如图中绿色曲线所示: 智能体避开陷阱, 从场景的中间穿过, 到达终点. 现在我们将该测试用例用                                RRT
                 算法运行   10  次, 并记录每次执行后的生成路径, 如图中蓝色线条所示. 在该例子中, 我们能够明显看到, 生成的路
                 径之间存在很大的差异, 很多路径都走入了不同的“陷阱”中, 从而导致路径长度过长. 因此, 可以认为在该例子中,
                 经典的   RRT  算法表现出较为明显的不稳定性. 确实, 由于           RRT  基于构建随机树来生成路径, 一旦随机树的某个分
                 支进入了“陷阱”并且优先走到距离目标点较近的位置, 那么这个分支将很可能被当作最终路径并无法被修正, 从
                 而导致较长生成路径. 因此, RRT       算法在这种多陷阱场景中, 有可能存在性能风险.
   202   203   204   205   206   207   208   209   210   211   212