| 名称 | 需求转测试用例 |
| 描述 | 当拿到需求文档、用户故事或接口说明需要转成可执行测试用例时使用。该技能先拆解验收条件,再用等价类、边界值、判定表、状态迁移和场景法生成正向、反向与异常用例,并输出带需求追溯编号的用例表。适用于需求评审、测试用例设计、回归范围评估与验收标准对齐。关键词:测试用例、需求分析、验收条件、等价类、边界值、判定表、状态迁移、场景测试、正向用例、异常用例、需求追溯、测试覆盖、回归测试、给定-当-那么(Given When Then)。 |
需求转测试用例
把“系统应支持…”变成一组可执行、可追溯、覆盖边界的用例。
何时使用
- 需求评审后需要产出测试用例。
- 开发前需要确认验收标准是否可测。
- 回归测试需要圈定影响范围。
- 缺陷复盘发现用例覆盖不足。
不适用:纯性能与安全测试设计(可衔接对应技能);无验收标准的模糊需求,先补需求。
输入
- 需求文档、用户故事或接口文档。
- 业务规则与约束(限额、权限、时限)。
- 已有用例与缺陷历史。
- 优先级定义。
需求存在歧义时先列问题清单,不要用假设补齐关键规则。
工作流
第 1 步:拆验收条件
每条需求拆成可判定的条件:
给定(Given)前置条件
当(When)操作
那么(Then)可观测结果
一条需求通常产生 1 到 5 条验收条件;超过 10 条说明需求粒度过大。
第 2 步:选设计方法
按 references/test-design-techniques.md:
| 场景 | 方法 |
|---|---|
| 输入有范围 | 等价类 + 边界值 |
| 多条件组合 | 判定表 |
| 有生命周期 | 状态迁移 |
| 端到端流程 | 场景法 |
| 参数多且相互独立 | 正交或成对组合 |
| 错误处理 | 异常注入 |
第 3 步:生成用例
每个用例包含:
- 编号与追溯需求编号。
- 前置条件与测试数据。
- 操作步骤。
- 预期结果(可判定)。
- 优先级:P0 主干、P1 重要、P2 一般。
正向用例覆盖主流程;反向用例覆盖非法输入与权限;异常用例覆盖依赖失败与并发。
第 4 步:覆盖率检查
- 需求覆盖:每条验收条件至少一条用例。
- 规则覆盖:判定表每一列都有用例。
- 状态覆盖:每个状态与每条合法/非法迁移。
- 边界覆盖:最小值、最大值、越界、空值。
- 异常覆盖:超时、重复提交、并发、依赖不可用。
第 5 步:评审与维护
- 与产品、开发共同评审,确认预期结果。
- 标注自动化可行性,优先自动化 P0。
- 需求变更时更新追溯矩阵,废弃用例标记而非删除。
检查清单
- [ ] 每条验收条件都有对应用例。
- [ ] 边界值覆盖最小、最大、越界、空。
- [ ] 判定表所有规则组合已覆盖。
- [ ] 状态机的非法迁移有对应用例。
- [ ] 权限用例覆盖不同角色与越权。
- [ ] 异常场景覆盖超时、重复、并发。
- [ ] 预期结果可判定,无“正常显示”这类表述。
- [ ] 用例已关联需求编号。
- [ ] 测试数据可构造且可清理。
输出模板
## 覆盖概览
| 需求 | 验收条件 | 用例数 | 覆盖状态 |
| --- | --- | --- | --- |
## 用例
| 编号 | 需求 | 优先级 | 前置 | 步骤 | 预期 | 类型 |
| --- | --- | --- | --- | --- | --- | --- |
## 未覆盖与风险
- ...
## 待确认问题
- ...
反模式
- 只写正向流程,不写异常与边界。
- 预期结果写“正常”“符合预期”。
- 用例相互依赖,无法独立执行。
- 需求变更后用例不更新。
- 用一条用例覆盖多个规则,失败后无法定位。
参考文件
references/test-design-techniques.md:五类设计方法与示例。