SuperAPI AI 工具集

testing-changes

测试与质量

查看项目

更新于 10-22 16:17

技能介绍

用途

Testing Changes 用于对当前分支的改动做一次人工端到端测试。它强调“先计划、后执行”:在测试计划获得批准前不会启动任何东西;本次运行启动的应用也不会在运行结束后继续存活。

主要能力与流程

技能按阶段推进:

  • 阶段 0:前置检查,确认基础设施已启动、没有残留的旧运行。
  • 阶段 1-2:分析改动和相关任务文档,编写测试计划并取得批准。
  • 阶段 3:检查 Playwright MCP 与 Max 登录状态,启动全部应用,写入状态文件。
  • 阶段 4:执行测试,记录实际结果与预期结果。
  • 阶段 5:编写报告并通过 Plannotator 展示;用户审阅期间应用保持运行。
  • 阶段 6:报告获批(或审阅被关闭、运行中止)后,停止本次启动的所有应用。获批时还会删除测试计划,并询问是否删除报告。

各阶段的详细说明放在参考文档中,到达对应阶段时再读取,而不是一开始全部加载。

使用方式与硬性规则

  • 测试计划和报告用俄语撰写(代码、命令、标识符保持原样)。
  • 测试计划必须经过原生 Plan Mode(EnterPlanMode → ExitPlanMode),未获批准不运行。
  • 不负责启动基础设施;若基础设施未运行,则停止并说明缺什么。
  • 测试手段约定:API 用 curl;前端用 Playwright(后端通过页面自身请求覆盖);Max 机器人或 Max 小程序只测 Max 网页版。覆盖被改动行为的既有 e2e 用例要纳入计划。
  • 启动整个 monorepo 的所有应用,包括测试不会触及的应用,且不询问选择哪些;只使用项目自身命令(testing.apps[].start 或 start:* 脚本),不覆盖环境变量,不添加 NODE_TLS_REJECT_UNAUTHORIZED=0。
  • 每个应用一启动就记录到 tmp/test-run-state.json;阶段 6 停止所有 owned: true 的条目。启动前已能响应的应用不属于本次运行,不启动也不停止。
  • 仅在报告获批时:删除测试计划文件和本次运行的临时文件(应用日志),然后通过 AskUserQuestion 询问是否删除报告;除非用户明确要求删除,否则保留报告及其在 tmp/reports/<run>/ 中的证据。审阅被关闭或运行中止时不删除任何内容。
  • 测试运行期间不修改代码、不提交、不推送;只报告失败,修复需另行请求。
  • Playwright 以无头模式运行,只有 Max 登录时打开可见窗口;登录由用户完成,技能不会输入手机号或验证码。
  • Bash 使用约束:不用 cd,不用 sleep 链(改用 Monitor),每次调用只做一项检查。

项目配置

项目参数存放在 .claude/dev-conventions.json 的 testing 段下(结构见环境参考文档)。若没有该配置块,则在 package.json 中发现 start:* 脚本,在计划中列出,并提议将其保存到配置中。

适用场景

适合用户要求手动测试当前改动时使用,例如俄语中的“протестируй изменения”“проведи тестирование”“проверь изменения руками”,或英语的“test my changes”等表述。

限制

  • 技能不启动基础设施,也不负责修复代码、提交或推送。
  • Max 相关测试仅限网页版;登录必须由用户本人完成。
  • 测试计划与报告固定使用俄语。
  • 资料未提供更多关于费用、平台兼容范围或性能指标的信息。