复旦大学计算机学院近日发布了一份名为《大语言模型赋能自动化测试实践、挑战与展望》的研究报告。这份报告由董震教授主导,深入探讨了大语言模型(LLM)在自动化测试领域的应用实践、面临的挑战以及未来的发展方向。报告详细分析了LLM在软件测试全流程中的作用,包括业务逻辑分析、测试输入生成、缺陷预测与分析等多个方面,并分享了基于LLM的等价类划分测试技术、测试输入增强、场景测试用例生成以及跨APP测试用例迁移等实际案例。这些内容不仅展示了LLM在自动化测试中的潜力,也指出了其在实际应用中可能遇到的问题,为自动化测试领域提供了宝贵的见解和指导。
大语言模型赋能自动化测试实践、挑战与展望
随着人工智能技术的飞速发展,大语言模型(LLM)在自动化测试领域展现出了巨大的潜力。复旦大学计算机学院的董震教授在其报告中深入探讨了LLM在自动化测试中的应用、挑战和未来展望,为我们揭示了这一领域的最新进展。
报告首先介绍了大语言模型的演变和应用,强调了LLM在软件测试全流程中的关键作用。从业务逻辑分析到测试用例执行,LLM的应用贯穿了软件测试的各个阶段。特别是在测试输入生成、测试用例生成和Oracle生成等方面,LLM展现出了强大的能力。
在案例分享部分,报告详细讨论了基于LLM的等价类划分测试技术。通过分析程序代码,LLM能够自动划分等价类,并为每个等价类生成测试输入,从而提高测试效率。在第三方开源库的性能测试中,基于LLM的等价类划分测试工具使用更少的输入,达到了更高的覆盖率。这一结果证明了将LLM与等价类划分测试结合可以显著提高测试效率。
报告还探讨了基于LLM的测试输入增强技术。通过语义理解和常识推理能力,LLM能够在现有测试用例的基础上快速生成多样化的输入组合,覆盖更多场景和边界情况。然而,LLM在生成测试输入时也面临挑战,尤其是在理解参数间约束关系方面。报告提出了基于流量数据的大语言模型测试输入增强工具,通过提取参数间约束关系,辅助LLM生成高质量测试输入,从而提高测试的全面性和覆盖率。
在场景测试用例生成方面,报告指出,传统人工编写场景测试用例代码存在效率低下的问题。LLM的自然语言理解和代码生成能力为自动化生成场景测试用例提供了可能。然而,由于测试用例描述文档编写质量参差不齐和API文档维护不及时等问题,LLM直接生成测试用例代码的效果并不理想。报告提出了基于场景流量数据的测试用例生成工具,通过结合LLM对测试用例描述文档的语义理解,生成场景测试用例。实验结果表明,该工具能够大幅提升场景测试用例生成的自动化水平,显著降低了对人工参与的依赖。
跨APP测试用例迁移是报告的另一个重点。在移动应用测试中,如何获取测试用例是一个挑战。报告提出了基于LLM的测试用例迁移方法,通过迁移源应用的测试用例到目标应用,解决了测试用例获取问题。然而,测试用例迁移面临执行流差异和事件不一致两大挑战。报告利用LLM的上下文推理能力和自然语言理解能力,克服了这些挑战,提高了测试用例迁移的成功率。
尽管LLM在自动化测试领域取得了显著进展,但仍面临一些挑战。报告指出,LLM在生成测试内容时可能出现“幻觉”,即生成的内容偏离实际需求或逻辑。此外,LLM倾向于生成常规场景下的合理输出,而边界条件测试往往涉及极端或异常状态,这与模型的常规输出偏好形成矛盾。报告还指出,LLM在生成复杂和不常见输入结构的测试用例时存在困难,且Oracle(预期结果)的生成依赖于完整的文档支持。
展望未来,报告认为LLM赋能自动化测试的潜力巨大。LLM可以赋能传统测试技术,检测业务逻辑相关缺陷,提升搜索效率。随着技术的不断发展,LLM在自动化测试领域的应用将更加广泛和深入。
这篇文章的灵感来自于复旦大学计算机学院董震教授的报告《大语言模型赋能自动化测试实践、挑战与展望》。除了这份报告,还有一些同类型的报告也非常有价值,推荐阅读。这些报告我们都收录在同名星球,可以自行获取。
以上为节选样张,关注公众号【蝉鸣报告】回复领取PDF完整电子版(无广告)。
【蝉鸣报告】每日更新最新硬核报告,覆盖产业报告、全球化、经济报告、趋势等全领域。