# Prd Auto Test Loop

> PRD 驱动的自动化测试编排技能。用于把每版 PRD 的测试计划、AI 自测与自修复、测试报告标准化落地；适用于按验收标准拆分 Unit/Integration/E2E、划分自动化与人工边界、生成版本化 TEST_PLAN/TEST_REPORT 的场景。

- Skill: `yunshu0909/prd-auto-test-loop` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds add yunshu0909/prd-auto-test-loop`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yunshu0909/prd-auto-test-loop/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: yunshu0909 (https://skillmd.com/u/yunshu0909)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/yunshu0909/prd-auto-test-loop

---

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

