On the Effectiveness of LLMs for Manual Test Verifications
作者: Myron David Lucena Campos Peixoto, Davy de Medeiros Baia, Nathalia Nascimento, Paulo Alencar, Baldoino Fonseca, Márcio Ribeiro
分类: cs.SE, cs.AI
发布日期: 2024-09-19
备注: 9 pages
💡 一句话要点
利用大型语言模型生成人工测试验证,提升测试效率与覆盖率
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 人工测试 测试验证 软件测试 自动化测试 AI幻觉 测试用例生成
📋 核心要点
- 人工测试在发现自动化测试遗漏的问题至关重要,但准确指定验证步骤极具挑战性。
- 本研究探索利用大型语言模型自动生成人工测试的验证步骤,旨在提高测试效率和质量。
- 实验结果表明,开源LLM在生成验证方面与闭源模型相当,但测试人员的一致性水平有待提高。
📝 摘要(中文)
本研究旨在探索使用大型语言模型(LLMs)为人工测试生成验证步骤的有效性。我们进行了两项独立且互补的探索性研究。第一项研究使用2个闭源和6个开源LLM,为人工测试步骤生成验证,并评估它们与原始验证的相似性。第二项研究招募了软件测试专业人员,评估他们对生成的验证与原始验证的感知和一致性。结果表明,开源模型Mistral-7B和Phi-3-mini-4k在生成人工测试验证方面的有效性和一致性与闭源模型(如Gemini-1.5-flash和GPT-3.5-turbo)相当。然而,专业测试人员之间的一致性水平略高于40%,表明既有希望也有改进空间。虽然一些LLM生成的验证被认为优于原始验证,但也存在关于AI幻觉的担忧,即验证与预期存在显著偏差。我们贡献了一个包含37,040个测试验证的数据集,这些验证由8个不同的LLM生成。尽管这些模型显示出潜力,但相对适度的40%一致性水平突出了进一步改进的必要性。提高生成验证的准确性、相关性和清晰度对于确保在实际测试场景中更高的可靠性至关重要。
🔬 方法详解
问题定义:论文旨在解决人工测试中验证步骤定义困难的问题。现有方法依赖人工编写,耗时且容易出错,可能导致测试覆盖率不足。因此,需要一种自动化的方法来生成高质量的验证步骤,从而提高测试效率和质量。
核心思路:论文的核心思路是利用大型语言模型的强大生成能力,将测试步骤作为输入,生成相应的验证步骤。通过训练或微调LLM,使其能够理解测试步骤的含义,并生成准确、相关且清晰的验证步骤。这种方法旨在减少人工干预,提高验证步骤的一致性和可靠性。
技术框架:该研究采用了两阶段的实验方法。第一阶段,使用8个不同的LLM(包括闭源和开源模型)为人工测试步骤生成验证。第二阶段,招募软件测试专业人员评估生成的验证与原始验证的相似性和质量。通过对比不同LLM的性能,并收集测试人员的反馈,评估LLM在生成人工测试验证方面的有效性。
关键创新:该研究的关键创新在于探索了大型语言模型在人工测试验证生成方面的应用。与传统的基于规则或模板的方法相比,LLM能够更好地理解测试步骤的语义,并生成更自然、更灵活的验证步骤。此外,该研究还构建了一个包含37,040个测试验证的数据集,为后续研究提供了宝贵的资源。
关键设计:研究中使用了多种LLM,包括闭源模型(如Gemini-1.5-flash和GPT-3.5-turbo)和开源模型(如Mistral-7B和Phi-3-mini-4k)。对于每个LLM,研究人员设计了合适的prompt,将测试步骤作为输入,并要求LLM生成相应的验证步骤。生成的验证步骤随后由软件测试专业人员进行评估,评估指标包括准确性、相关性和清晰度。
🖼️ 关键图片
📊 实验亮点
实验结果表明,开源模型Mistral-7B和Phi-3-mini-4k在生成人工测试验证方面的有效性和一致性与闭源模型Gemini-1.5-flash和GPT-3.5-turbo相当。尽管如此,专业测试人员对LLM生成验证的一致性水平仅略高于40%,表明仍有改进空间,尤其是在减少AI幻觉方面。
🎯 应用场景
该研究成果可应用于软件开发过程中的人工测试环节,通过自动生成验证步骤,降低测试成本,提高测试效率和覆盖率。此外,该技术还可用于自动化测试用例生成,从而进一步提升软件质量。未来,该研究可扩展到其他类型的测试,如性能测试和安全测试。
📄 摘要(原文)
Background: Manual testing is vital for detecting issues missed by automated tests, but specifying accurate verifications is challenging. Aims: This study aims to explore the use of Large Language Models (LLMs) to produce verifications for manual tests. Method: We conducted two independent and complementary exploratory studies. The first study involved using 2 closed-source and 6 open-source LLMs to generate verifications for manual test steps and evaluate their similarity to original verifications. The second study involved recruiting software testing professionals to assess their perception and agreement with the generated verifications compared to the original ones. Results: The open-source models Mistral-7B and Phi-3-mini-4k demonstrated effectiveness and consistency comparable to closed-source models like Gemini-1.5-flash and GPT-3.5-turbo in generating manual test verifications. However, the agreement level among professional testers was slightly above 40%, indicating both promise and room for improvement. While some LLM-generated verifications were considered better than the originals, there were also concerns about AI hallucinations, where verifications significantly deviated from expectations. Conclusion: We contributed by generating a dataset of 37,040 test verifications using 8 different LLMs. Although the models show potential, the relatively modest 40% agreement level highlights the need for further refinement. Enhancing the accuracy, relevance, and clarity of the generated verifications is crucial to ensure greater reliability in real-world testing scenarios.