- 简介本文讲述了单元测试对于发现类和方法中的错误非常重要,但由于时间限制,开发人员经常忽略它。为了解决这个问题,出现了自动化测试生成技术,但往往缺乏可读性并需要开发人员干预。大型语言模型(LLMs),如GPT和Mistral,在软件工程中显示出了潜力,包括测试生成。然而,它们的有效性仍不清楚。本研究首次对LLMs进行了全面调查,评估了四种LLMs和五种提示工程技术在单元测试生成中的有效性。我们分析了从各种数据集中收集的690个Java类的216,300个由选定的先进指令调整的LLMs生成的测试。我们评估了LLM生成的测试的正确性、可理解性、覆盖率和错误检测能力,并将它们与流行的自动化测试工具EvoSuite进行了比较。虽然LLMs显示出潜力,但需要改进测试的正确性。本研究揭示了LLMs相对于传统方法的优点和局限性,为进一步研究LLMs在软件工程中铺平了道路。
- 图表
- 解决问题评估大型语言模型在自动生成单元测试方面的效果,比较其与传统方法的优劣
- 关键思路使用四种大型语言模型和五种提示工程技术生成单元测试,对其正确性、可理解性、覆盖率和缺陷检测能力进行评估,并与EvoSuite进行比较,揭示了大型语言模型在软件工程中的优缺点
- 其它亮点使用了多个数据集,生成了超过21万个测试,发现大型语言模型在测试正确性方面需要改进,但在其他方面表现出潜力,为进一步研究大型语言模型在软件工程中的应用提供了参考
- 其他相关研究包括《Automated Unit Test Generation for Machine Learning Scenarios》、《DeepRoad: GAN-based Metamorphic Autonomous Driving Testing》等
沙发等你来抢
去评论
评论
沙发等你来抢