测试点生成器
概述
本 Skill 用于根据需求文档(PRD、接口文档、简短描述)自动生成全面、结构化的测试点。覆盖功能、边界值、异常处理、性能、安全、兼容性、易用性七大维度,以结构化表格输出,含优先级、前置条件、预期结果等字段。
工作流程
Step 1:需求解析
读取用户提供的需求文档或描述,提取关键信息:
- 识别需求类型:判断是 PRD 文档、接口文档还是简短描述
- 提取核心要素:
- 功能清单(所有用户可操作的功能点)
- 业务规则(校验规则、状态流转、权限控制)
- 数据模型(实体、字段、取值范围)
- 用户角色与权限
- 交互流程与页面跳转
- 非功能需求(性能指标、安全要求等) - 推断隐含需求:从显式需求中推导未明说的配套功能
对于详细的解析方法论,参考 references/testing_methodology.md 中的「需求文档解析方法」章节。
Step 2:按维度生成测试点
按照以下七大维度逐一分析并生成测试点。每个维度的具体分析策略和常用测试点模式详见 references/testing_methodology.md 中对应的维度详解章节。
| 维度 | 关注点 | 优先级范围 |
|---|---|---|
| 功能测试 | 核心业务流程、CRUD、状态流转、权限控制 | P0-P1 |
| 边界值测试 | 数值边界、字符串长度、集合容量、分页临界 | P2 |
| 异常处理测试 | 非法输入、网络异常、并发冲突、服务降级 | P1-P2 |
| 性能测试 | 响应时间、并发能力、大数据量、资源利用 | P3 |
| 安全测试 | 认证授权、注入攻击、数据加密、接口安全 | P3 |
| 兼容性测试 | 浏览器、设备、系统、分辨率、接口版本 | P3 |
| 易用性测试 | 操作便捷、提示清晰、反馈及时、容错设计 | P3 |
优先级说明:上表为默认优先级范围,若需求中有明确的性能/安全要求,可将对应测试点提升至 P1 或 P0。优先级评估规则详见 references/testing_methodology.md 中的「优先级评估方法」章节。
Step 3:结构化输出
以 Markdown 表格形式输出测试点,格式如下:
| 编号 | 测试维度 | 测试点描述 | 优先级 | 前置条件 | 预期结果 |
|------|---------|-----------|--------|---------|---------|
| TP-001 | 功能测试 | ... | P0 | ... | ... |
| TP-002 | 边界值 | ... | P2 | ... | ... |
输出规范:
- 编号:TP-XXX 格式,按维度分组编号(功能 TP-001~099,边界 TP-100~199,异常 TP-200~299,性能 TP-300~349,安全 TP-350~399,兼容 TP-400~449,易用 TP-450~499)
- 测试维度:从七个维度中选择
- 测试点描述:使用"对[对象]执行[操作],验证[结果]"的句式
- 优先级:P0/P1/P2/P3
- 前置条件:执行该测试点需要满足的前提
- 预期结果:明确的、可验证的预期行为
Step 4:补充测试点设计说明
在表格之后,补充以下内容:
- 测试设计方法:说明本次测试点设计使用了哪些方法(等价类划分、边界值分析、正交法、状态迁移法、错误推测法等)
- 风险点提示:标注可能存在遗漏或风险较高的测试区域
- 建议补充项:标注因需求信息不足而无法确定的测试点,提示用户确认
使用示例
示例输入
> 用户注册功能:用户通过手机号注册,需输入手机号、验证码、密码(8-20位,含大小写字母和数字)、确认密码。手机号需格式校验,验证码60秒过期,同一手机号每天限发5次验证码。
示例输出片段
| 编号 | 测试维度 | 测试点描述 | 优先级 | 前置条件 | 预期结果 |
|---|---|---|---|---|---|
| TP-001 | 功能测试 | 输入合法手机号、正确验证码、符合规则的密码,提交注册,验证注册成功 | P0 | 验证码已发送且未过期 | 注册成功,跳转到首页,数据库新增用户记录 |
| TP-002 | 功能测试 | 输入未格式校验的手机号,提交注册,验证提示手机号格式错误 | P1 | 无 | 提示"手机号格式不正确",注册不提交 |
| TP-100 | 边界值 | 密码输入7位(含大小写字母和数字),验证提示密码长度不足 | P2 | 无 | 提示"密码长度8-20位" |
| TP-101 | 边界值 | 密码输入8位(含大小写字母和数字),验证注册成功 | P2 | 验证码有效 | 注册成功 |
| TP-102 | 边界值 | 密码输入20位(含大小写字母和数字),验证注册成功 | P2 | 验证码有效 | 注册成功 |
| TP-103 | 边界值 | 密码输入21位,验证提示密码长度超限 | P2 | 无 | 提示"密码长度8-20位" |
| TP-200 | 异常处理 | 同一手机号1分钟内重复发送验证码,验证提示操作频繁 | P1 | 已发送1次验证码 | 提示"操作频繁,请稍后再试" |
| TP-201 | 异常处理 | 验证码输入过期验证码,验证提示验证码失效 | P1 | 验证码已过期 | 提示"验证码已失效,请重新获取" |
| TP-300 | 性能测试 | 验证码发送接口在100并发下响应时间<500ms | P3 | 无 | 响应时间<500ms,无错误 |
| TP-350 | 安全测试 | 密码字段输入SQL注入字符串,验证系统安全处理 | P3 | 无 | 注入被拦截,提示输入非法 |
| TP-351 | 安全测试 | 密码在传输和存储中是否加密,验证数据安全 | P3 | 无 | 传输使用HTTPS,存储使用加密哈希 |
| TP-400 | 兼容性测试 | 在主流移动端浏览器(Safari/Chrome)中验证注册流程正常 | P3 | 无 | 注册功能正常使用 |
| TP-450 | 易用性测试 | 验证码发送后按钮显示60秒倒计时,验证用户引导 | P3 | 已点击发送验证码 | 按钮变为倒计时状态,60秒后恢复 |
注意事项
- 若需求文档信息不足,主动列出需要确认的问题,而非自行假设
- 测试点粒度适中——单个测试点只验证一个验证点,避免复合验证
- 对于复杂业务逻辑,优先使用状态迁移法确保状态覆盖完整
- 输出表格后必须附上测试设计方法说明和风险提示
- 优先确保功能测试和异常处理的覆盖度,再补充其他维度