用于搜索式单元测试生成中多准则组合的覆盖目标选择器
软件工程
2024-01-05 v2
摘要
单元测试对软件开发过程至关重要,它确保程序中基本编程单元(例如方法)的正确性。搜索式软件测试(SBST)是一种自动生成测试用例的方法。SBST 通过指定覆盖准则(例如分支覆盖)利用遗传算法生成测试用例。然而,一个好的测试套件必须具备不同的属性,而这些属性无法通过单一的覆盖准则来刻画。因此,当前最先进的方法组合多个准则来生成测试用例。由于组合多个覆盖准则为优化带来了多个目标,与单一准则相比,它损害了测试套件对某些准则的覆盖率。为应对该问题,我们提出了一种名为 \textbf{smart selection} 的新方法。基于准则间的覆盖相关性和覆盖目标间的包含关系,smart selection 选取覆盖目标的子集,以减少优化目标的数量并避免遗漏所有准则的任何属性。我们在 个 Java 类上以 分钟预算结合三种最先进的遗传算法对 smart selection 进行了实验评估。平均而言,smart selection 在 的两种方法有显著差异的类上优于组合所有目标。其次,我们进行了实验以验证关于覆盖准则关系的假设。此外,我们在 、 和 分钟的不同预算下评估了 smart selection 的覆盖性能,并探究其对缺陷检测的影响,证实了 smart selection 相对于组合所有目标的优势。
引用
@article{arxiv.2309.07518,
title = {Coverage Goal Selector for Combining Multiple Criteria in Search-Based Unit Test Generation},
author = {Zhichao Zhou and Yuming Zhou and Chunrong Fang and Zhenyu Chen and Xiapu Luo and Jingzhu He and Yutian Tang},
journal= {arXiv preprint arXiv:2309.07518},
year = {2024}
}
备注
arXiv admin note: substantial text overlap with arXiv:2208.04096