通过结构化缺陷报告、截图和视频,自动化执行任意 Web 应用的探索式 QA。dogfood 会驱动 agent-browser 客户端探索目标站点,发现视觉、功能、UX、性能、console 和可访问性问题,并输出带有清晰复现步骤的、可直接分享的 QA 报告。

Stars2.5万
收藏0
评论0
分类测试自动化
安装命令
npx skills add https://github.com/vercel-labs/agent-browser --skill dogfood
概览

Overview

What the dogfood skill does

dogfood 技能使用 agent-browser 客户端自动化执行 Web 应用的探索式测试。它会有步骤地探索目标网站或应用,从视觉 UI、功能、UX、性能、console 到可访问性等多个维度寻找缺陷,并生成包含以下内容的结构化 QA 报告

  • 清晰的缺陷标题和分类
  • 严重程度级别(critical、high、medium、low)
  • 其他同事可以直接跟随的复现步骤
  • 按步骤排列的截图
  • 在需要时,为交互类问题生成复现视频

当你被要求去“dogfood”“做 QA”“exploratory test”“bug hunt”或“测试这个 app/site/platform”,并且需要可以直接交付给工程师、设计师或产品经理的证据时,dogfood 尤其有用。

Who dogfood is for

在以下场景中适合使用 dogfood 技能:

  • QA 工程师和 SDET,希望有可重复的探索式运行和丰富的复现证据。
  • 前端和全栈工程师,需要在发布前对改动做 sanity check。
  • 产品经理和设计师,需要快速获得带实例的 UX 和 UI 反馈。
  • 创业公司和小团队,没有专职 QA,但仍然需要系统化地发现问题。

When dogfood is a good fit

以下情况 dogfood 非常适合:

  • 你的目标是一个基于浏览器的 Web 应用或网站(公网域名或 localhost)。
  • 你希望端到端地探索关键流程,而不是只跑一条固定脚本用例。
  • 你同样在意 UX 和 UI 打磨,而不仅仅是功能性 bug。
  • 你需要可分享的输出(截图、视频和 markdown 报告),可以直接接入现有工作流。

以下情况则不太适合:

  • 你的主要目标是纯后端 API,没有浏览器界面。
  • 你只需要 unit test 或底层集成测试,而不是面向真实用户行为的检查。
  • 你需要正式的压测或超出探索式交互能力范围的合成性能指标。

How dogfood works at a high level

vercel-labs/agent-browser 仓库中,dogfood 会用如下配置驱动 agent-browser 客户端:

  • 在浏览器中要打开的 target URL
  • 可选的 session 命名scopeoutput directory
  • 在需要登录时,可选的 authentication steps
  • 用于保持发现结果一致性的参考 issue taxonomyreferences/issue-taxonomy.md
  • 用于组织最终 QA 报告结构的 report templatetemplates/dogfood-report-template.md

随后,该技能会驱动浏览器走过关键用户流程,在发现问题的同时捕获截图和视频,并以统一的格式记录下来。

How to Use

Prerequisites

要高效使用 dogfood,你需要:

  • 能访问 vercel-labs/agent-browser 仓库中的 agent-browser 客户端
  • 被测应用或站点的 URL,如 https://example.comhttp://localhost:3000
  • (可选)如果应用需要登录,则准备测试账号

该技能围绕上游文档中提到的直接 agent-browser binary 设计,而不是 npx agent-browser。这样可以充分利用 Rust 客户端的高性能。

Installing the dogfood skill

在你的 agent skills 环境中通过以下命令安装该技能:

npx skills add https://github.com/vercel-labs/agent-browser --skill dogfood

这会从 vercel-labs/agent-browser 仓库中的 skills/dogfood 拉取 dogfood 技能定义,包括:

  • SKILL.md – 主要说明和运行时预期
  • references/issue-taxonomy.md – 如何对问题进行一致的分类
  • templates/dogfood-report-template.md – 最终报告的 markdown 模板

安装完成后,在 Files 选项卡或本地仓库中打开这些文件,在首次运行前先行了解。

Core configuration: required and optional inputs

dogfood 技能提供合理默认值,方便你快速启动测试。

必填参数

  • Target URL – 你想要 dogfood 的 Web 应用或网站
    示例:vercel.comhttps://example.comhttp://localhost:3000

带默认值的可选参数

  • Session name
    默认值:域名的 slug 形式(如 vercel.comvercel-com
    自定义示例:--session my-first-dogfood-run

  • Output directory
    默认值:./dogfood-output/
    自定义示例:Output directory: /tmp/qa

  • Scope
    默认值:整个应用
    自定义示例:Focus on the billing pageOnly test onboarding and settingsIgnore marketing pages

  • Authentication
    默认值:无
    自定义示例:Sign in to user@example.com(你再通过常用的安全渠道提供账号密码)

如果有人说“dogfood vercel.com”,该技能的目标是直接用默认配置启动,只有在需要登录但没有提供账号时,才会停下来询问补充信息。

Typical dogfood workflow

可以参考下面的流程来稳定地开始每一次 Web 应用测试:

1. Initialize a dogfood session

先决定本次要覆盖的范围,以及结果要存放在哪里。例如你可以:

  • 选择一个 target URL(本地开发环境如 http://localhost:3000,或某个 staging 域名)。
  • 可选地指定一个 session name,区分不同的运行。
  • 如需将结果存入共享目录,可自定义 output directory

然后在启用 dogfood 技能的前提下运行你的 agent,并按照 SKILL.md 中的说明在 prompt 或配置中提供上述参数。

2. Authenticate if needed

如果应用需要登录:

  • 提供清晰指令,例如:Sign in to qa-user@example.com
  • 确保通过你的常规安全流程提供测试账号。

dogfood 会将登录视为探索流程的一部分,从而在登录后的页面也能发现问题。

3. Explore key user journeys

在选定的 scope 内,dogfood 会驱动浏览器覆盖典型用户路径,例如:

  • 新用户 onboarding 或注册流程
  • 登录和账号管理
  • 核心产品操作(创建、编辑、删除实体)
  • 在主要模块之间导航
  • 设置、计费或个人资料页面

探索过程中,它会使用 references/issue-taxonomy.md 中的 issue taxonomy,持续发现并统一归类问题。

4. Capture issues with evidence

对于每个发现的问题,dogfood 会尽量收集:

  • 简明、清晰的 issue title
  • Severity:critical、high、medium、low
  • Category:visual、functional、ux、content、performance、console、accessibility
  • 问题出现的 URL
  • Repro video 路径(针对交互类问题),静态问题则为 N/A
  • Step-by-step screenshots,方便任何人按图操作

这些结构与 templates/dogfood-report-template.md 中的格式保持一致。

5. Generate the dogfood report

探索结束后,该技能会基于 templates/dogfood-report-template.md 输出一份 markdown 报告:

  • 带有不同严重程度计数的 summary table
  • 详细的 Issues 部分,每个问题都包含描述及带截图标注的复现步骤

你可以把这份报告放在代码仓库里、附到工单里,或直接分享给团队成员。

Customizing dogfood for your workflow

虽然默认配置开箱即用,你仍可以根据自己的 QA 流程对 dogfood 做一些适配:

  • 使用团队统一的 output directory,如 /tmp/qa 或共享网络盘。
  • 收窄 scope,聚焦计费、checkout 或新功能等高风险区域。
  • 通过阅读和引用 references/issue-taxonomy.md,将严重程度和分类定义与团队内 QA 标准对齐。
  • 对生成的 markdown 报告做后处理:将单个问题复制到缺陷管理系统,或直接附上整份报告。

Files worth reviewing in the repository

如果想深入理解 dogfood 技能,建议优先查看:

  • SKILL.md – 权威说明文件,描述技能行为以及可调用的工具。
  • references/issue-taxonomy.md – 定义严重程度、问题分类和探索检查清单,帮助多次运行之间保持一致。
  • templates/dogfood-report-template.md – 展示最终报告中问题和 session 概览的具体格式。

FAQ

Is dogfood a unit test or end-to-end test framework?

不是。dogfood 技能主要面向 Web 应用的探索式、用户中心 QA。它通过 agent-browser 驱动浏览器,模拟人工测试者的行为,探索各种流程并记录带证据的缺陷。它不会取代unit test、integration test 或代码级测试框架,而是通过捕捉视觉、UX 和交互问题,起到互补作用。

What kinds of issues can dogfood detect?

Dogfood 围绕 references/issue-taxonomy.md 中定义的 issue taxonomy 设计,鼓励你记录如下问题:

  • Visual / UI issues:布局错乱、文本重叠、响应式异常、颜色对比不足、图标或图片显示错误等。
  • Functional bugs:链接失效、按钮无响应、表单提交失败、错误跳转、状态丢失、文件上传/下载异常等。
  • UX issues:导航混乱、缺少反馈、标签不清晰、交互迟钝或无响应等。
  • Content issues:拼写错误、术语不一致、文案过时等。
  • Performance issues:探索过程中明显感知到页面或交互缓慢。
  • Console issues:使用过程中浏览器 console 中出现的报错或警告。
  • Accessibility issues:缺少 alt 文本、存在键盘陷阱、焦点管理不佳等可观察到的问题。

通过该 taxonomy,可以让不同 dogfood session 之间更系统、更可对比。

How do I start a quick dogfood run against a new site?

当有人说“dogfood example.com”时,你可以这样操作:

  1. 确认已从 vercel-labs/agent-browser 安装 dogfood 技能。
  2. 调用你的 agent,启用 dogfood 技能,并仅提供 Target URL
  3. 让技能使用其 默认设置:session name、scope(整个应用)和 output directory,除非你有特定的自定义需求。

这样就能立即开始测试,无需冗长的配置过程。

Does dogfood require authentication to work?

不需要。对于无需登录的公共站点和营销页面,dogfood 可以直接工作。

如果你的应用在关键流程中需要登录,你应该:

  • 明确说明需要 authentication(例如:Sign in to user@example.com)。
  • 通过惯用的安全渠道提供账号凭据。

之后,该技能会把登录当作 session 的一部分,从而探索登录后的受保护区域。

Where can I see how issues are categorized and reported?

vercel-labs/agent-browser 仓库中,有两个关键参考:

  • references/issue-taxonomy.md – 解释 severity levelsissue categories,并提供 exploration checklist
  • templates/dogfood-report-template.md – 展示 Dogfood Report 的结构,包括概要表、以及每个问题块的字段,如 Severity、Category、URL、Repro Video、Description 和带截图的 Repro Steps。

在首次运行前阅读这些文件,有助于你理解并按需定制 dogfood 技能生成的报告。

When is dogfood not the right tool?

在以下场景中,dogfood 并不是理想工具:

  • 你要测试的是 非浏览器系统(CLI 工具、桌面应用、后端服务),agent-browser 无法与之交互。
  • 你需要的是压测合成性能指标,而不是基于主观体验的性能观察。
  • 你希望在 CI 流水线中嵌入高度细粒度、代码驱动的测试;这时应使用传统测试框架,并将 dogfood 作为补充。

在这些情况下,应将 dogfood 视为一个关注真实浏览器行为的可选补充层,而不是其他测试工具的替代品。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...