dogfood

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Dogfood (agent-device)

Dogfood (agent-device)

Systematically explore a mobile app, find issues, and produce a report with full reproduction evidence for every finding.
系统地探索移动应用,查找问题,并为每一项发现生成带有完整复现证据的报告。

Setup

配置要求

Only the Target app is required. Everything else has sensible defaults.
ParameterDefaultExample override
Target app(required)
Settings
,
com.example.app
, deep link URL
PlatformInfer from user context; otherwise ask (
ios
or
android
)
--platform ios
Session nameSlugified app/platform (for example
settings-ios
)
--session my-session
Output directory
./dogfood-output/
Output directory: /tmp/mobile-qa
ScopeFull app
Focus on onboarding and profile
AuthenticationNone
Sign in to user@example.com
If the user gives enough context to start, begin immediately with defaults. Ask follow-up only when a required detail is missing (for example platform or credentials).
Prefer direct
agent-device
binary when available.
仅需提供目标应用即可,其余所有参数都有合理的默认值。
参数默认值覆盖示例
目标应用(必填)
Settings
,
com.example.app
, 深度链接URL
平台从用户上下文推断,否则主动询问(
ios
android
--platform ios
会话名称应用/平台的slug化名称(例如
settings-ios
--session my-session
输出目录
./dogfood-output/
输出目录: /tmp/mobile-qa
测试范围完整应用重点测试新用户引导和个人资料模块
身份验证登录账号 user@example.com
如果用户提供的上下文足够启动任务,则直接使用默认值开始。仅当缺少必填信息(例如平台或登录凭证)时才跟进询问用户。
优先使用可用的原生
agent-device
二进制文件。

Workflow

工作流程

1. Initialize    Set up session, output dirs, report file
2. Launch/Auth   Open app and sign in if needed
3. Orient        Capture initial snapshot and map navigation
4. Explore       Systematically test flows and states
5. Document      Record reproducible evidence per issue
6. Wrap up       Reconcile summary, close session
1. 初始化    配置会话、输出目录、报告文件
2. 启动/验证   打开应用,如有需要完成登录
3. 定位        捕获初始快照,梳理导航路径
4. 探索测试       系统地测试流程和状态
5. 记录文档      为每个问题记录可复现的证据
6. 收尾       汇总摘要,关闭会话

1. Initialize

1. 初始化

bash
mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md
bash
mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md

2. Launch/Auth

2. 启动/身份验证

Start a named session and launch target app:
bash
agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}
agent-device --session {SESSION} snapshot -i
If login is required:
bash
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} fill @e1 "{EMAIL}"
agent-device --session {SESSION} fill @e2 "{PASSWORD}"
agent-device --session {SESSION} press @e3
agent-device --session {SESSION} wait 1000
agent-device --session {SESSION} snapshot -i
For OTP/email codes: ask the user, wait for input, then continue.
启动命名会话并打开目标应用:
bash
agent-device --session {SESSION} open {TARGET_APP} --platform {PLATFORM}
agent-device --session {SESSION} snapshot -i
如果需要登录:
bash
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} fill @e1 "{EMAIL}"
agent-device --session {SESSION} fill @e2 "{PASSWORD}"
agent-device --session {SESSION} press @e3
agent-device --session {SESSION} wait 1000
agent-device --session {SESSION} snapshot -i
如果需要OTP/邮箱验证码:询问用户,等待输入后再继续。

3. Orient

3. 定位

Capture initial evidence and navigation anchors:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/initial.png
agent-device --session {SESSION} snapshot -i
Map top-level navigation, tabs, and key workflows before deep testing.
捕获初始证据和导航锚点:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/initial.png
agent-device --session {SESSION} snapshot -i
在深度测试前先梳理顶层导航、标签页和核心工作流。

4. Explore

4. 探索测试

Read references/issue-taxonomy.md for severity/category calibration.
Strategy:
  • Move through each major app area (tabs, drawers, settings pages).
  • Test core journeys end-to-end (create, edit, delete, submit, recover).
  • Validate edge states (empty/error/loading/offline/permissions denied).
  • Use
    diff snapshot -i
    after UI transitions to avoid stale refs.
  • Periodically capture
    logs path
    and inspect the app log when behavior looks suspicious.
Useful commands per screen:
bash
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/{screen-name}.png
agent-device --session {SESSION} appstate
agent-device --session {SESSION} logs path
查看 references/issue-taxonomy.md 了解严重程度/分类校准规则。
测试策略:
  • 遍历应用的每个主要区域(标签页、侧边栏、设置页面)。
  • 端到端测试核心流程(创建、编辑、删除、提交、恢复)。
  • 验证边缘状态(空状态/错误/加载/离线/权限被拒绝)。
  • UI切换后使用
    diff snapshot -i
    避免引用过时。
  • 行为异常时定期抓取
    logs path
    并检查应用日志。
每个页面的常用命令:
bash
agent-device --session {SESSION} snapshot -i
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/{screen-name}.png
agent-device --session {SESSION} appstate
agent-device --session {SESSION} logs path

5. Document Issues (Repro-First)

5. 记录问题(复现优先)

Explore and document in one pass. When you find an issue, stop and fully capture evidence before continuing.
探索和记录同步进行。发现问题时先暂停探索,完整捕获证据后再继续。

Interactive/behavioral issues

交互/行为类问题

Use video + step screenshots:
  1. Start recording:
bash
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
  1. Reproduce with visible pacing. Capture each step:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1
使用视频+步骤截图:
  1. 开始录制:
bash
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4
  1. 以可见的节奏复现问题,捕获每个步骤:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1

perform action

执行操作

sleep 1 agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png

3. Capture final broken state:

```bash
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
  1. Stop recording:
bash
agent-device --session {SESSION} record stop
  1. Append issue immediately to report with numbered steps and screenshot references.
sleep 1 agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png

3. 捕获最终异常状态:

```bash
sleep 2
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
  1. 停止录制:
bash
agent-device --session {SESSION} record stop
  1. 立即将问题附到报告中,包含编号步骤和截图引用。

Static/on-load issues

静态/加载类问题

Single screenshot is sufficient; no video required:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.png
Set Repro Video to
N/A
in the report.
单张截图即可,无需录制视频:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.png
在报告中将「复现视频」字段设为
N/A

6. Wrap Up

6. 收尾

Target 5-10 well-evidenced issues, then finish:
  1. Reconcile summary severity counts in
    report.md
    .
  2. Close session:
bash
agent-device --session {SESSION} close
  1. Report total issues, severity breakdown, and highest-risk findings.
找到5-10个证据充分的问题后即可结束测试:
  1. report.md
    中汇总问题严重程度统计。
  2. 关闭会话:
bash
agent-device --session {SESSION} close
  1. 报告问题总数、严重程度分布,以及最高风险的发现。

Guidance

使用指南

  • Repro quality matters more than issue count.
  • Use refs (
    @eN
    ) for fast exploration, selectors for deterministic replay assertions when needed.
  • Re-snapshot after any mutation (navigation, modal, list update, form submit).
  • Use
    fill
    for clear-then-type semantics; use
    type
    for incremental typing behavior checks.
  • Keep logs optional and targeted: enable/read app logs only when useful for diagnosis.
  • Never read source code of the app under test; findings must come from observed runtime behavior.
  • Write each issue immediately to avoid losing evidence.
  • Never delete screenshots/videos/report artifacts during a session.
  • 复现质量比问题数量更重要。
  • 快速探索时使用引用(
    @eN
    ),需要确定性重放断言时使用选择器。
  • 任何变更(导航、弹窗、列表更新、表单提交)后都需要重新生成快照。
  • 输入内容时
    fill
    会先清空再输入,要测试增量输入行为请使用
    type
  • 日志为可选且按需启用:仅当对诊断有帮助时才启用/读取应用日志。
  • 永远不要读取被测应用的源代码;所有发现必须来自观察到的运行时行为。
  • 立即记录每个问题,避免证据丢失。
  • 会话期间永远不要删除截图/视频/报告产物。

References

参考文档

ReferenceWhen to Read
references/issue-taxonomy.mdStart of session; severity/categories/checklist
参考文档阅读时机
references/issue-taxonomy.md会话开始时;查看严重程度/分类/检查清单

Templates

模板

TemplatePurpose
templates/dogfood-report-template.mdCopy into output directory as the report file
模板用途
templates/dogfood-report-template.md复制到输出目录作为报告文件