generate-test
SKILL.md
生成测试用例技能
技能概述
基于已完成的PRD(产品需求文档)和TDD(技术设计文档),AI辅助生成全面的测试用例文档草稿,提升测试设计效率。
使用场景
何时使用
- ✅ PRD和TDD均已完成并评审通过
- ✅ 需要快速生成测试用例草稿
- ✅ 需要确保测试覆盖全面
何时不使用
- ❌ PRD或TDD尚未完成
- ❌ 需求和技术方案变更频繁
- ❌ 完全定制化的测试场景(无需AI辅助)
前置条件
必需条件
- PRD文档已完成并评审通过(状态:🟢 已批准)
- TDD文档已完成并评审通过(状态:🟢 已批准)
- PRD包含完整的验收标准
- TDD包含完整的接口设计
可选条件
- 测试策略已明确
- 测试环境已准备
- 自动化测试框架已选定
使用步骤
步骤1:定位PRD和TDD文档
AI操作:
- 询问用户需求名称或文档路径
- 验证PRD和TDD文档存在且可读
- 检查文档状态是否为"已批准"
- 确认PRD和TDD版本对应
步骤2:分析PRD和TDD内容
AI分析要点:
从PRD提取
- 功能需求:每个功能点生成对应测试用例
- 验收标准:转化为功能验收用例
- 业务规则:生成业务逻辑测试用例
- 异常处理:生成异常场景测试用例
- 性能要求:生成性能测试用例
- 安全要求:生成安全测试用例
- 兼容性要求:生成兼容性测试用例
从TDD提取
- 接口清单:生成接口测试用例
- 数据库表结构:生成数据测试用例
- 业务逻辑服务:生成集成测试用例
- 错误码定义:生成错误场景测试用例
步骤3:确认测试策略
AI询问:
基于PRD和TDD分析,我建议生成以下测试用例:
**功能测试** (覆盖率目标: 100%)
- 正向测试用例:[数量]
- 异常测试用例:[数量]
- 边界值测试用例:[数量]
**接口测试** (覆盖率目标: 100%)
- API接口测试:[数量]
**性能测试**
- 性能测试用例:[数量]
**安全测试**
- 安全测试用例:[数量]
**兼容性测试**
- 浏览器兼容性:[数量]
- 设备兼容性:[数量]
是否按照此策略生成?或者需要调整?
步骤4:生成测试用例草稿
模板使用说明:
- 模板位置:
.cursor/skills/generate-test/templates/TCD_template.md - 模板变量替换:
{{需求名称}}→ 实际需求名称{{创建日期}}→ 当前日期(YYYY-MM-DD)
- AI应基于 测试用例模板 结构生成内容,替换占位符并填充实际内容
AI生成内容:
一、测试概述
- 基于PRD和TDD梳理测试范围
- 明确测试目标
- 定义测试策略
二、功能测试用例
生成规则:
正向测试用例
对PRD每个核心功能生成至少1个正向用例:
- 用例编号:TC-{模块}-001
- 用例名称:[功能名称]-正常场景
- 前置条件:基于PRD梳理
- 测试步骤:基于PRD交互流程
- 预期结果:基于PRD验收标准
- 优先级:P0(核心功能)
异常测试用例
对PRD每个异常场景生成用例:
- 网络异常
- 权限异常
- 数据异常
- 参数错误
- 业务规则违反
边界值测试用例
对PRD数据字段生成边界测试:
- 字符串长度:最小值、最大值、超出范围
- 数字范围:最小值、最大值、零、负数
- 日期时间:过去、现在、未来
- 特殊字符:空格、表情符号、SQL注入
三、边界值测试
生成规则:
- 提取PRD和TDD中的所有数据字段
- 为每个字段生成边界测试用例表格
- 包含:最小值、最大值、超出范围、特殊值
四、异常场景测试
生成规则:
- 网络异常(断网、超时、慢网络)
- 权限异常(未登录、Token过期、无权限)
- 数据异常(数据为空、数据加载失败、并发冲突)
- 系统异常(服务器错误、依赖服务不可用)
五、接口测试用例
生成规则:
从TDD提取所有接口,为每个接口生成:
正常场景
- 请求参数:完整正确的参数
- 预期状态码:200/201
- 预期响应:符合接口定义的数据结构
参数异常
- 缺少必填参数 → 400
- 参数类型错误 → 400
- 参数格式错误 → 400
- 参数超出范围 → 400
认证和权限
- 无Token → 401
- Token过期 → 401
- 无权限 → 403
业务异常
- 资源不存在 → 404
- 业务规则冲突 → 400
- 数据重复 → 400
服务器异常
- 服务器内部错误 → 500
六、UI/兼容性测试
生成规则:
基于PRD兼容性要求生成:
- 浏览器兼容性测试表格
- 设备分辨率测试表格
- UI效果测试用例
七、性能测试用例
生成规则:
基于PRD性能要求生成:
- 页面加载时间测试
- 接口响应时间测试
- 并发压力测试
- 长时间运行测试
八、安全测试用例
生成规则:
标准安全测试用例:
- SQL注入测试
- XSS攻击测试
- CSRF防护测试
- 敏感信息泄露测试
- 越权访问测试
九、回归测试清单
生成规则:
- 提取P0优先级的核心用例
- 组成冒烟测试清单
- 每次发布必须执行
十、测试数据准备
生成规则:
基于TDD数据库设计生成:
- 测试账号清单
- 测试数据清单
- 数据准备脚本建议
其他章节
- 测试环境
- 缺陷管理
- 测试报告模板
- 版本历史(初始化为v1.0)
步骤5:人工审核和完善
AI提示:
✅ 测试用例草稿已生成:docs/需求文档/{年月}-{需求名称}/test/TCD.md
📊 生成统计:
- 功能测试用例:[数量]
- 接口测试用例:[数量]
- 性能测试用例:[数量]
- 安全测试用例:[数量]
- 总计:[数量]
📋 请人工审核和完善以下内容:
1. 测试用例是否覆盖PRD所有功能点
2. 边界值测试是否全面
3. 异常场景是否遗漏
4. 接口测试是否覆盖TDD所有接口
5. 测试数据是否充分
⚠️ 注意事项:
- AI生成的是草稿,复杂业务场景需人工补充
- 边界值需要根据实际业务调整
- 性能指标需要根据实际环境确定
✏️ 完善后请更新:
- 文档状态:🔵 草稿
- 测试负责人信息
- PRD和TDD版本号
步骤6:执行质量检查
AI自动检查:
- 所有必需章节已包含
- 功能测试用例覆盖PRD核心功能
- 用例编号符合规范(TC-XXX-001)
- 用例包含优先级标注
- 接口测试用例覆盖TDD接口清单
- 至少有1个安全测试用例
- 与PRD和TDD版本对应
输出检查报告。
生成规则
测试用例生成映射
PRD功能需求 → 功能测试用例
每个PRD功能点 → 至少1个正向用例 + 至少1个异常用例
PRD核心功能 → 优先级P0
PRD重要功能 → 优先级P1
PRD辅助功能 → 优先级P2
PRD验收标准 → 验收测试用例
PRD验收标准每一项 → 1个对应的测试用例
验收标准任务列表:
- [ ] 功能完整 → TC-XXX-验收-001
- [ ] 性能达标 → TC-XXX-验收-002
TDD接口设计 → 接口测试用例
TDD每个接口 → 至少5个测试用例:
1. 正常场景
2. 缺少必填参数
3. 无Token
4. 无权限
5. 资源不存在(针对GET/PUT/DELETE)
POST接口额外增加:
6. 数据重复
GET列表接口额外增加:
6. 分页参数测试
7. 筛选参数测试
PRD异常处理 → 异常测试用例
PRD异常处理表格每一行 → 1个异常测试用例
| 异常场景 | 交互反馈 | 用户指引 |
→ 测试用例验证:触发异常 → 检查反馈 → 验证指引
用例编号规则
编号格式
TC-{模块代码}-{序号}
模块代码规则:
- 功能名称简写(3-5个字符)
- 全大写英文
- 避免特殊字符
示例:
- LOGIN:登录模块
- USER:用户管理
- ORDER:订单管理
- API:接口测试
编号分配
功能测试:TC-{模块}-001 ~ 099
接口测试:TC-API-001 ~ 099
性能测试:TC-PERF-001 ~ 099
安全测试:TC-SEC-001 ~ 099
UI测试:TC-UI-001 ~ 099
兼容性测试:TC-COMP-001 ~ 099
优先级分配规则
P0(必须):
- PRD核心功能的正向用例
- PRD验收标准的用例
- TDD核心接口的正常场景
- 关键安全测试用例
P1(重要):
- PRD重要功能的用例
- 边界值测试
- 异常场景测试
- 性能测试
P2(一般):
- PRD辅助功能的用例
- UI效果测试
- 兼容性测试
边界值自动生成规则
字符串字段
字段:username, length: 3-20
边界测试:
- 最小长度:3个字符 → 应该通过
- 最大长度:20个字符 → 应该通过
- 小于最小:2个字符 → 应该失败,提示"用户名至少3个字符"
- 大于最大:21个字符 → 应该失败,提示"用户名最多20个字符"
- 空字符串:"" → 应该失败,提示"用户名不能为空"
- 特殊字符:含空格/表情/SQL → 验证过滤规则
数字字段
字段:age, range: 0-150
边界测试:
- 最小值:0 → 应该通过
- 最大值:150 → 应该通过
- 负数:-1 → 应该失败
- 超出:151 → 应该失败
- 小数:18.5 → 根据业务规则
- 字符串:"abc" → 应该失败
日期字段
字段:birthday
边界测试:
- 过去日期 → 应该通过
- 今天 → 根据业务规则
- 未来日期 → 应该失败(生日不能在未来)
- 无效日期:2023-02-30 → 应该失败
- 格式错误:"2023/02/01" → 根据接口定义
覆盖率分析
功能覆盖率
功能覆盖率 = 已测试功能点 / PRD总功能点 × 100%
目标:核心功能100%,整体≥95%
接口覆盖率
接口覆盖率 = 已测试接口 / TDD接口总数 × 100%
目标:100%
代码覆盖率
单元测试覆盖率目标:≥80%
(在TDD中定义)
命令示例
基本用法
用户:
基于PRD和TDD生成测试用例
AI:
正在查找PRD和TDD文档...
找到PRD:docs/需求文档/202602-移动端首页改版/product/PRD.md (v1.0, 🟢已批准)
找到TDD:docs/需求文档/202602-移动端首页改版/develop/TDD.md (v1.0, 🟢已批准)
开始分析PRD和TDD...
- PRD功能点:8个
- TDD接口:12个
- 性能要求:3项
- 安全要求:5项
生成测试用例...
[生成过程]
✅ 测试用例草稿已生成
指定需求
用户:
为"202602-移动端首页改版"生成测试用例
只生成部分测试
用户:
只生成接口测试用例
AI:
仅生成接口测试用例,跳过功能测试、性能测试等其他部分。
高级选项
选项1:测试深度
快速模式:
- 每个功能点1个正向用例
- 核心接口的基本测试
- 适合快速迭代
标准模式(推荐):
- 每个功能点至少2个用例(正向+异常)
- 所有接口的完整测试
- 边界值和异常场景
详尽模式:
- 每个功能点多个场景覆盖
- 所有接口的全面测试
- 详细的边界值和异常场景
- 性能和安全测试
选项2:自动化测试
生成自动化测试建议:
可自动化的测试用例标注:
- [🤖可自动化] TC-LOGIN-001:用户名密码登录-正常场景
- [🤖可自动化] TC-API-001:获取用户列表-正常场景
- [👤需人工] TC-UI-001:按钮hover效果
常见问题
Q1: 测试用例生成需要多长时间?
A: 通常1-5分钟,取决于PRD和TDD的复杂度。
Q2: 生成的测试用例可以直接使用吗?
A: 不能。测试用例草稿需要人工审核,补充复杂业务场景的测试。
Q3: 测试覆盖率能达到多少?
A: AI能覆盖80-90%的常规场景,复杂业务逻辑和边界情况需人工补充。
Q4: 如果PRD或TDD有修改怎么办?
A: 使用"refine-requirement-docs"技能同步更新测试用例,或重新生成。
Q5: 生成的边界值测试合理吗?
A: AI会基于数据类型和长度生成标准边界测试,具体业务边界需人工调整。
检查清单
使用此技能后,确认以下内容:
- PRD和TDD均已完成且评审通过
- 测试用例草稿已生成
- 功能测试覆盖PRD所有核心功能
- 接口测试覆盖TDD所有接口
- 用例编号符合规范
- 用例包含优先级
- 边界值测试已生成
- 异常场景测试已生成
- 性能测试用例已生成
- 安全测试用例已生成
- 已执行质量检查
- 人工审核计划已安排
相关资源
规则
技能
模板
技能维护者: [填写]
最后更新: 2026-02-09
版本: v1.0