Autonomous QA Agent: A Retrieval-Augmented Framework for Reliable Selenium Script Generation
本文介绍了自主问答代理,这是一种检索增强生成框架,通过将代码生成锚定于项目特定文档和实际 HTML 结构,显著提升了 Selenium 脚本的准确性,其执行成功率达到 90%,而标准大语言模型仅为 30%。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试教一个非常聪明但略显笨拙的机器人如何在一个特定的房子里导航以执行任务,比如“泡一杯咖啡”。
问题:笨拙的机器人
在软件测试的世界里,这个机器人是一个被称为大语言模型(LLM)的人工智能(AI)。如果你要求一个标准的人工智能编写脚本来“点击网站上的购买按钮”,它会尽力而为。然而,由于它没有见过你所说的具体网站,它必须靠猜测。
它可能会猜测按钮的名称是 #submit-button。但在你的实际网站上,按钮的名称是 #btn-pay-now。人工智能正在“产生幻觉”——它编造了一些听起来正确但完全错误的细节。在论文中,这就像机器人试图用一把自己发明的钥匙去开门,而不是用那把真正能打开锁的钥匙。当机器人试图使用这把假钥匙时,脚本就会崩溃,测试也会失败。
解决方案:“自主 QA 代理”
这篇论文的作者构建了一个更智能的系统,称为自主 QA 代理。你可以把这个代理想象成一个机器人,它不只是猜测;它会在开始工作之前先去图书馆阅读蓝图并查看实际的房屋。
以下是它的工作原理,使用一个简单的类比:
图书馆(知识库): 在机器人做任何事情之前,系统会将两样东西放入数字图书馆:
- 指令: 书面需求(如食谱或用户手册)。
- 蓝图: 网站的实际代码结构(HTML),它精确显示了每个按钮和框的位置。
搜索(检索): 当你要求机器人“测试结账流程”时,它不会只是猜测。它会立即搜索其图书馆。它会找到关于“结账”的具体页面,并调出该页面的确切蓝图。它会看到:“啊,‘支付’按钮的 ID 是
btn_pay,而不是submit。”编写(生成): 现在,机器人使用它刚刚找到的真实信息来编写脚本。它不再猜测;它是在遵循地图。
结果:两个机器人之间的竞赛
研究人员在 20 种不同的购物场景(如将商品加入购物车或支付)中,将这种新系统与标准人工智能机器人进行了测试。
- 标准机器人(无图书馆): 它的脚本语法正确(语法很好),但由于靠猜测,它在 70% 的情况下未能找到按钮。它仅在 30% 的测试中成功。
- 自主代理(有图书馆): 因为它查询了真实的按钮名称,它在 90% 的测试中取得了成功。它 100% 地保持了语法正确。
为什么这很重要
论文认为,自动化测试中最大的问题不是人工智能无法编写代码,而是人工智能不知道它需要点击的事物的具体“地址”。通过给人工智能一个“检索增强”系统(一种在说话前查询事实的方法),他们阻止了机器人编造虚假地址。
这篇论文没有声称的内容
重要的是要注意这篇论文没有说什么:
- 它并没有声称这适用于所有类型的软件(如银行或医疗保健应用程序);他们仅在一家虚构的在线商店上进行了测试。
- 它并没有说如果网站明天发生变化,机器人可以自我修复(尽管他们将其作为一个未来的想法提及)。
- 它并没有声称比需要人工设置的昂贵商业工具更好;他们仅将其与没有图书馆的“原始”人工智能进行了比较。
总结
这篇论文提出了一种工具,可以阻止人工智能在测试网站时进行猜测。通过强制人工智能在编写代码之前阅读网站的实际“蓝图”(HTML)和“指令”(文档),该系统创建了真正有效的可靠测试,将一个笨拙的猜测者变成了一个精确的工人。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。