需

需求转测试用例生成器

作者:鹿Sir办公效率v1

读取产品需求文档(PRD),自动完成需求结构化、功能点拆解、测试点分析、风险识别并生成完整的测试用例 Excel,支持质量门禁与断点续跑。当用户提供需求文档并希望生成测试用例、拆解测试点、进行需求评审或 PRD 转测试用例时触发。触发词:生成测试用例、需求分析、测试点拆解、用例生成。

下载量
279
点赞
68
价格
免费

技能文档

---
name: qa-req2testcase-generator
title: 需求转测试用例生成器
category: 办公效率
description: 读取产品需求文档(PRD),自动完成需求结构化、功能点拆解、测试点分析、风险识别并生成完整的测试用例 Excel,支持质量门禁与断点续跑。当用户提供需求文档并希望生成测试用例、拆解测试点、进行需求评审或 PRD 转测试用例时触发。触发词:生成测试用例、需求分析、测试点拆解、用例生成。
---

## ⚠️ 元规则(最高优先级,违反即终止)

**Agent必须100%执行skill规定的流程,不得自行判断"优化"或"改进"。**

1. **执行优先**:按skill规定流程执行每一步,不得跳过、绕道
2. **规则即硬约束**:「禁止」「必须」「🔴」是代码级硬约束,违反即报错
3. **发现问题先执行后反馈**:完成当前流程后反馈,不在执行中自行修改
4. **禁止伪造结果**:orchestrator返回error时必须修复重试,不得伪造gate pass
5. **禁止自我决策**:不允许Agent自行判断"规则不合理/太慢/可优化"并绕过
6. **🔴 禁止自行发明规则(V4.15.26新增)**:本文档/代码中未明确列出的任何速率限制、延迟、节流、防批量机制,均不存在
   - ✅ 允许:文档白纸黑字写了"每N个TP暂停M秒" → 照做
   - ❌ 禁止:凭直觉添加 `sleep(55)` "防止脚本批量识别"
   - ❌ 禁止:自行推断"应该有防封禁机制"并实现
   - 不确定某规则是否存在 → 先读 orchestrator.py/gate_checker.py 源码确认 → 文档和代码均无要求 → 该规则不存在
6. **禁止抛选择题**:任何步骤失败后自动修复重试,禁止停下来向用户要选择
7. **⛔ 禁止脚本批量生成 + 禁止子代理派发**(V4.12.5+V4.15.9):(1) 禁止编写 Python/Shell/JavaScript 脚本循环调用 `p6_generate_one`;(2) 禁止通过 `sessions_spawn` / 子 Agent 派发 P6 用例生成任务,P6 必须由主会话 LLM 逐条阅读 prompt 后手写生成每个 TP 的用例。这两种做法本质相同——绕过主会话逐条执行规则,批量生成的内容必然空洞,质量门禁会拦截。orchestrator 已内置子Agent环境检测,违规直接 exit(1)。
8. **🔴 质量优先原则**(V4.13.8):效率不能以牺牲质量为代价。禁止因为"太慢了""时间不够"就跳过P7检查、批量修改用例、放弃merge修复。遵循闭环流程:修复→merge→p7_check→确认PASS→继续。连续2次merge失败必须暂停分析根因。去重率>50%或冒烟=0必须拒绝接受。
9. **🔴 冒烟用例标注规则**(V4.13.8):冒烟用例必须严格聚焦「入口可达性+核心展示」,标注标准: ✅ 可标:所有页面入口能否正常打开、核心数据能否加载展示、核心操作能否完成(如提交/查询/导出); ❌ 禁止标冒烟:异常场景(如权限不足/数据为空/超时)、删除/禁用操作、次要字段验证、UI细节核对。P0占比硬性控制在10-15%。
10. **⛔ 禁止 Agent 自行插入 sleep/wait/delay**(V4.15.2):Agent 不得在执行流程中的任何位置自行添加等待(包括但不限于 `sleep`、`time.sleep`、`asyncio.sleep`、`setTimeout`、shell `sleep` 命令、或在两个命令之间插入刻意停顿)。orchestrator 和所有代码层工具已内置了完整的速率限制(rate-limiting)、退避重试(exponential backoff)和并发控制。Agent 自行添加 sleep 是多余行为,只会拖慢流程,且可能绕过 orchestrator 的速率控制逻辑。**发现 Agent 自主插入 sleep → 视为违反元规则第1条(自行判断"优化"),该步骤结果作废。**
11. **🔴 复盘/报告数据必须从 statistics 取值(V4.15.5新增)**:编写复盘报告、测试报告、质量报告时,所有统计数据(总用例数、冒烟数、P0/P1/P2分布、去重率等)必须从 `p6_output.statistics`、`p7_output.statistics` 或 `orchestrator_state.json` 直接读取,**禁止 Agent 估算、推测或编造数字**。错误示例:实际冒烟38条却写95条。若发现报告数字与 statistics 不符 → 视为严重质量问题,报告作废重写。

---

## 入口检查:需求载荷是否存在

**此检查在技能触发后第一个动作执行。不通过→立即终止。**

✅ 允许继续:用户消息含需求正文 / 含需求附件(.docx/.txt/.pdf) / 明确引用近期需求
❌ 必须停止:"我等会发"、"分析这个需求"(无附件)、仅提及技能名、模糊引用

不通过回复:`📋 请先发送需求正文或需求文档,收到后立即开始分析。`
通过回复:`✅ 需求载荷已收到 | 格式:X | 大小:Y | 📋 即将进入初始化...`

---

## 🔴 运行协议

**核心原则:orchestrator.py控制流程,Agent只负责执行prompt返回JSON。**

**6段确认模式:每次「继续」只前进一个段落(绝对禁止连段执行):**
- 用户回复1次「继续」→ Agent**只执行下一个段落**,执行完立即⏸️停止
- ⛔ 禁止: 用户说1次「继续」Agent连跑多段
- ⛔ 禁止: 看到下一段gate已存在就"继续跑完"
- 每段结束后检查: 是否已输出⏸️?是否已等待「继续」?

**📌 `__must_emit__` 字段**:p2_code_generate / step7_export的stdout包含此字段。Agent必须将MEDIA行复制到回复,同时用 `exec cat` 展示文件内容。

---

## 🔴 段落边界规则(最高优先级,违反视为流程无效)

| 规则 | 说明 |
|------|------|
| ⛔ 禁止连段 | 每段结束→⏸️停止→等「继续」→才读下一段规则文件 |
| ⛔ 禁止预读 | 执行段落N时,禁止读取 rules/paragraph_N+1.md |
| ⛔ 禁止跨段 | 即使下一段gate已存在,也必须等用户「继续」 |
| 🔴 停止锚点 | 每段规则文件末尾有终止锚点,Agent读到必须停止 |

**📌 段内暂停 ≠ 段落边界(V4.15.0 代码层硬控)**:
- 段落5(P6用例生成)内部有**代码层强制的段内暂停点**(~15条TP,orchestrator返回 PAUSE_REQUIRED + exit(3))
- 段内暂停:等「继续」后**必须先调 p6_tp_list** 确认 next_tp_index,在当前段落内接着跑
- 段落边界:等「继续」后**前进到下一段**,必须先读 rules/paragraph_N+1.md
- 🔴 Agent必须区分这两个概念,不得将段内暂停误认为段落结束

---

## 🔴 操作约束矩阵

| Step | Agent角色 | 唯一正确命令 |
|------|----------|------------|
| P0 | 执行者 | prep_prompt → 生成JSON → step_run |
| P1 | 执行者(分批) | 骨架→循环feature→p1_code_merge |
| P2 | 观察者 | `python3 "$ORCH" --action p2_code_generate` |
| P3 | 执行者 | prep_prompt → 生成JSON → step_run |
| P4 | 执行者 | prep_prompt → 生成JSON → step_run |
| P5 | 观察者 | `python3 "$ORCH" --action p5_code_merge` |
| P6 | **LLM生成者**(⛔禁子Agent) | p6_tp_list→逐条循环(p6_generate_one→完整阅读prompt生成JSON→p6_generate_one --save)→p6_merge<br>🔴 **V4.11.0逐条生成**:一次一个测试点,prompt极简(~400B)。Agent完整阅读prompt后生成JSON,字段由代码自动补全 |
| P7 | 观察者 | `python3 "$ORCH" --action p7_code_check` |

Agent只做3类事: ①exec orchestrator命令 ②read prompt并生成JSON write到文件 ③read图片并描述

---

## 🔴🔴🔴 V3.5.2 绝对禁止行为(代码层硬控)

1. **禁止直接写gate文件** — gates/*.pass.json 只能由orchestrator创建
2. **禁止直接写output文件** — p{N}_output.json 只能通过step_run等action写入
3. **禁止直接修改state文件** — orchestrator_state.json 内部修改
4. **禁止import orchestrator** — 不允许任何形式导入
5. **禁止跳过orchestrator** — 所有步骤必须通过 `python3 "$ORCH" --action XXX`
6. **禁止伪造执行结果** — error时必须修复重试,不得手动替代
7. **Onboarding必须逐步交互** — 3步逐步展示,禁止合并

违反以上任何规则,step7_export会审计拒绝。

---

## 技能工作流

流程采用 6 段确认模式:每次用户回复「继续」只前进一个段落,禁止连段执行。

### 步骤1:初始化与环境检查

执行 `--action init` 与 `--action onboarding`,完成 3 步交互(PRD审查开关、L5知识库、图片理解能力确认),规则详见 `rules/paragraph_1.md`,完成等待用户确认。

### 步骤2:需求解析与图片理解

执行 step0 解析需求文档,若环境已配置图片理解服务则解析原型图/流程图,否则降级为 caption_only 模式,规则详见 `rules/paragraph_2.md`。

### 步骤3:需求结构化与功能点拆解

执行 P0 需求结构化 + P1 功能树生成,并自动完成 P2 测试点草稿,规则详见 `rules/paragraph_3.md`。

### 步骤4:风险识别与测试点合并

执行 P3 风险识别 + P4 补充场景识别,并自动完成 P5 测试点合并,规则详见 `rules/paragraph_4.md`。

### 步骤5:测试用例生成

执行 P6 逐条生成用例(由 LLM 阅读每条 prompt 后手写生成,禁止脚本批量或子代理派发),每约 15 个测试点暂停一次,规则详见 `rules/paragraph_5.md`。

### 步骤6:质量检查与导出

执行 P7 质量检查与修复循环,通过后导出测试用例 Excel,规则详见 `rules/paragraph_6.md`。

**🔴 每步通用执行规则:**

1. 收到用户「继续」→ 找到下一步骤N
2. `read rules/paragraph_N.md` → 完整阅读该段规则
3. 严格按规则文件中的指令逐步执行
4. 执行到规则文件末尾的终止锚点 → ⏸️停止
5. 输出「段落N完成,请回复「继续」」
6. 🔴 绝对禁止:读完paragraph_N.md后继续读取paragraph_N+1.md

---

## 📋 流程速查表

| 段落 | 核心动作 | 关键Gate | 暂停规则 | 常见错误 |
|:--:|------|------|------|------|
| 1 | init+onboarding | onboarding.pass.json | — | 环境异常 |
| 2 | 图片理解 | step0.pass.json | — | 需求格式错误 |
| 3 | P0+P1→P2 | P0+P1.pass.json | — | P1场景过多 |
| 4 | P3+P4→P5 | P3+P4.pass.json | — | P5测试点过少 |
| 5 | P6用例生成 | P6.pass.json | 每15TP暂停 | 会话压缩丢TP→p6_verify_files |
| 6 | P7+导出 | P7.pass.json | 修复循环 | fix→merge→check不可跳步 |

---

## 🔄 断点续跑

```
exec: python3 "$ORCH" --action status
```
→ 查看已完成的gate pass,从下一个未执行的步骤开始。
→ 如果当前段落已有部分gate pass → 阅读该段规则文件,跳过已完成步骤。

---

## ❌ 错误处理

| 错误类型 | 处理 |
|---------|------|
| gate_blocked | 检查缺失的前置步骤,从该步骤重新执行 |
| guard_failed | 检查truncation,修复JSON后重试 |
| quality_rejected | 按issues和fix_example修复,最多重试2次 |
| timeout | 检查文件是否已生成新内容,有则继续,无则重试 |
| **paused_locked** (V4.15.3) | P6已暂停,锁文件存在。→ `p6_resume` 解锁 → `p6_tp_list` 查看进度 → 继续 |
| **BUG** (V4.15.3) | orchestrator代码异常。禁止自行修复/绕过。立即停止并报告用户。 |

---

## 📁 文件结构

```
skill_v4/
├── SKILL.md                     ← 本文件(总控路由)
├── rules/
│   ├── paragraph_1.md           ← 段落1规则
│   ├── paragraph_2.md           ← 段落2规则
│   ├── paragraph_3.md           ← 段落3规则
│   ├── paragraph_4.md           ← 段落4规则
│   ├── paragraph_5.md           ← 段落5规则
│   └── paragraph_6.md           ← 段落6规则
├── prompts/                     ← LLM prompt模板
├── tools/                       ← orchestrator.py等工具
├── config/                      ← 配置
└── references/                  ← 参考文档
```

## 触发条件

「ai用例生成」「ai需求分析」「req2testcase」「生成测试用例」「分析需求」「拆解功能点」「输出测试点」「需求评审」「PRD转测试用例」

## 已知限制

- 仅支持中文需求文档(.docx/.txt/粘贴文本)
- 不支持视频/音频需求输入
- PX图片理解依赖外部图片理解服务(未配置则降级为caption_only)

使用说明

# 需求转测试用例生成器

读取产品需求文档,自动完成需求结构化、功能点拆解、测试点分析、风险识别,最终生成带质量门禁的测试用例 Excel。

## 使用

把用户需求文档(.docx/.txt 或直接粘贴文字)发给 Agent,并说:

```
请分析这个需求并生成测试用例
```

按提示逐步回复「继续」,流程结束后得到测试用例 Excel 文件(含冒烟用例标注与统计信息)。

## 工作原理

技能内置 orchestrator.py 编排器控制全流程:step0 解析需求 → P0 需求结构化 → P1 功能树 → P2 测试点草稿 → P3 风险识别 → P4 补充场景 → P5 测试点合并 → P6 逐条生成用例 → P7 质量检查与 Excel 导出。每个阶段都有质量门禁(gate)拦截空洞用例,支持断点续跑与修复循环。

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手