dogfood
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDogfood (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.
| Parameter | Default | Example override |
|---|---|---|
| Target app | (required) | |
| Platform | Infer from user context; otherwise ask ( | |
| Session name | Slugified app/platform (for example | |
| Output directory | | |
| Scope | Full app | |
| Authentication | None | |
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 binary when available.
agent-device仅需提供目标应用即可,其余所有参数都有合理的默认值。
| 参数 | 默认值 | 覆盖示例 |
|---|---|---|
| 目标应用 | (必填) | |
| 平台 | 从用户上下文推断,否则主动询问( | |
| 会话名称 | 应用/平台的slug化名称(例如 | |
| 输出目录 | | 输出目录: /tmp/mobile-qa |
| 测试范围 | 完整应用 | 重点测试新用户引导和个人资料模块 |
| 身份验证 | 无 | 登录账号 user@example.com |
如果用户提供的上下文足够启动任务,则直接使用默认值开始。仅当缺少必填信息(例如平台或登录凭证)时才跟进询问用户。
优先使用可用的原生二进制文件。
agent-deviceWorkflow
工作流程
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 session1. 初始化 配置会话、输出目录、报告文件
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.mdbash
mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md2. 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 -iIf 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 -iFor 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 -iMap 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 after UI transitions to avoid stale refs.
diff snapshot -i - Periodically capture and inspect the app log when behavior looks suspicious.
logs path
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 path5. 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:
- Start recording:
bash
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4- Reproduce with visible pacing. Capture each step:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1使用视频+步骤截图:
- 开始录制:
bash
agent-device --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.mp4- 以可见的节奏复现问题,捕获每个步骤:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1perform 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- Stop recording:
bash
agent-device --session {SESSION} record stop- 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- 停止录制:
bash
agent-device --session {SESSION} record stop- 立即将问题附到报告中,包含编号步骤和截图引用。
Static/on-load issues
静态/加载类问题
Single screenshot is sufficient; no video required:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.pngSet Repro Video to in the report.
N/A单张截图即可,无需录制视频:
bash
agent-device --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}.png在报告中将「复现视频」字段设为。
N/A6. Wrap Up
6. 收尾
Target 5-10 well-evidenced issues, then finish:
- Reconcile summary severity counts in .
report.md - Close session:
bash
agent-device --session {SESSION} close- Report total issues, severity breakdown, and highest-risk findings.
找到5-10个证据充分的问题后即可结束测试:
- 在中汇总问题严重程度统计。
report.md - 关闭会话:
bash
agent-device --session {SESSION} close- 报告问题总数、严重程度分布,以及最高风险的发现。
Guidance
使用指南
- Repro quality matters more than issue count.
- Use refs () for fast exploration, selectors for deterministic replay assertions when needed.
@eN - Re-snapshot after any mutation (navigation, modal, list update, form submit).
- Use for clear-then-type semantics; use
fillfor incremental typing behavior checks.type - 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
参考文档
| Reference | When to Read |
|---|---|
| references/issue-taxonomy.md | Start of session; severity/categories/checklist |
| 参考文档 | 阅读时机 |
|---|---|
| references/issue-taxonomy.md | 会话开始时;查看严重程度/分类/检查清单 |
Templates
模板
| Template | Purpose |
|---|---|
| templates/dogfood-report-template.md | Copy into output directory as the report file |
| 模板 | 用途 |
|---|---|
| templates/dogfood-report-template.md | 复制到输出目录作为报告文件 |