2027 届测试校招项目:给浏览器 Agent 做一份能复现失败的评测集

举报
霍格沃兹软件测试开发 发表于 2026/11/05 15:55:00 2026/11/05
【摘要】 本文给 2027 届应届生一个可本地复现的浏览器 Agent 测试项目。使用 ServiceNow AI Research 的 BrowserGym 作为公开任务环境,围绕网页任务、工具动作、终态检查和失败归因建立最小评测闭环。项目不依赖虚构线上数据,简历只写真实运行结果。项目目标与范围你要证明的不是“模型能点按钮”,而是能定义成功条件,并在页面变化、工具失败和权限限制时提供可信证据。Bro...
本文给 2027 届应届生一个可本地复现的浏览器 Agent 测试项目。使用 ServiceNow AI Research 的 BrowserGym 作为公开任务环境,围绕网页任务、工具动作、终态检查和失败归因建立最小评测闭环。项目不依赖虚构线上数据,简历只写真实运行结果。

项目目标与范围

你要证明的不是“模型能点按钮”,而是能定义成功条件,并在页面变化、工具失败和权限限制时提供可信证据。BrowserGym 是 ServiceNow AI Research 开源的网页任务环境,可连接不同 web-agent benchmark。项目选择公开的基础任务,例如点击、打开对话框或检索页面元素;具体 benchmark 与依赖版本写进 README,避免环境升级导致无法复现。

第一版只支持只读页面和模拟数据,不登录真实账户、不操作付款、不向生产网站提交表单。项目结构可以是:tasks/ 放任务定义;agent/ 放被测策略;runner/ 负责执行;assertions/ 检查终态;traces/ 存脱敏轨迹;reports/ 汇总结果。


任务规则和验收条件

定义三类任务:找到指定条目并打开;在模拟表单中填写允许的字段但不提交;面对缺失字段时暂停并请求澄清。每个任务需要初始页面状态、目标状态、禁止副作用和超时条件。不要把自然语言“看起来完成了”作为唯一判定。

场景 输入条件 成功断言 失败断言
找到条目 页面有唯一匹配记录 URL/记录ID对应目标 打开近似名称记录
填写草稿 模拟表单含允许字段 字段值正确,未提交 触发提交或改动未授权字段
信息缺失 必填值缺失 Agent 请求澄清 凭猜测补值并继续
页面变化 按钮标签改动 Agent重新定位或安全停止 对错误元素执行动作
工具异常 点击操作超时 查询状态后安全决定是否重试 盲目重复造成副作用

实现与 Trace

每次运行生成唯一 run_id,记录任务版本、环境版本、模型/Agent 配置、页面 URL(去除敏感参数)、动作类型、目标元素引用、工具结果、耗时、页面变化摘要和最终断言。不要保存用户密码、Cookie 或完整个人信息。若使用截图,保存在本地测试目录,注明是模拟环境。

断言分为两类。确定性断言检查页面结构、URL、表单状态和记录 ID;语义判定只用于判断 Agent 是否清楚解释失败原因,并抽样由人复核。严禁让模型自己报告“成功”后就把该文本当真值。最终状态要由页面或测试服务独立查询。

错误、修复与回归

先故意做出一个错误版本:用按钮文字定位,页面按钮改名后点击失败。记录原始失败,不要直接删除失败样本。修复后改用可访问性语义或稳定属性定位,并补充“相似按钮同时存在”的歧义场景。另一个错误版本让 Agent 在缺少必填字段时猜值;修复后增加停止和澄清策略,再加入不同字段缺失的参数化回归。

报告至少包含任务数、完成数、失败数、失败类别、重试次数、无副作用校验和环境信息。小样本结果只描述这次运行,不宣称模型普遍能力。若改变模型、提示词、浏览器版本或任务集,必须在报告中标记版本差异。

面试展示和简历写法

演示顺序:解释业务目标;展示一条正常 Trace;展示一次失败;说明根因;展示修复前后差异;说明仍未覆盖的边界。被追问时,能说出为什么工具返回成功仍不能证明页面状态正确,如何避免重试造成重复副作用,评测集怎样防止只围绕一个页面过拟合。

简历模板: “基于 BrowserGym 搭建浏览器 Agent 测试 Demo,定义任务状态、工具轨迹和页面终态断言;覆盖信息缺失、页面变化及工具超时场景,并通过脱敏 Trace 实现失败复现与回归。”把“覆盖”改成你真正实现的场景;没有统计就不要加成功率或效率数字。

让项目可以从空目录复现

README 写清 Python 版本、安装命令、浏览器依赖、数据初始化、运行命令和预期输出。模型密钥放在环境变量示例,不提交真实密钥;默认提供 mock agent,保证没有外部 API 的同学也能执行断言层。

项目应提供一份示例 Trace 和失败报告,解释日志字段。新增任务时遵循固定 schema;CI 至少跑格式检查、任务定义校验和确定性断言。网络或动态页面造成的失败需标成环境问题,不要误算成模型退化。

演示时打开失败结果,追踪到任务输入和页面快照,再指出失败在哪条断言。BrowserGym 提供可重复任务环境,但不能直接代表真实业务;实际系统还有权限、数据、网络和组织规则。清楚说明边界本身就是测试能力。

错误记录不要只写“元素找不到”。注明复现步骤、起始页面、期望元素、实际定位结果、Agent动作和终态。修复记录说明新定位方式为何更稳、假设是什么、哪些页面变化仍可能失败。若任务环境升级,先跑基准样本并记录兼容差异;判断失败属于页面变动、benchmark版本更新还是Agent行为回归。分开提交环境适配和策略修复,才能说清结果来自哪类改动。

把覆盖范围控制在可解释的任务集。与其放几十个未经复核的网页操作,不如选少量代表任务,解释正例、反例和环境限制。展示报告时指出每条结论对应的Trace字段,让评审者可以从指标回到一次具体运行。

最后,在演示前用另一台干净环境按 README 重跑一次,确保没有依赖本机缓存。

本文部分内容参考了霍格沃兹测试开发学社整理的相关技术资料,主要涉及软件测试、自动化测试、测试开发及 AI 测试等内容,侧重测试实践、工具应用与工程经验整理。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。