本文是LLM系列文章,针对《A System for Automated Unit Test Generation Using Large Language Models and Assessment of Generated Test Suites》的翻译。
使用大型语言模型自动生成单元测试并评估生成的测试套件的系统
摘要
单元测试代表了软件测试生命周期中最基本的测试级别,对于确保软件正确性至关重要。设计和创建单元测试是一个成本高昂且劳动密集型的过程,但自动化的时机已经成熟。最近,大型语言模型 (LLM) 已应用于软件开发的各个方面,包括单元测试生成。尽管存在一些评估 LLM 在测试代码生成方面的能力的实证研究,但它们主要集中在简单的场景上,例如为单个方法直接生成单元测试。这些评估通常涉及独立的小规模测试单元,从而提供 LLM 在实际软件开发场景中性能的有限视图。此外,以前的研究并没有以适合实际应用的规模来处理这个问题。生成的单元测试通常通过手动集成到原始项目中来进行评估,此过程会限制执行的测试数量并降低整体效率。为了解决这些差距,我们开发了一种生成和评估更多真实复杂性测试套件的方法。我们的方法侧重于类级测试代码的生成,并自动化了从测试生成到测试评估的整个过程。在这项工作中,我们提出了 AGONETEST:一个用于为 Java 项目生成测试套件的自动化系统,以及一种用于评估生成的测试套件的全面而有原则的方法。从最先进的数据集(即 METHODS2TEST)开始&#