论文
TATG:基于 LLM 的测试生成的跟踪感知测试目标
TATG: Tracking-Aware Testing Objective for LLM-based Test Generation
摘要
复杂的 Java 方法对于自动化单元测试生成仍然具有挑战性,因为实现高覆盖率和故障检测通常需要满足特定于分支的测试要求,而这些要求从焦点方法中无法直接看到。最近基于 LLM 的方法,例如 KTester、PANTA 和 MUTGEN,利用了项目上下文、静态分析、覆盖反馈或突变指导。然而,它们没有明确表示和跟踪迭代中的单独测试需求。因此,生成可能会重复以满足的需求为目标,同时忽略未解决的分支和弱断言。现有方法还分别优化结构覆盖和突变有效性。我们提出 TATG,一种基于 LLM 的跟踪感知单元测试生成方法。 TATG 引入了统一的客观表示,捕获从静态分析和动态反馈中得出的测试要求。该表示可以在整个生成过程中对已满足和未解决的需求进行细粒度跟踪。 TATG 进一步采用两阶段工作流程:结构轮次提高覆盖范围,然后是突变引导的强化轮次,加强断言并改进故障检测。我们在 141 种复杂的 Java 方法上评估 TATG,其中包括 110 个 KTester 主题和 31 种其他具有挑战性的方法。与 KTester 和 PANTA 相比,TATG 的谱系覆盖率、分支覆盖率和突变评分平均提高了 22.15、20.14 和 37.66 个百分点。在选定的焦点方法子集上,TATG 还实现了与专有工业测试生成工具相当的性能,同时实现了更高的品系覆盖率和突变评分。