Page 204 - 《软件学报》2025年第7期
P. 204
张逍怡 等: 面向智能体路径规划算法的动态随机测试方法 3125
大于 40 的最大失效度, DRT-PP 方法生成测试用例的平均最大失效度为 41.1, 优于 RT 的 37.7. 从实验结果可知,
一般情况下, 测试用例的最大失效度在 0–40 之间, 而失效度大于 40 的测试用例很少. 而如果某个测试用例的失效
度大于 40, 则说明 RRT 算法生成路径的标准差在 40 个步长以上, 这对长宽均为 200 的场景来说是较大的. 从表
中可知, 执行 DRT-PP 方法得到失效度大于 40 的测试用例数量平均为 2.9 个, 特别是 DRT-15 (测试剖面的更新幅
度为 0.15), 平均数量达到了 6.7; 相对地, RT 生成失效度大于 40 的测试用例数量为 0. 这说明, 采用 DRT-PP 方法
通过动态调整测试剖面, 确实能够逼近高失效度的测试用例. 最后, 如果测试用例的失效度为 0, 则表明该测试用
例无解, 而生成这种无效测试用例是对测试资源的一种浪费, 因此我们还检查了各方法生成失效度等于 0 的测试
用例个数. 从表中可以看出, 对于路径规划算法的测试来说, 生成有效测试用例并不是那么容易, 几乎所有测试方
法都生成了数量较多的无效测试用例. 尽管如此, DRT-PP 平均生成的无效测试用例个数 159.8 个, 概率约为 16%,
即大部分情况下生成的测试用例是有效的. 相比之下, RT 生成无效测试用例的平均个数达到了 636.3, 这表明路径
规划算法测试的无效输入空间远大于有效测试空间, 若采用纯随机测试方法, 则大概率生成无效测试用例. 而
DRT-PP 方法则能够通过调整测试剖面, 在很大程度上回避无效测试用例的生成.
表 1 RQ1、RQ3 不同方法测试 RRT 路径规划算法的有效性
方法 S avg S max >40 =0
RT 6.5 37.7 0.0 636.3
ART3 6.8 39.8 0.6 631.1
ART5 6.7 39.3 0.4 630.9
DRT-05 14.2 39.3 0.5 163.4
DRT-10 17.7 41.3 3.1 157.6
DRT-15 17.2 43.6 6.7 150.8
DRT-20 16.4 40.2 1.1 167.5
DRT平均 16.4 41.1 2.9 159.8
ART 作为本文提出的另一种基线方法, 其测试效果与 RT 相比略有提升. 从表 1 中可以看出, 在 ART3 和
ART5 这两个参数配置下, ART 的表现相差不大. 与 RT 相比, ART3 和 ART5 平均失效度 S avg 从 6.5 分别提升至
6.8 和 6.7, 最大失效度 S max 从 37.7 分别提升至 39.8 和 39.3, 失效度大于 40 的个数从 0.0 提升至 0.6 和 0.4, 而无效
的测试场景仅仅从 636.3 减少至 631.5 和 630.9. 然而从整体上看, DRT-PP 方法对测试效果的提升会更加明显. 具
体来说, 所有配置下的 DRT-PP 在平均失效度 S avg 以及生成有效测试用例的个数上都明显好于 ART: DRT-PP 在
S avg 以及“=0”上的平均值为 16.4 和 159.8, 而 ART3 为 6.8 (ART5 为 6.7) 和 631.5 (ART5 为 630.9). 此外, 在最大失
效度 S max 以及失效度大于 40 的个数上, 除了 DRT-05 由于测试剖面更新幅度为过小的原因导致其在 S max 以及
“>40”上略逊于 ART (其与 ART 基本持平), DRT-PP 整体好于 ART: DRT-PP 在 S max 以及“>40”上的平均值为 41.1
和 2.9, 而 ART3 为 39.8 (ART5 为 39.3) 和 0.6 (ART5 为 0.4).
表 2 分别展示了不同配置下的 DRT-PP 算法与 RT 针对平均失效度 S avg 和最大失效度 S max 的统计分析结果.
具体来说, 对每种测试方法我们都执行 10 次测试流程, 并将每种测试方法得到的 10 组 S avg 和 S max 通过 t-检验进
行两两比较. 表 2 中 DRT-05、DRT-10、DRT-15、DRT-20 这 4 列分别展示了当更新幅度为 0.05、0.10、0.15、
0.20 时, DRT-PP 与 RT 的假设检验结果, 每个单元格括号中的 3 个值分别为统计量 T 值、p 值以及是否拒绝原假
设 (即二者之间存在大小关系): 若显著程度为√, 则说明 DRT-PP 优于 RT; 若显著程度为 ×, 则说明 DRT-PP 劣于
S avg 来说, 显著程度均为√, 且 p 值均为 0.00, 这表
RT; 若显著程度为≡, 则说明结果不显著. 从表中可以看出, 对于
明在平均失效度方面 DRT-PP 明显好于 RT. 对于 S max 来说, 除了 DRT-05 外, 其他 3 种配置下的 DRT-PP 方法均
明显好于 RT; DRT-05 在 T 值方面也好于 RT, 但比较结果不是很显著. 表 3 与表 4 分别展示了不同配置下的 DRT-
PP 算法与 ART3 和 ART5 针对平均失效度 S avg 和最大失效度 S max 的统计分析结果, 其中各行的含义与表 2 相同.
从这两个表中可以看出, 对于 S avg 来说, 显著程度均为√, 且 p 值均为 0.00, 这表明在平均失效度方面 DRT-PP 明显
好于 ART. 对于 S max 来说, DRT-15 明显好于 ART3 和 ART5; DRT-20 和 DRT10 在 T 值方面均好于 ART3 和

