Page 175 - 《软件学报》2026年第5期
P. 175
2054 软件学报 2026 年第 37 卷第 5 期
1
TF 1 +TF 2 +...+TF m
APFD = 1− + (4)
nm 2n
其中, TF i 表示检测到第 i 个 (1 ≤ i ≤ m) 缺陷的测试用例在 T 中的位置, m 是检测到的缺陷总数. 因在同一测试中
任何测试序列的 n 和 m 都是固定的, 故 APFD 值越高表明按测试序列 P 检测缺陷的速度越快, 其对应的 TCP 方
法越有效.
2) TETC 是测试执行时间成本, 用于衡量测试的执行效率, 如公式 (5) 所示:
(5)
TETC = t last −t first
其中, t firs 是测试的开始时间, t las 是测试的结束时间. TETC 表示使用 TCP 方法生成排序序列花费的总时间, TETC
t
t
值越低, 则其对应的 TCP 方法效率越高.
3.3 对比方法
这里将所提方法 TPG-TCP 与 8 个经典的、先进的方法做对比, 对比方法主要分为如下 4 大类. ① 基于贪心
[6]
策略的 TCP 方法. GA 是最先将 Additional 策略用于 TCP 中的方法, 而 OCP [11] 在其基础上融入部分注意力思想,
[8]
并增加二次排序指标, 以提高排序性能. 此外, AGA 通过增加额外数据结构并减少迭代次数的方法提高了 GA 的
效率. OCP 和 AGA 方法与本文方法的细粒度用例分组模块有相似性. ② 基于群智能算法的方法. CGWO-TCP [16]
和 WOA-TCP [17] 是近年来将先进的群智能算法应用于 TCP 领域的方法. ③ 基于故障的 TCP 方法. FB-TCP [15] 考虑
多种排序因素, 将多个单一的 TCP 技术集成以提高 TCP 的有效性, 与本文方法的细粒度用例分组模块有相似性. ④ 基
于机器学习的方法. KS-TCP [13] 运用聚类方法挖掘测试用例间的相似性以提高 TCP 性能, 与本文方法的粗粒度用
例排序模块具有一定相关性. SAT-TCP [14] 将 TCP 过程分为两个阶段, 基于语义相似度利用信息检索和预训练模型
分别对测试用例进行粗粒度和细粒度排序, 与本文方法的两阶段排序框架相似.
1) GA: 一种优先选择可最大覆盖剩余未被覆盖代码数测试用例的方法.
2) OCP: 一种基于部分注意机制的 TCP 方法, 其采用历史优先级避免考虑所有候选用例.
3) AGA: 通过增加数据结构存储覆盖信息以减少冗余数据访问, 并探究迭代次数对 TCP 效率的影响.
4) CGWO-TCP: 该方法使用混沌函数提高现有灰狼优化 (GWO) 算法在收敛速度方面的性能, 以确定用例优
先级.
5) WOA-TCP: 一种使用 n 维有向搜索空间改进鲸鱼优化算法以优化 TCP 决策的方法.
6) FB-TCP: 提出 4 种基于故障的优先级排序方法以生成用例的初始排名, 并选择基于 Averaging、Kendall
Tau 以及 Schulze 这 3 种排名聚合技术来整合 4 种排序方法生成的排名, 其中 Kendall Tau 集成技术在排序上表现
更出色.
7) KS-TCP: 一种基于聚类的静态黑盒测试用例优先级排序方法, 先采用 K-medoids 方法捕获用例的相似性进
行更精细的划分, 再使用贪婪策略对各个簇进行优先级排序, 并通过轮询方式选择最终的执行顺序.
8) SAT-TCP: 一种基于语义感知的两阶段 TCP 框架, 利用基于信息检索对测试用例进行初步排序和过滤, 并
使用预训练的 Siamese 语言模型基于语义相似性对用例进行细粒度排序.
3.4 实验结果与分析
下面通过各实验验证本文方法的优势. 第 3.4.1 节针对本文方法的 2 大模块中的 3 个构件设计了 6 种变体方
法进行消融实验, 以回答 RQ1; 第 3.4.2 节将本文方法在 6 个数据集上与 8 种经典的、最新的相关方法进行对比,
详细分析本文方法的优势, 以回答 RQ2; 第 3.4.3 节探讨所提方法的迭代次数是如何划定的, 以回答 RQ3.
3.4.1 消融实验 (RQ1)
为验证粗粒度用例分组和细粒度用例分组排序这 2 大模块中的构件对 TCP 排序性能的影响, 设计 6 种变体
方法, 将本文方法 TPG-TCP 与它们进行对比. 其中, ① Ours-1 变体方法不进行粗粒度分组, 直接采用 TP-Additional
策略对全部测试用例排序, 并通过减少迭代次数加快排序, 主要考察本文方法的粗粒度分组模块的作用; ② Ours-2
变体方法在使用 TP-Additional 策略对粗粒度用例分组后得到的关键用例组排序时, 不减少迭代次数, 主要验证本

