摘要 - 软件测试是软件开发的至关重要但耗时的方面,最近,大型语言模型(LLMS)已广受欢迎,可以自动化测试案例生成。但是,由于LLM经过大量开源代码培训,因此它们通常会生成不遵守最佳实践的测试用例,甚至可能含有测试气味(反patterns)。为了解决这个问题,我们提出了从静态质量指标(RLSQM)学习的强化学习,其中我们利用强化学习来基于基于静态分析的质量指标来生成高质量的单元测试。首先,我们分析了LLM生成的测试,并表明LLMS经常会产生不良的测试气味 - 大约37%。然后,我们使用此奖励模型实施了基于静态分析的轻量分析奖励模型和训练有素的LLM,以优化五个代码质量指标。我们的实验结果表明,与基本LLM相比,RL优化的Codex模型始终生成更高的测试用例,将质量指标提高了23%,并生成了近100%的语法校正代码。RLSQM在所有代码质量指标上也均优于GPT-4,尽管培训了基本更便宜的法典模型。我们提供了有关如何可靠地利用RL来提高测试发电质量的见解,并表明RLSQM是提高自动软件测试的整体效率和可靠性的重要一步。我们的数据可在以下链接上获得:https://doi.org/10.6084/m9.figshare.25983166。
主要关键词