用途
PRD 自动化测试闭环技能用于将发布测试固定为“主回归基线 + PRD 增量测试”的模式。它帮助团队跨版本维护一套共享的主回归测试,每个 PRD 版本仅增加新增或变更相关的用例,并将测试产物统一输出到 自动化测试/<version>/ 目录下。
主要能力
- 从 PRD 锁定范围:提取版本目标、测试范围、非范围、验收标准;若本次为增量变更,拒绝“整套重写测试”。
- 定义测试分层与边界:将验收标准映射为 Unit / Integration / E2E,并读取 references/自动化测试封装指南.md 的边界章节,标记 A/H/A+H。
- 初始化版本测试目录:读取 references/自动化测试封装指南.md 的初始化命令与模板,创建 自动化测试/<version>/,并生成 TEST_PLAN.md、TEST_REPORT.md。
- 实现增量测试:优先复用既有主回归用例,仅新增 PRD 差异用例到 tests/,保持断言确定性,避免脆弱 UI 选择器。
- 执行 AI 自测闭环:固定顺序 Unit -> Integration -> E2E;失败时按根因修复并重跑(最多 3 轮);若被环境阻塞,明确记录阻塞项并停止宣称通过。
- 产出测试报告:按模板填写命令、通过率、失败项、剩余风险,输出发布门禁结论 PASS 或 FAIL。
使用方式
技能遵循以下工作流:
- 从 PRD 锁定范围。
- 定义测试分层与边界。
- 初始化版本测试目录。
- 实现增量测试。
- 执行 AI 自测闭环。
- 产出测试报告。
规则要求:不要每个 PRD 都从零重建整套测试;必须同时维护“主回归套件 + 版本增量套件”;每个版本必须绑定自己的 TEST_PLAN 与 TEST_REPORT;必须给出可复现命令和结果摘要,禁止模糊结论;不要声称覆盖全部质量风险,必须列出人工补测项。
版本目录初始化命令(在项目根目录执行):
version="V0.6"
base_dir="自动化测试/$version"
mkdir -p "$base_dir/tests/unit" "$base_dir/tests/integration" "$base_dir/tests/e2e"
cat > "$base_dir/TEST_PLAN.md" <<'TPL'
# TEST_PLAN(V0.6)
## 1. 测试范围
- PRD:
- 范围内:
- 非范围:
## 2. 完成门槛
1. 计划内用例全部通过
2. P0 用例通过率 100%
3. 连续两轮稳定通过
4. 无阻断/严重缺陷遗留
TPL
cat > "$base_dir/TEST_REPORT.md" <<'RPT'
# TEST_REPORT(V0.6)
## 1. 结果摘要
- 日期:
- 结论:
RPT
自动化边界矩阵
适合自动化(建议 AI 覆盖):
- 功能正确性(状态流转、接口处理、校验规则)
- 回归路径(历史缺陷防回归)
- 确定性边界场景(空值、非法值、重复操作)
- 稳定冒烟流程(启动、关键导航、保存/提交)
- 可量化非功能指标(超时、错误率、崩溃率)
优先人工验证(建议人工兜底):
- 可用性与交互顺滑度
- 视觉质感与品牌一致性
- 业务策略合理性
- 开放式探索路径
- 产品取舍与发布优先级判断
验收标准标记法:A 表示可完全自动化;H 表示仅人工验证;A+H 表示自动化 + 人工联合验证。
适用场景
适用于按验收标准拆分 Unit/Integration/E2E、划分自动化与人工边界、生成版本化 TEST_PLAN/TEST_REPORT 的场景,尤其适合需要跨版本维护主回归基线并做 PRD 增量测试的团队。
限制
- 不要每个 PRD 都从零重建整套测试。
- 必须同时维护“主回归套件 + 版本增量套件”。
- 每个版本必须绑定自己的 TEST_PLAN 与 TEST_REPORT。
- 必须给出可复现命令和结果摘要,禁止模糊结论。
- 不要声称覆盖全部质量风险,必须列出人工补测项。
- 若被环境阻塞,明确记录阻塞项并停止宣称通过。
模板
TEST_PLAN 模板:
# TEST_PLAN(<version>)
## 1. 测试范围
- PRD:<path>
- 范围内:
- 非范围:
## 2. 完成门槛
1. 计划内用例:<x>/<x> 通过
2. P0 用例通过率:100%
3. 连续两轮稳定通过
4. 无阻断/严重缺陷遗留
## 3. 用例清单
### Unit
- UT-xx:
### Integration
- IT-xx:
### E2E
- E2E-xx:
## 4. 执行顺序
1. Unit
2. Integration
3. E2E
4. 自动修复循环(最多 3 轮)
## 5. 输出产物
- TEST_REPORT.md
- 命令执行结果摘要
TEST_REPORT 模板:
# TEST_REPORT(<version>)
## 1. 结果摘要
- 日期:
- PRD:
- 结论:PASS | FAIL
## 2. 执行命令与结果
- <command>
- result:
## 3. 分层覆盖结果
- Unit:passed/total
- Integration:passed/total
- E2E:passed/total
## 4. 失败用例
- 用例 ID:
- 现象:
- 根因:
- 修复状态:
## 5. 剩余风险(人工补测)
- 风险点:
- 自动化无法完全覆盖原因:
## 6. 发布门禁
- 门禁检查状态:
- 最终决策: