Autonomous QA Agent: A Retrieval-Augmented Framework for Reliable Selenium Script Generation
作者: Dudekula Kasim Vali
分类: cs.SE, cs.AI
发布日期: 2025-11-28
备注: 13 figures, 3 tables
💡 一句话要点
提出Autonomous QA Agent,利用RAG提升Selenium脚本生成的可靠性
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 自动化测试 Selenium脚本生成 检索增强生成 大型语言模型 UI测试
📋 核心要点
- 现有软件测试中,将需求转化为可执行测试脚本的过程依赖手动,易出错,效率低。
- Autonomous QA Agent利用RAG框架,通过检索项目文档和HTML结构,为LLM提供上下文信息,减少“幻觉”。
- 实验表明,该方法在电商测试场景中,显著提升了Selenium脚本的语法有效性和执行成功率。
📝 摘要(中文)
软件测试在软件开发生命周期中至关重要,但将需求转化为可执行的测试脚本仍然是手动且容易出错的。大型语言模型(LLM)虽然可以生成代码,但经常会产生不存在的UI元素(幻觉)。我们提出了Autonomous QA Agent,这是一个检索增强生成(RAG)系统,它将Selenium脚本的生成建立在项目特定的文档和HTML结构之上。通过将各种格式(Markdown、PDF、HTML)的数据导入到向量数据库中,我们的系统在生成之前检索相关的上下文。在20个电子商务测试场景中的评估表明,我们的RAG方法实现了100%(20/20)的语法有效性和90%(18/20,95%置信区间:[85%, 95%],p < 0.001)的执行成功率,而标准LLM生成的成功率仅为30%。虽然我们的评估仅限于单个领域,但我们的方法通过将生成建立在实际DOM结构之上,显著减少了幻觉,证明了RAG在自动化UI测试中的潜力。
🔬 方法详解
问题定义:现有方法,特别是直接使用LLM生成Selenium脚本,容易产生“幻觉”,即生成代码中包含不存在的UI元素,导致脚本无法执行。这源于LLM缺乏对特定项目UI结构的了解,无法准确映射需求到实际的DOM元素。
核心思路:核心在于利用检索增强生成(RAG)框架,在LLM生成脚本之前,先从项目相关的文档和HTML结构中检索相关信息,为LLM提供必要的上下文知识。这样可以显著减少LLM的“幻觉”,提高生成脚本的准确性和可靠性。
技术框架:Autonomous QA Agent包含以下几个主要模块:1) 文档摄取模块:负责将各种格式(Markdown、PDF、HTML)的项目文档导入系统。2) 向量数据库:用于存储文档的向量表示,支持高效的相似性检索。3) 检索模块:根据用户需求,从向量数据库中检索相关的文档片段。4) 生成模块:利用LLM,结合检索到的上下文信息,生成Selenium脚本。
关键创新:关键创新在于将RAG框架应用于Selenium脚本生成,通过检索项目特定信息来增强LLM的生成能力。与直接使用LLM相比,该方法能够显著减少“幻觉”,提高脚本的可靠性。
关键设计:文档摄取模块需要能够处理多种文档格式,并将其转换为统一的向量表示。向量数据库的选择需要考虑检索效率和存储成本。检索模块需要设计合适的相似性度量方法,以准确找到相关的文档片段。生成模块可以使用各种LLM,并需要设计合适的prompt,以引导LLM生成高质量的Selenium脚本。
🖼️ 关键图片
📊 实验亮点
在20个电子商务测试场景中,Autonomous QA Agent的RAG方法实现了100%的语法有效性和90%的执行成功率(95%置信区间:[85%, 95%],p < 0.001),而标准LLM生成的成功率仅为30%。这表明该方法能够显著提高Selenium脚本生成的可靠性。
🎯 应用场景
该研究成果可应用于各种软件的自动化UI测试,尤其是在Web应用测试领域。通过自动生成可靠的Selenium脚本,可以显著降低测试成本,提高测试效率,并加速软件开发周期。未来,该方法可以扩展到其他类型的自动化测试,例如移动应用测试和API测试。
📄 摘要(原文)
Software testing is critical in the software development lifecycle, yet translating requirements into executable test scripts remains manual and error-prone. While Large Language Models (LLMs) can generate code, they often hallucinate non-existent UI elements. We present the Autonomous QA Agent, a Retrieval-Augmented Generation (RAG) system that grounds Selenium script generation in project-specific documentation and HTML structure. By ingesting diverse formats (Markdown, PDF, HTML) into a vector database, our system retrieves relevant context before generation. Evaluation on 20 e-commerce test scenarios shows our RAG approach achieves 100% (20/20) syntax validity and 90% (18/20, 95% CI: [85%, 95%], p < 0.001) execution success, compared to 30% for standard LLM generation. While our evaluation is limited to a single domain, our method significantly reduces hallucinations by grounding generation in actual DOM structure, demonstrating RAG's potential for automated UI testing.