移动应用 Dogfood 测试技能
用真实设备系统探索移动应用,并生成带截图和复现步骤的缺陷报告。
技能明确限制工具为 agent-device 命令,并要求 OTP/邮箱代码向用户索取,体现了一定的权限和确认意识;但允许启动应用、登录、执行 create/edit/delete 流程、读取日志并写入截图/视频/报告,未说明敏感数据处理、外部数据流、失败回滚或清理策略,因此扣分。
流程、命令和报告模板基本一致,包含重新 snapshot、日志检查和异常状态探索;但依赖 agent-device 未给出版本或安装验证,命令失败、设备不可用、登录失败及模板/目录缺失时缺乏诊断与恢复路径,因此按静态评估不超过10分并扣分。
触发词、目标平台、必填目标应用、认证、范围和输出形式较清楚,且覆盖 iOS/Android;但非适用场景、平台差异、中文交互支持及中国大陆网络可达性没有说明,agent-device 的环境依赖也可能限制使用,因此扣分。
主文档采用 Setup、Workflow、Guidance、References、Templates 分层,并提供问题分类和报告模板;但技能自身没有版本、变更记录、明确维护责任、依赖安装说明、FAQ 或已知限制,部分占位符和路径假设也未解释,因此扣分。
该技能提供了可操作的移动端探索流程、复现步骤和结构化报告模板,理论上可直接产出 QA 报告;但静态材料没有真实运行结果或代表性报告,agent-device 依赖和人工判断仍较多,输出完整性与相对手工测试的收益无法验证,因此扣分。
技能文件、问题分类和报告模板彼此可审计,支持有限的内部交叉核对;但没有覆盖关键路径的测试套件、CI 执行证据、示例成品或第三方复现记录,因此证据强度有限并扣分。
- 执行会修改被测应用状态,包括创建、编辑、删除、提交和登录操作;技能未要求事前确认、测试账号隔离或数据恢复方案。
- 截图、视频和日志可能包含个人信息、凭据或业务数据;未提供脱敏、保留期限或访问控制要求。
- agent-device 的安装、版本、设备连接和网络条件未在技能内验证;命令失败时的错误反馈与恢复步骤不足。
- 未提供静态材料之外的运行证据,因此报告质量、问题发现率和跨 iOS/Android 一致性均需人工验证。
这个 Skill 能做什么,适合哪些场景?
Dogfood 是一个面向 iOS 和 Android 移动应用的探索式测试技能。它使用 agent-device 启动应用、浏览主要流程、检查异常状态,并记录可复现的问题。每个问题都可以附带步骤截图,交互问题还可附带复现视频。适合需要运行时质量验证的移动应用团队,但前提是环境中可用 agent-device。
要求目标应用作为输入,并根据上下文确定或询问平台。它通过 agent-device 创建会话、启动应用、获取快照和截图、执行填充和点击等交互、等待状态变化、检查应用状态及日志,并在发现问题时记录步骤截图和可选复现视频。最终产出包含问题总数、严重程度统计、风险最高发现和复现证据的结构化报告。
- 移动应用开发者在发布前系统检查 iOS 或 Android 的主要导航和核心流程。
- QA 工程师对注册、编辑、提交、删除或恢复等端到端流程进行探索式测试。
- 产品团队验证空状态、加载状态、错误状态、离线状态和权限拒绝等边界体验。
- 需要提交可复现缺陷的团队,为每个运行时问题收集截图、步骤和可选视频。
这个 Skill 有哪些优点和局限?
- 覆盖启动、导航、核心流程和边界状态的系统化移动端探索。
- 为问题保留截图、详细步骤和可选复现视频,强调可复现性。
- 支持 iOS 和 Android,并提供会话、日志和报告收尾流程。
- 依赖 agent-device 以及可运行的目标移动应用和设备环境。
- SKILL.md 使用 Bash(agent-device:*) 和 Bash(npx agent-device:*) 工具权限语法,移植到其他客户端可能需要调整。
- 来源没有证明具体 iOS/Android 版本、设备型号或应用类型的兼容范围。
- 技能明确要求不读取被测应用源代码,因此无法通过静态分析补充运行时证据。
如何安装这个 Skill?
仓库 README 说明可通过 Codex 的 .agents/plugins/marketplace.json 添加其中的插件,也支持克隆仓库后使用其技能文件。该技能实际位于 plugins/vendored/.agents/skills/dogfood/SKILL.md;来源没有提供单独安装 dogfood 技能的命令。使用前需在执行环境中提供 agent-device。
如何使用这个 Skill?
触发示例:"Dogfood Settings on iOS and focus on onboarding"。必须提供目标应用;平台未能从上下文推断时,需要指定 ios 或 android。可额外提供会话名、输出目录、测试范围和认证信息,例如:"Test com.example.app on Android, focus on profile, sign in with [email protected]"。若需要 OTP 或邮件验证码,流程会要求用户提供代码。