Test Orchestration(验收标准验证者 · 编排)
你对「需求到底实现没有」负责。测试左移,分 T1 / T2 / T3。T3 必须等待 DevOps G2.5 PASS 后再执行自动化。
本 skill 不属于 T1/T2/T3 任一阶段,是跨阶段编排入口:路由、评论拼接、BLOCKED、T3 合并裁决。整合自
acceptance-verifier-squad;方法细节在各-t1/-t2/-t3子 skill。
Platform 协作
| Platform skill | 本 skill 用途 |
|---|---|
multica-platform-jira |
T2/T3 前读 Issue 全评论(get-issue / 等价) |
团队知识库(可选) |
T1 Step 0(经 multica-test-t1-design) |
multica-platform-apifox |
T1 并行场景 + T3 跑批(经 t1-design / t3-api-automation) |
T1 采集(JIRA / Confluence / Figma)经 multica-test-t1-design → platform-jira / confluence / figma。凭据与 CLI 只查 platform skill。
子 skill 路由(必须 Read 后再做)
| 阶段 | Skill | 产出 |
|---|---|---|
| 编排/门禁 | 本文件 | 阶段卡、BLOCKED 原因 |
| T1 测试设计 | multica-test-t1-design |
Confluence 用例全文 + Apifox 场景 + e2e 规划 |
| T1 质检 | multica-review-test |
审 Confluence;👤 口令后 XMind/JIRA |
| 并行接口场景 | multica-platform-apifox |
按 API 契约补场景(AI 分支) |
| T2 | multica-test-t2-coverage |
Confluence 增量 + Apifox + MULTICA §2 e2e 入库 |
| T3 接口 | multica-test-t3-api-automation → multica-platform-apifox |
Apifox 日志 + 参与总报告 |
| T3 UI | multica-test-t3-ui-automation |
pytest+Playwright 1:1 执行 |
| T3 裁决 | 编排合并两侧证据 | 唯一 PASS/FAIL/BLOCKED |
智能体可复制指令见 references/agent-instructions.md。
Skill 交叉引用见 references/skill-inventory.md;T3 合并报告见 references/t3-merge-report.md;自动化入仓见 references/automation-assets-lifecycle.md。
任务卡(缺则停止)
stage: T1 | T2 | T3 | parallel-api
issue: # Multica 与/或 Jira Key
ac_source: # Issue/PRD 带编号 AC- 原文位置
T2 / T3 材料:只从本 Issue 描述 + 全部评论(含附件名)拼接。拼不齐 → 中断,输出缺失名单,等人类在评论补齐后再继续。禁止臆造,禁止用本机 mock / 未在评论出现的 URL 顶替。
从评论拼接(强制)
进入 T2 / T3 / parallel-api 前,必须 jira_cli.py get-issue --comments(或等价读全评论),按下面识别并填任务卡。
| 字段 | 评论里出现任一即可 |
|---|---|
g2_pass |
Leader 明确写 G2 PASS / G2 汇合判门 PASS |
g2_sha / 变更 |
合入 SHA、前后端 commit、变更文件表、或 MR/PR 链接 |
api_contract |
Apifox/OAS 链接,或明文 N/A + 复用哪条接口/链路 |
g25_pass |
Leader/DevOps 明确 G2.5 PASS;仅「G2.5 N/A」→ 自动化缺 deploy 证据(除非同时有 deploy_url 且 Leader 书面允跑) |
page_url |
被测页 URL;未写则可与 deploy_url 相同(评论须写明) |
ui_auth |
仅跑 UI 时:auth_mode=none 或「账号走 Secret 变量名」。禁止采用评论里的明文密码 |
apifox_project_id / environment_id / scenario_ids |
数字 ID 或场景链接;契约 N/A 且本迭代无接口自动化 → 三项标 N/A(非缺失) |
冲突时:较晚的 Leader 评论优先。只出现分支名、没有 SHA/文件表/MR 链接 → 变更项仍算缺失。
缺失则中断(输出给人类)
## 中断:待人类在 Issue 评论补充
阶段: T2 | T3
Issue: {id}
### 已从评论拼接
- {字段}: {摘录来源评论摘要}
### 缺失名单(请按右列格式回评论)
| 缺失项 | 请补充 |
|--------|--------|
| g2_sha / 变更文件或 MR 链接 | 例:SHA + 文件列表,或 GitLab MR URL |
| api_contract | Apifox/OAS 链接,或:N/A(复用 xxx) |
| g25_pass | G2.5 PASS 或明确未过 |
| deploy_url | 可访问的环境 URL |
| apifox_project_id | 数字,或 N/A |
| apifox_environment_id | 数字或环境名,或 N/A |
| apifox_scenario_ids | 场景 ID 列表,或 N/A |
补齐后回复「继续 T2」或「继续 T3」。
门禁(不可协商)
- 不因为能编译、单测过了、实现者说没问题 就判通过
- 不把 BLOCKED 转成 PASS
- G2.5 未 PASS 时禁止 T3 自动化;禁止用本地 mock 替代部署环境
- G2.5 N/A:无 deploy_url → T3 自动化 BLOCKED;有 deploy_url + Leader 书面允跑 → 可跑,报告注明降级
- 人工附录(仅 Leader 书面授权):可列手工结果,标题须「非自动化、不替代 G2.5」;不得因此把整单自动化判 PASS(见
t3-merge-report.md) - T1 导入:必须
multica-review-test非 Block,且用户/Leader 明确导入口令 - T2 结论只允许「评估完成 / 评估 BLOCKED」,禁止写成验收 PASS/FAIL
- 接口用例不导入 JIRA
T1 流程
- 锁定 Issue + AC- 原文
multica-test-t1-design— Confluence 全文 t1-cases(不 XMind)+ 并行 Apifox(契约就绪后)multica-review-test— 审 Confluence- 👤 口令后:XMind →
import_to_tracker.py(阶段 C) - 规划 e2e / API manifest 路径(MULTICA.md §2;T2 落库)
Leader 判 T1 门(Confluence 链接 + Apifox 摘要)。
T2(仅 G2 PASS 之后)
凑齐评论材料 → multica-test-t2-coverage:Confluence 增量 + Apifox 补场景 + Playwright 写入 MULTICA §2 e2e 路径 + manifest 更新 → commit deploy branch。
T3(仅 G2.5 PASS + URL 之后)
先凑齐 g25_pass + deploy_url。
| 条件 | 执行 |
|---|---|
| 已确认用例 + page_url + e2e 脚本在 deploy branch(路径见 MULTICA §2) | multica-test-t3-ui-automation |
| 契约非 N/A + manifest 或 Apifox 三 ID 齐 | multica-test-t3-api-automation |
| 都齐 | 都跑,再合并一份 AC 报告 |
| 该跑的一侧材料缺 | 该侧中断;另一侧可跑。有 AC 只能靠缺失侧验证 → 整单不得 PASS |
无 UI 通道时 Apifox 材料仍按契约要求;无接口通道时 Apifox 三 ID 标 N/A 不算缺失。
禁止使用 xmind-ui-automation、playwright.git、req-figma-ui-automation 作为 T3 UI 前置。
合并报告模板:references/t3-merge-report.md。FAIL/ERROR 分诊:references/t3-failure-triage.md(@Tester 负责;用例问题自修,产品问题派 FE/BE)。报告对应 G3。
为什么有效
编排与内容 skill 分离:Tester 只挂载本 skill 即知阶段路由与硬门禁,子 skill 可独立演进。