需求测试 Skill
1. 目标
识别需求文档中的模糊点、缺失点、矛盾点,生成结构化问题清单,确保需求可测试。
2. 输入输出
- •输入:
cleaned-requirements/index.md、CLAUDE.md - •输出:
cleaned-requirements/issues.md
3. 核心原则
- •测试必要性:只识别影响测试工作的问题
- •一致性:整个文档前后不矛盾
- •灵活性:不做硬性数量限制,适配不同场景
- •用规范引导,不用过滤限制
4. 具体规范
4.1 问题识别标准
核心判断标准:这个问题是否影响测试用例设计或测试结果判断?
如果影响,就应该识别;如果不影响,就不需要识别。
示例判断:
- •"删除操作是否需要二次确认?" → 影响测试流程 → 识别
- •"数据保留多久?" → 影响过期场景测试 → 识别
- •"错误提示文案是什么?" → 影响测试验证 → 识别
- •"为什么要做这个功能?" → 如果不影响测试设计 → 不识别
- •"用什么数据库?" → 如果不影响测试验证 → 不识别
- •"按钮颜色是什么?" → 如果只是装饰 → 不识别;如果涉及状态区分 → 识别
4.2 识别维度(6个)
| 维度 | 关注点 |
|---|---|
| 前因后果 | 业务规则、权限约束、前置条件 |
| 边界定义 | 生效条件、范围排除、限制条件 |
| 异常场景 | 失败处理、重试、回退、冲突处理 |
| 交互细节 | 文案、提示、加载、空态、反馈 |
| 数据状态 | 字段定义、状态流转、数据约束 |
| 性能兼容 | 响应时间、并发、兼容范围 |
4.3 问题格式
每个问题包含 4 个字段:
markdown
## 问题 N [分类 · 优先级] [位置] 第X页 - 章节名称 [问题] 需求文档提到"原文引用",但没说清楚XXX,导致无法设计测试用例。 [需要澄清] 1. 具体问题1? 2. 具体问题2? [产品回答] <!-- 在此填写 --> ---
字段说明:
- •[位置]:在哪里发现的问题
- •[问题]:为什么有这个问题,影响是什么
- •[需要澄清]:具体要问什么
- •[产品回答]:留空给产品填写
4.4 分类和优先级
分类(6选1):
- •
前因后果、边界定义、异常场景、交互细节、数据状态、性能兼容
优先级(3选1):
- •
critical:不明确则无法设计测试 - •
warning:影响核心用例设计 - •
info:影响边界和异常用例
5. 示例
示例 1:正确的问题
markdown
## 问题 1 [前因后果 · critical] [位置] 第5页 - 广告账户选中 [问题] 需求文档提到"点击某一个广告账户",但没说清楚选中需要什么权限,无权限时如何处理,导致无法设计权限相关的测试用例。 [需要澄清] 1. 选中广告账户需要什么权限? 2. 没有权限时如何提示用户? [产品回答] <!-- 在此填写 --> ---
为什么正确:直接影响测试用例设计(权限测试、异常测试)
示例 2:错误的问题
markdown
## 问题 X [前因后果 · warning] [位置] 第1页 - 需求背景 [问题] 需求文档提到"通过Tiktok平台同步广告数据",但没说清楚为什么要做这个功能,市场背景是什么。 [需要澄清] 1. 为什么要开发这个功能? 2. 竞品是怎么做的? [产品回答] <!-- 在此填写 -->
为什么错误:纯业务背景,不影响测试设计
6. 检查清单
- • 所有问题都影响测试用例设计或测试结果判断
- • 没有纯业务背景问题(除非影响测试)
- • 没有纯技术实现问题(除非影响测试)
- • 没有常识问题
- • 分类准确(6个维度之一)
- • 优先级准确(critical/warning/info)
- • 每个问题有 4 个字段:[位置]、[问题]、[需要澄清]、[产品回答]
- • 每个问题结尾有
---分隔符 - • 前后表述一致,无矛盾