论文
通过学习模拟信息来改进 LLM 驱动的测试生成
Improving LLM-Driven Test Generation by Learning from Mocking Information
摘要
大语言模型 (LLM) 最近显示出自动化单元测试生成的强大潜力。这促使我们研究是否可以利用现有测试套件中可用的开发人员定义的测试替身(通常称为模拟)来改进 LLM 驱动的测试生成。为此,我们提出了 MOCKMILL,这是一种基于 LLM 的技术和工具,它通过利用从开发人员编写的测试中自动提取的模拟信息来生成测试用例。 MOCKMILL 针对现有测试中被测试替身替换的组件,并使用编码的存根和交互期望来指导测试生成,并结合迭代生成和修复过程来确保可执行测试。我们使用四个 LLM 对来自 6 个 Java 项目的 10 个开源类评估了 MOCKMILL,并将生成的测试与现有项目测试和基线方法生成的测试进行了比较。结果表明,MOCKMILL 的测试涵盖了现有测试和基线生成的测试遗漏的代码行并杀死了突变体。总体而言,我们的研究结果提供了初步证据,表明利用模拟信息是增强基于 LLM 的测试生成的补充且有效的方法。