第4章 测试用例设计原则:等价类、边界值、正交表

章节核心:等价类划分减少冗余,边界值分析暴露临界缺陷,正交表以最少组合覆盖多因子交互。三者组合构成DVT阶段测试用例设计的三大基础方法。

4.1 适用场景

方法适用场景
等价类划分输入数据离散或取值范围明确,需降低用例数量但仍保证覆盖率
边界值分析存在数值边界、容量极限、时间临界条件,边界处缺陷密度最高
正交表多因子多水平交互测试,需系统化组合以最小用例数覆盖主要交互

4.2 前置条件

  • 已完成测试需求分析,明确被测功能的输入域、输出域
  • 取得被测模块的详细设计文档或需求规格说明书
  • 已识别关键质量属性(性能、安全、兼容等)中涉及的多因子场景
  • 测试环境已搭建,可执行指定边界和等价类下的验证

4.3 操作步骤

步骤 1 – 等价类划分

  1. 针对每个输入条件,识别有效等价类(合法输入)和无效等价类(非法输入)。
  2. 为每个有效等价类设计一个测试用例,覆盖所有有效等价类。
  3. 为每个无效等价类单独设计测试用例(确保一次只触发一个无效等价类)。
  4. 汇总形成等价类测试用例表。

步骤 2 – 边界值分析

  1. 确定每个等价类的边界点:最小值、最大值、略小于最小值、略大于最大值。
  2. 对于循环或有序集合,补充内边界点(如数组下标0、length-1)。
  3. 将每个边界点与对应等价类结合,生成边界值测试用例。
  4. 检查内边界与外边界是否全部覆盖。

步骤 3 – 正交表设计

  1. 识别影响测试结果的因子及其水平数。
  2. 选择正交表(如 L₉(3⁴)、L₈(2⁷)),要求因子数≥实际因子数、水平数匹配。
  3. 将因子映射到正交表列,生成最小完备组合。
  4. 补充经验认为重要的交互组合(如全因子组合中遗漏的),形成最终正交测试用例集。
实践提示:三者通常组合使用——先用等价类划分主场景,再用边界值补充临界点,最后用正交表覆盖多因子交叉场景。执行顺序可先等价类→边界值→正交,也可对齐度优先时先正交再补充孤值。

4.4 输入输出物

输入物输出物
需求规格说明、接口定义、配置参数范围等价类划分表(含有效/无效类)
边界值分析清单(含上下边界、内边界)边界值测试用例汇总表
因子-水平矩阵、正交表选择依据正交表用例集(含补充组合)

4.5 责任边界

  • 测试设计工程师:主导等价类与边界值分析,提交划分结果并评审。
  • 测试架构师/DVT Lead:决定是否引入正交表,核准因子选择和水平数。
  • 开发工程师:确认输入域和边界值的合理性,提供隐式约束。
  • 质量保证(QA):监督用例覆盖率是否符合DVT准入标准(如等价类覆盖率≥95%、边界值全覆盖)。

4.6 记录材料

  • 等价类划分记录单(含输入条件、有效类、无效类、对应用例编号)
  • 边界值分析检查表(含边界类型、最小值/最大值/略超值、对应用例)
  • 正交表设计文档(因子-水平映射表、选用的正交表类型、补充用例说明)
  • 评审纪要(记录设计原则争议点、修正版本号)

4.7 异常处理

常见异常与应对
  • 无效等价类过多 → 按优先级(严重性/发生频率)筛选,优先覆盖高威胁无效类。
  • 边界值不明确(如时间戳范围依赖算法) → 请求开发提供精确计算边界的方法,或通过静态分析推导。
  • 正交表因子数>可用列数 → 拆分(先正交覆盖主要因子,剩余因子用单独用例补充);或使用混合正交表。
  • 等价类与边界值用例重复 → 去重并保留边界值用例(边界值优先级高于一般等价类)。

4.8 验收标准

  • 每个输入条件至少有一个有效等价类和一个无效等价类用例(若存在无效类)。
  • 所有已识别的边界点(内边界、外边界、临界值)均生成对应测试用例。
  • 正交表用例数不超过“全因子组合数”的30%,且覆盖至少所有两因子交互组合。
  • 评审通过:等价类/边界值/正交表设计文档获得测试组长和开发代表的会签。
  • 用例与需求的追溯矩阵完整,无遗漏输入域。
等价类·边界值·正交表 协同流程图 需求 / 规格输入 等价类划分 有效类 / 无效类 边界值分析 最小值 / 最大值 / 略超 正交表设计 因子-水平映射 组合与去重 DVT 测试用例集 等价类+边界值+正交表 验收 覆盖率 ≥95% ⚠ 设计顺序建议 1. 先进行等价类划分 → 2. 用边界值补充临界点 → 3. 对交互密集因子使用正交表优化。 若需求变更,重新执行上述三步,确保用例集始终与最新规格对齐。