AutoRestTest at the SBFT 2026 Tool Competition
AutoRestTest 结合了语义依赖图、多智能体强化学习和大语言模型,通过在一小时的测试预算内有效检测故障并处理 11 个 API 的操作,在 SBFT 2026 REST League 的所有三个评估类别中均荣获第一名。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试测试一台拥有数千种不同商品的巨型自动售货机。这台机器有一个复杂的菜单(即 API),而你既没有蓝图,也没有打开它的钥匙(黑盒测试)。你的目标是通过尝试不同的按键组合,看看这台机器是否会损坏、吐出错误的商品,或者直接崩溃。
这正是 AutoRestTest 所做的事情,只不过它针对的是被称为 REST API 的计算机系统。在最近举行的 SBFT 2026 “REST 联盟”竞赛中,这个工具表现得像一个超级聪明、不知疲倦的机器人测试员,并赢得了所有类别的第一名。
以下是它的工作原理,通过简单的概念进行拆解:
1. 地图:“语义属性依赖图” (Semantic Property Dependency Graph)
把 API 菜单想象成一张巨大的、纠缠在一起的字符串网。有些按钮是相互关联的;如果你按下了“加入购物车”,那么你必须已经先按下了“选择商品”。如果你按下的顺序不对,机器可能会感到困惑。
AutoRestTest 构建了一张这些连接的地图。它使用一套智能系统来阅读菜单,并根据按钮的名字和含义来判断哪些按钮是彼此的“朋友”。在测试过程中,它会实时更新这张地图,学习它所发现的新连接。这确保了它不会在按下那些逻辑上不合理的按钮组合上浪费时间。
2. 团队:四名专业化代理 (Specialized Agents)
AutoRestTest 并不是让一个机器人尝试做所有事情,而是使用了一个由四名专业化代理组成的团队(就像一支拥有不同位置的运动队):
- 操作代理 (The Operation Agent): 决定下一步该按菜单上的哪个按钮。
- 参数代理 (The Parameter Agent): 决定要开启或关闭哪些设置(比如选择“大号”还是“小号”)。
- 数值代理 (The Value Agent): 想出实际要填入槽位的数据(比如输入一个名字或数字)。
- 依赖代理 (The Dependency Agent): 盯着地图,确保团队遵循连接网的规则。
这些代理使用一种称为强化学习 (Reinforcement Learning) 的方法进行学习。这就像训练一只狗:
- 如果机器给出了“成功”消息 (2xx),团队就会得到奖励(零食)。
- 如果机器崩溃或报错 (5xx),团队也会得到奖励,因为发现崩溃正是测试的目的!
- 如果机器只是说“我不理解”,团队则会得到一个温柔的“不”。
随着时间的推移,团队会学会哪些按钮组合最有可能找到错误或让系统正常运转。
3. 大脑:大语言模型 (LLM)
为了填补空白(比如一个用户的名字或日期应该长什么样),该工具使用了大语言模型 (LLM)。把这想象成一位博学多才的助手,了解业务背景。
它不会瞎猜一些毫无意义的内容,而是观察菜单并说:“既然这是一个航班预订系统,那么日期应该呈现为 '2026-04-12' 这种格式。”它会在测试开始前生成这些真实的数值,这样团队在实际比赛中就不必在测试过程中停下来思考。这使得测试过程极其快速且高效。
4. 结果:赢得比赛
在竞赛中,AutoRest-Test 面临着另外五款顶尖的测试工具。它们被要求在 1 小时内测试 11 个不同的真实世界系统,涉及 317 种不同的操作(按钮)。
- 故障检测 (Fault Detection): AutoRestTest 平均每个系统发现了 67 个独特的错误。排名第二的工具仅发现了大约 25 个。这比其他工具好2.5 倍以上。
- 效率 (Efficiency): 它发现这些错误的速度比其他工具快得多。
- 成本 (Cost): 它的运行成本非常低,每个系统每次测试仅需约 0.02 美元。
一个小瑕疵
论文承认它并非完美。在一次涉及航班搜索的具体测试中,由于它假设所有的文本都是以特定格式(UTF-8)编写的,导致工具崩溃了。这就像一位翻译官,虽然英语说得完美无缺,但如果有人换了一种口音说话,他就会感到困惑。作者计划在未来的版本中修复这个问题。
总结
AutoRestTest 就像是一个高度组织化、具备自我学习能力的侦探小队。它绘制了一张规则地图,将工作分配给四名专家,利用智能助手来预测真实的场景,并从每一次成功与失败中学习。其结果是?它比任何其他工具都更快、更便宜、更有效地找到了更多的漏洞。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。