4. 功能验证用例设计方法

功能验证用例设计是质量保障的核心环节,其目标是系统地从需求中提取可执行的测试场景。本章围绕等价类划分、边界值分析、场景法、正交实验法四种经典方法,按照适用场景、前置条件、操作步骤、输入输出物、责任边界、记录材料、异常处理、验收标准八个维度展开,帮助你在实际项目中快速选择并落地正确的用例设计策略。

学习提示:四种方法并非互斥,实践中常组合使用。
例如:先用等价类划分缩减输入域,再用边界值分析补充极限场景,最后用场景法串联业务流程。
功能验证用例设计方法选择与执行流程 功能需求规格说明 测试设计决策 等价类划分 有效 / 无效类 边界值分析 上点 / 离点 / 内点 场景法 基本流 / 备选流 正交实验法 因素 / 水平 / 正交表 生成优化测试用例集 覆盖度评估 → 迭代补充 → 基线用例库

4.1 等价类划分法

将输入域划分为若干互不相交的子集(等价类),每个子类中的任意值对程序行为等价,只需从每类中选取一个代表值即可。该方法能有效压缩无限输入域,是功能验证最基础的用例设计技术。

维度内容说明
适用场景输入条件为离散值或连续值范围;存在明确的有效/无效分区;如年龄输入(1-120岁)、枚举类型选择、状态码校验。
前置条件需求规格已明确输入域边界和约束;已识别至少一个有效类和一个无效类。
操作步骤
  1. 识别每个输入条件的有效等价类和无效等价类。
  2. 为每个等价类分配唯一编号(EC-001, EC-002 …)。
  3. 从每个等价类中选取一个典型代表值。
  4. 设计用例覆盖所有有效类,并尽可能覆盖无效类(通常每条用例只覆盖一个无效类)。
输入输出物输入:需求规格说明、接口定义文档。输出:等价类划分表、对应测试用例集。
责任边界测试工程师负责划分等价类并设计用例;产品经理确认等价类划分与需求一致;开发工程师提供输入域约束。
记录材料等价类划分清单(含类编号、类型、代表值、覆盖状态);用例与等价类追溯矩阵。
异常处理若某等价类无法确定代表值,标记为“待确认”并与需求方对齐;无效类用例失败不代表缺陷,需确认预期行为。
验收标准每个等价类至少被一条用例覆盖;无效类覆盖率100%;用例评审通过率≥95%。
实战示例:用户注册年龄字段(有效1-120岁,无效<1、>120、非数字)。
有效类代表值:25;无效类代表值:0、150、"abc"。共3条用例覆盖全部4个等价类。

4.2 边界值分析法

大量缺陷集中在输入域的边界附近。边界值分析在等价类划分的基础上,进一步选取边界内点、离点和上点进行测试,是对等价类划分的强化补充。

维度内容说明
适用场景输入或输出存在明确的数值范围、长度限制、枚举边界;如密码长度(6-16位)、数组索引、超时时间(1-60秒)。
前置条件已完成等价类划分;边界值已从需求中明确(闭区间/开区间需区分)。
操作步骤
  1. 确定每个输入域的边界值:最小值(min)、最大值(max)、略小于最小值(min-1)、略大于最大值(max+1)。
  2. 对闭区间边界,选取 min、max、min-1、max+1、min+1、max-1(根据精度确定离点)。
  3. 对每个边界点设计独立用例,避免与其他边界耦合。
  4. 标记边界点类型:上点(ON)、离点(OFF)、内点(IN)。
输入输出物输入:等价类划分表、需求规格。输出:边界值分析表、边界测试用例集。
责任边界测试工程师识别边界并设计用例;架构师确认边界精度(如浮点精度、时间粒度)。
记录材料边界值分析清单(含边界类型、选取值、预期结果);缺陷与边界关联记录。
异常处理若边界在需求中模糊(如“不超过10”未说明是否包含10),需发起需求澄清;边界用例失败应优先归因于边界条件处理逻辑。
验收标准每个输入域的每个边界点至少被一条用例覆盖;边界预期结果与需求一致;用例评审通过率≥95%。
常见误区:将边界值分析与等价类划分割裂使用。正确做法:先划分等价类,再在有效类的边界处补充离点和上点,无效类的边界也应覆盖。

4.3 场景法

场景法基于用户真实操作流程设计用例,通过“基本流 + 备选流”的组合覆盖从开始到结束的完整业务路径,特别适合端到端的业务流程验证。

维度内容说明
适用场景业务流程清晰的系统(电商下单、审批流、转账交易);包含多个参与者或状态转换的功能模块。
前置条件已完成业务流程建模或状态转换图;已识别基本流和至少2条备选流。
操作步骤
  1. 绘制业务流图,标注基本流(Happy Path)和备选流(异常分支、取消、回退等)。
  2. 为每条备选流分配标识符(ALT-01, ALT-02 …)。
  3. 组合基本流与备选流生成场景:基本流 + ALT-01、基本流 + ALT-02、基本流 + ALT-01 + ALT-03 等。
  4. 为每个场景设计具体测试数据并生成用例。
输入输出物输入:业务流程图、状态转换表、用户故事。输出:场景列表、场景用例集。
责任边界业务分析师提供流程与备选分支;测试工程师绘制流图并设计场景;用户体验设计师确认关键路径。
记录材料业务流图(含节点和转换条件);场景与用例映射矩阵;场景执行状态跟踪表。
异常处理若发现缺失的备选流,立即补充到场景列表;场景执行阻塞时记录前置条件缺失并通知业务方。
验收标准基本流和每条备选流至少被一条场景覆盖;场景覆盖率达到100%;关键业务路径P0场景全部通过。
组合策略:当备选流数量较多时,优先将备选流与基本流组合,再选取高风险的备选流间组合。一般场景数 = 1(基本流)+ 备选流数 + 重要备选流组合数。

4.4 正交实验法

当功能受多个因素(参数)影响,每个因素又有多个水平(取值)时,正交实验法用最少的组合覆盖所有因素水平对,大幅降低用例数量同时保证覆盖度。

维度内容说明
适用场景配置项多、参数组合爆炸的场景(如浏览器兼容性测试、API参数组合、设备配置矩阵);因素数≥3且水平数≥2。
前置条件已确定所有因素及其水平数;已选择或构造合适的正交表 Ln(mk)。
操作步骤
  1. 列出所有因素(A, B, C …)和每个因素的水平值。
  2. 选择正交表:确保行数 ≥ 最大水平数,列数 ≥ 因素数。
  3. 将因素映射到正交表的列,每行即为一条测试组合。
  4. 补充必要的边界或特殊组合(如全零、全最大)。
输入输出物输入:因素水平表、正交表库(如L9(3⁴)、L16(4⁵))。输出:正交实验设计表、对应用例集。
责任边界测试工程师选取正交表并完成映射;产品经理确认因素优先级;开发工程师提供默认值和约束。
记录材料因素水平定义表;正交实验设计矩阵;组合覆盖度分析报告。
异常处理若某因素水平数不匹配,采用“拟水平法”或“混合水平正交表”;正交表行数过多时可按风险优先级裁剪。
验收标准所有因素水平至少出现一次;任意两个因素的所有水平组合至少被一条用例覆盖(两两覆盖);组合覆盖度 ≥ 90%。
示例:搜索功能测试——因素:搜索类型(精确/模糊)、排序方式(时间/热度)、结果数量(10/20/50)。
传统全组合需 2×2×3=12 条,正交法 L9(3⁴) 只需9条,覆盖所有两两组合。

4.5 四种方法对比与选择建议

方法核心思想最佳适用节点用例数量发现缺陷类型
等价类划分同类代表值单输入域验证少(每类1条)功能逻辑错误
边界值分析边界极限数值/长度边界中(每边界2-6条)边界溢出/越界
场景法业务流程端到端路径中(依分支数)流程中断/状态错误
正交实验法组合覆盖多参数组合少-中(依正交表)参数冲突/组合遗漏
选择优先级建议:
1. 单输入域 → 等价类划分 + 边界值分析(必选组合)
2. 业务流程 → 场景法(主导)+ 等价类/边界值(补充)
3. 参数组合爆炸 → 正交实验法(优先)+ 边界值(补充关键边界)
4. 每轮迭代必须保证等价类划分和边界值分析全部覆盖,这是功能验证的基线。