中文

现代通用大语言模型上自动单元测试生成中代码上下文与提示策略的影响

软件工程 2025-07-22 v1 人工智能

摘要

生成式 AI 正在软件工程领域中日益受到关注,其中测试仍是不可或缺的可靠性机制。根据广泛采用的测试金字塔,单元测试构成大多数测试用例且往往是 schematic 的,仅需很少的领域专业知识。在软件工程师的监督下自动生成此类测试可显著提高软件生命周期开发阶段的生产力。这篇论文研究了代码上下文和提示策略对大型语言模型 (LLM) 在多个家族中生成单元测试质量和充分性的影响。结果表明,包括 docstring 显著提高代码充分性,而进一步扩展上下文至完整实现则获得了明显较小的收益。值得注意的是,即使应用于“推理”模型,链式思维提示策略也能获得最佳结果,达到最高 96.3% 的分支覆盖率,平均突变得分提升 57%,接近完美的编译成功率。在评估的模型中,M5 (Gemini 2.5 Pro) 在突变得分和分支覆盖率方面表现优异,且在编译成功率方面仍处于前列。所有代码和生成的测试套件均公开可用于 https://github.com/peetery/LLM-analysis。

关键词

引用

@article{arxiv.2507.14256,
  title  = {Impact of Code Context and Prompting Strategies on Automated Unit Test Generation with Modern General-Purpose Large Language Models},
  author = {Jakub Walczak and Piotr Tomalak and Artur Laskowski},
  journal= {arXiv preprint arXiv:2507.14256},
  year   = {2025}
}