| name | testcase-generator |
| version | 2.0.0 |
| description | "Use when receiving PRD/MD/TXT/Word documents to generate test cases, or when reviewing existing cases, designing test strategies, or evaluating test coverage. Triggers on keywords like testcase, test-plan, coverage review, smoke test, regression test." |
| category | software-development |
| tags | ["testcase","qa","testing","prd","coverage","test-design","review"] |
Testcase Generator — 业务流程导向的测试用例生成器
Overview
从需求文档(PRD/MD/TXT/Word)中识别业务功能流程,按照业务流程顺序设计可执行的测试用例。采用 Multi-Agent 串行 Pipeline 架构,将流程拆分为 4 个子 Agent(需求分析 → 模块评审 → 用例生成 → 用例评审),7 个阶段严格执行,确保用例质量和覆盖率。
生成的用例必须符合质量评估标准:P0+P1≤40%、步骤与预期一一对应、数据具体无占位符、预期可验证无模糊描述。评审不合格则全盘不用,返回重新生成。
When to Use
使用场景:
- 收到 PRD/需求文档,需要生成完整测试用例 → 生成模式(阶段1-7)
- 已有测试用例,需要评审质量 → 评审模式(跳过阶段3-6,直接阶段7)
- 已有用例但覆盖率不足,需要补充 → 补充模式(先对比再阶段1-7)
- 设计测试方案/场景/策略、评估覆盖率、规划测试计划
执行流程
详细执行指南:触发本技能后,使用 Read 工具读取 references/execution-flow.md 获取完整的7阶段详细流程和子Agent指南。本节仅提供摘要骨架。
7阶段骨架(必须按顺序)
| 阶段 | 名称 | 核心动作 | 子文件 |
|---|
| 1 | 评估方法依据 | 引用 ISO/IEC 标准,说明 TPA+FPA 方法论 | references/execution-flow.md |
| 2 | 输入确认与模式识别 | 读取需求文档,识别生成/评审/补充模式 | references/execution-flow.md |
| 3 | 需求解析 | 识别功能模块、流程、约束、FPA 分析 | references/agents/01_requirement_analysis.md |
| 4 | 模块评审 | 评审测试点质量(4维度),通过才继续 | references/agents/02_module_review.md |
| 5 | 测试策略 | 选择测试类型和设计方法 | references/execution-flow.md |
| 6 | 用例生成 | 按流程步骤生成正向→边界→异常用例 | references/agents/03_test_case_generation.md |
| 7 | 优先级校验与用例评审 | 引导错误过滤 + 六大维度评估 | references/agents/04_test_case_review.md |
流程闭环
阶段1 → 阶段2 → 阶段3(需求解析) → 阶段4(模块评审)
│ 评审通过 → 阶段5(测试策略) → 阶段6(用例生成) → 阶段7(用例评审)
│ 评审不合格 → 返回阶段3重生成
阶段7合格 → 执行脚本导出(validate/excel/xmind)
阶段7不合格 → 返回阶段6重生成
执行纪律
- 任何阶段不允许跳过,包括模块评审(阶段4)和用例评审(阶段7)
- 缺少阶段1评估依据直接跳到用例生成 → 违规,不合格
- 缺少阶段3功能点分析直接跳到用例生成 → 违规,不合格
- 用"根据需求分析"替代具体分析论述 → 违规,不合格
- 阶段4(模块评审)和阶段7(用例评审)最多重试3次,3次均不通过 → 进入人工介入流程
快速路径(简单需求)
仅适用于:1-2个功能模块、每个模块≤3个测试点、无复杂状态流转。流程:阶段2→阶段3(简化:仅识别功能模块和约束,跳过完整FPA分析)→阶段6→阶段7(简化:仅校验优先级分布和格式合规,跳过六大维度完整评估)。
异常处理
| 场景 | 处理方式 |
|---|
| 输入文档为空或格式不支持 | 要求用户提供 MD/TXT/Word 格式;Axure/蓝湖等原型格式调用专业分析工具处理 |
| 参考文件缺失 | 降级运行:使用 SKILL.md 内联规则替代缺失文件,输出标注"部分参考文件缺失" |
| 子Agent(delegate_task)生成失败 | 重试最多1次;仍失败则当前上下文直接生成,输出标注"子Agent失败,主流程替代" |
| 验证脚本报错 | 环境类(依赖缺失)提示安装后继续;格式类返回阶段6修正 |
| 输出目录 test-case/ 已存在 | 询问用户:覆盖 / 合并(同名文件跳过) / 指定新目录 |
| 阶段4/阶段7评审连续3次不通过 | 停止自动重试,展示最佳输出,询问用户是否放宽标准/调整需求/暂缓 |
| 用户中途补充需求 | 测试点级补充记入"待补充"清单;新模块要求用户确认是否从阶段3重新执行 |
核心规则
详细规则:优先级分布、引导错误过滤、评审判定等完整表格详见 references/execution-flow.md 附录。
格式规范:字段定义、步骤-预期对应、标题规范详见 references/format-standard.md。
关键约束速查
- P0+P1≤40%,P2占最大比例(35-45%)
- 测试数据必须具体,禁用
{xxx} 占位符 → 不合格
- 预期必须可验证,禁用"功能正常"等模糊描述 → 不合格
- 测试步骤序号与预期结果序号必须一一对应 → 不合格
- 不添加需求未提及的功能测试
- 三档评审:合格 / 有条件通过 / 不合格
测试用例字段格式速查
| 字段 | 格式要求 | 示例 |
|---|
[测试类型] | 标题行 ## [Px] 名称 之后的独立一行 | [测试类型] 功能 |
[前置条件] | 一段或多段文本,描述执行前状态 | [前置条件] 用户已登录,账号为 admin |
[测试步骤] | 序号列表,中文句号(。)分隔 | [测试步骤] 1. 打开页面。2. 输入内容。3. 点击提交。 |
[预期结果] | 序号列表,必须与步骤一一对应 | [预期结果] 1. 页面加载完成。2. 内容显示正确。3. 提示提交成功。 |
Common Pitfalls
-
跳过模块评审直接生成用例 — 阶段4评审是强制环节,跳过会导致测试点划分质量无法保证。必须输出评审报告。
-
P0膨胀 — P0占比超过15%时,将UI展示类降级为P3。什么都重要=什么都不重要。
-
数据占位符 — 使用 {username}、{password} 等占位符是引导错误,全盘不用。所有测试数据必须具体。
-
预期模糊 — "功能正常"、"显示正确"无法验证,是引导错误。所有预期必须包含具体可验证的UI/数据变化。
-
步骤不对应 — 3步操作配5步预期,测试人员无法执行。序号必须一一对应。
-
缺少反向场景 — 只有正向流程用例,边界值和异常流被遗漏。P2应占最大比例(35-45%)。
-
用例膨胀 — 单个功能超过10个用例时,合并验证相同业务规则的相似场景。
-
模块名=测试点名 — 设备绑定管理/设备绑定.md 导致层级混乱。测试点必须比模块名更具体。
-
P3用例缺失 — 技能过度聚焦功能/边界/异常,P3级UI展示+体验类用例常被遗漏,导致P2占比虚高(>70%)。阶段6生成时必须主动检查:是否有UI展示、交互体验、取消流程等P3场景?若无P3用例,主动补充2-4条。
-
步骤-预期计数不匹配 — 多步骤操作中"弹出确认对话框,户主点击确认"这类复合动作容易拆为2步却只有1步预期,或反过来。validate.py --check-steps 参数可自动检测步骤数与预期结果数不匹配(输出为Warning),生成后必须逐条核对。
-
validate.py重复阈值过低 — --check-duplicates 默认阈值0.7太激进,会报告大量"疑似重复"(实际验证不同业务规则的合理用例,只是步骤相似)。阈值0.9更合理;当前报告的57对中仅3对≥90%是真正重复。
-
非功能需求易漏测试点 — PRD中的性能指标(如"延迟≤3秒")、加密要求(如"AES-128")等非功能需求常缺少对应测试点。阶段3需求解析时必须单独检查非功能需求章节,为每个量化指标创建测试点。
-
delegate_task子Agent格式不合规 — 使用 delegate_task 并行生成用例时,子Agent几乎必然偏离文本协议v0.2格式,产出表格格式、TC-xxx编号标题、或把 [测试类型] 嵌入标题行而非独立一行。真实案例:OTA系统82条用例初始生成后127个格式错误、0条可解析。必须在 delegate_task 的 context/goal 中显式给出格式范例(完整的2-3条样例用例文本),并声明"禁止表格格式、禁止TC编号标题、[测试类型]必须是标题行之后的独立行"。生成后必须运行 validate.py 验证,若错误数>0则批量修正(可用 execute_code 正则批量替换)再重新验证。
-
delegate_task子Agent优先级膨胀 — 子Agent倾向于将所有用例标记为P0/P1,导致P0+P1占比飙至80%+(真实案例:83.3%)。必须在 delegate_task 的 goal 中显式约束优先级分布:"目标P0≤15%、P0+P1≤40%、P2占最大比例(35-45%)。核心正向流程才标P0,基本功能标P1,边界值/异常流标P2,UI展示标P3"。生成后若P0+P1>40%,就地降级而非重新生成。
-
[测试类型]必须是独立行而非嵌入标题行 — parse_text_protocol.py 解析器要求 [测试类型] 功能 作为标题行 ## [P0] 标题 之后的独立一行,而非 ## [P0] 标题 [测试类型] 功能 合并在一行。合并写法会导致解析器报告"缺少必填字段 [测试类型]"。正确格式(数据具体、步骤与预期一一对应):
## [P0] 正常手动升级流程升级成功
[测试类型] 功能
[前置条件] 设备已连接WiFi,当前固件版本为 V1.0.0
[测试步骤] 1. 进入"设置-系统升级"页面。2. 点击"检查更新"按钮。3. 检测到新版本 V1.2.0。4. 点击"立即升级"。5. 等待升级完成并重启。
[预期结果] 1. 显示当前版本号 V1.0.0。2. 系统开始检查更新。3. 弹出"发现新版本 V1.2.0"。4. 显示升级进度条,开始下载。5. 设备重启后版本号变更为 V1.2.0。
- 重试耗尽无退出机制 — 阶段4和阶段7连续3次评审不通过时,若skill继续无限重试将消耗大量token且结果不变。必须停止自动重试,展示当前最佳输出,询问人工判断:放宽标准继续 / 调整需求再试 / 暂缓此功能模块。该规则已在"异常处理"节明确。
Verification Checklist
完整质量检查清单详见 references/prompts-core.md 第5节。
工具脚本
评审通过后,必须执行以下脚本验证和导出:
| 脚本 | 作用 | 命令 |
|---|
| validate.py | 验证格式+检测重复+步骤校验 | python scripts/validate.py test-case/ --check-duplicates --check-steps |
| to_excel.py | 导出 Excel 工作簿 | python scripts/to_excel.py test-case/ -o test-case/{需求}_测试用例_{模型名}_{时间戳}.xlsx |
| to_xmind.py | 导出 XMind 思维导图 | python scripts/to_excel.py test-case/ -o test-case/{需求}_测试用例_{模型名}_{时间戳}.xmind -t "测试用例" |
注:{需求} = 需求名称简称(如 login、order);{模型名} = 当前AI模型标识(如 claude-4-sonnet、gpt-4o);{时间戳} = 生成时间(格式 YYYYMMDD-HHmmss)。
依赖:to_excel.py 需要 openpyxl。若依赖缺失,pip install openpyxl。
参考文档
Token 优化:默认只加载 -core / -summary 轻量版(共~10KB)。仅在需要 Few-Shot 示例或理解设计方法原理时,才加载 -full 完整版。
| 用途 | 路径 | 大小 |
|---|
| 7阶段详细执行流程(核心) | references/execution-flow.md | ~25KB |
| 需求分析Agent指南(阶段3) | references/agents/01_requirement_analysis.md | ~8KB |
| 模块评审Agent指南(阶段4) | references/agents/02_module_review.md | ~8KB |
| 用例生成Agent指南(阶段6) | references/agents/03_test_case_generation.md | ~8KB |
| 用例评审Agent指南(阶段7) | references/agents/04_test_case_review.md | ~7KB |
| 角色定义/CoT/评审模板(轻量) | references/prompts-core.md | ~6KB |
| Few-Shot完整示例(按需加载) | references/prompts-full.md | ~39KB |
| 16种设计方法速查表(轻量) | references/theory-summary.md | ~3.7KB |
| 16种设计方法详解(按需加载) | references/theory-full.md | ~29KB |
| 格式规范(字段/步骤/标题) | references/format-standard.md | ~16KB |
| 术语映射 | references/terminology-mapping.md | ~6KB |
| 测试用例文本协议 | references/specs/testcase-text-protocol.md | ~5.5KB |
输出产物
test-case/{功能模块}/{测试点}.md — 按流程组织的测试用例
test-case/{需求}_功能模块_评审报告_{时间戳}.md — 阶段4评审报告
test-case/{需求}_测试用例_评审报告_{时间戳}.md — 阶段7评审报告
test-case/{需求}_测试用例_{模型名}_{时间戳}.xlsx — Excel格式
test-case/{需求}_测试用例_{模型名}_{时间戳}.xmind — XMind格式
成功标准
- 业务流程覆盖率100%、需求覆盖率≥100%、质量评分≥90分
- 至少覆盖2种测试类型(简单功能)、3种(核心功能)或4种(复杂功能)
- P0+P1≤40%,格式符合规范