Skip to content

等价类划分

自测题

完成以下 3 道题目,检验你的学习成果

问题 1

等价类划分的核心假设是什么?

问题 2

用户名长度限制 6-20 位字母数字,无效等价类应该怎么划分?

问题 3

有效等价类和无效等价类设计测试用例的原则有什么不同?

基础入门

等价类划分是黑盒测试中最基础、最实用的测试设计方法,核心思想是将输入域划分成若干个等价类,每个等价类中的所有值对于测试目的来说是等效的。测试时只需从每个等价类中选取一个代表值进行测试,假设该等价类中的其他值会得到相同的测试结果。等价类分为两类:有效等价类是指符合需求和规格说明的合法输入集合,无效等价类是指不符合需求和规格说明的非法输入集合。\n\n例如用户名输入框限制为 6-20 位字母数字,有效等价类是 6-20 位字母数字组合,无效等价类包括长度小于 6、长度大于 20、含特殊字符、空值等多种情况。等价类划分的核心价值在于大幅减少测试用例数量,避免冗余测试,同时保证测试覆盖率。

为什么重要

  • 面试高频考点:面试官经常问「你怎么设计测试用例」「如何控制用例数量」。
  • 测试设计基础:等价类划分是测试人员的基本功,是系统化设计测试用例的起点。
  • 效率与覆盖兼顾:用最少的用例覆盖最全的场景,体现测试设计的专业性。
  • 与边界值分析配合:两者结合形成完整的黑盒测试设计体系,适用于几乎所有输入类测试。

相关术语对比

等价类划分与边界值分析的关系

等价类划分确定测试范围,边界值分析在边界附近深入测试。

先做等价类划分确定每个等价类,再对边界等价类做边界值分析。

两者配合使用:等价类划分保证「每个范围至少测一个」,边界值分析保证「每个边界至少测三个」。

前置知识

  • 需求分析能力:能够从需求文档中提取输入条件和约束。
  • 黑盒测试概念:理解黑盒测试是基于需求而非代码的测试方法。
  • 测试用例设计:了解测试用例的基本要素(输入、预期结果、执行步骤)。

学习路径

  • 第一阶段:理解等价类划分的基本概念和原理。
  • 第二阶段:掌握有效等价类和无效等价类的划分方法。
  • 第三阶段:练习从需求中提取等价类,设计测试用例。
  • 第四阶段:学习等价类与边界值分析的配合使用。
  • 第五阶段:积累实际项目中的等价类划分案例。

实操案例

案例1:用户名注册的等价类划分

需求:用户名长度 6-20 位,只能包含字母和数字,不能为空。等价类划分:有效等价类(6-20 位字母数字)。无效等价类1(长度 < 6)、无效等价类2(长度 > 20)、无效等价类3(含特殊字符)、无效等价类4(空值)。测试用例设计:1个有效用例(用户名 ‘testuser1’)+ 4个无效用例。

案例2:年龄输入的等价类划分

需求:年龄输入框,只接受 18-65 岁的整数。等价类划分:有效等价类(18-65 的整数)。无效等价类1(< 18)、无效等价类2(> 65)、无效等价类3(负数)、无效等价类4(小数)、无效等价类5(非数字)、无效等价类6(空值)。测试用例设计:1个有效用例 + 6个无效用例。

案例3:订单状态筛选的等价类划分

需求:订单状态筛选支持「待支付、已支付、已发货、已完成、已取消」五种状态,可多选。等价类划分:有效等价类(任一状态)、有效等价类(多状态组合)、无效等价类(空值)。测试用例设计:单状态筛选用例、组合状态筛选用例、空值筛选用例。

常见误区

误区1:等价类划分太粗糙

问题:把所有有效值归为一个等价类,遗漏业务细分场景。

正确做法:按业务逻辑细分等价类,如年龄输入不只是「有效/无效」,还应细分「未成年」「青年」「中年」「老年」等业务等价类。

误区2:忽略无效等价类

问题:只关注有效输入,忽略非法输入的处理逻辑验证。

正确做法:无效等价类同样重要,每种非法情况要单独设计测试用例,验证系统的错误处理能力。

误区3:等价类假设不加验证

问题:盲目假设等价类内所有值结果相同,不做验证。

正确做法:关键等价类要用多个值验证假设是否成立,特别是涉及计算逻辑时。

误区4:无效等价类组合测试

问题:一个测试用例同时测试多个无效等价类,无法定位具体问题。

正确做法:每个无效等价类单独测试,一个用例只验证一种非法情况,其他输入保持有效。

误区5:忽略输出等价类

问题:只关注输入等价类,忽略输出等价类的划分。

正确做法:等价类划分同样适用于输出,根据输出结果的类型和范围划分等价类,确保输出覆盖完整。

面试问答

什么是等价类划分?为什么能减少测试用例数量?

等价类划分是将输入域分成若干等价类,每类选代表值测试。减少用例的原因是:假设等价类内所有值测试结果相同,无需穷举测试每个值。\n\n例如输入范围 1-100,传统方法需测 100 次,等价类划分只需测「有效类」「无效类」两个代表值。

有效等价类和无效等价类怎么划分?

有效等价类:收集符合规则的合法输入,范围限制归一类,枚举值各一类。无效等价类:每种非法情况独立一类,包括范围外、格式错、类型错、空值等。关键原则:有效等价类可组合测试,无效等价类必须单独测试。

等价类划分设计测试用例的步骤是什么?

第一步:分析输入条件,从需求中提取所有输入约束。

第二步:划分等价类,每个条件分成有效和无效等价类。

第三步:选代表值,每个等价类选典型值。

第四步:组合测试用例,有效等价类组合成有效用例,无效等价类单独设计无效用例。

等价类划分和边界值分析怎么配合使用?

配合原则:等价类划定范围,边界值深入边界。先做等价类划分确定测试范围(每个等价类至少测一个),再做边界值分析在边界附近深入测试(边界-1、边界、边界+1)。\n\n例如范围 1-100:等价类确定测「有效」「无效」两类,边界值补充测 0、1、100、101 四个关键点。

举一个等价类划分发现线上问题的案例?

案例:优惠券系统限制「每人限领 3 张」。等价类划分为:有效类(已领 0、1、2 张)、无效类(已领 3 张以上)。测试发现:用户已领 3 张后仍可领取,原因是开发用「小于」而非「小于等于」判断。这个缺陷通过等价类划分的边界点测试发现。

自测题

完成以下 3 道题目,检验你的学习成果

问题 1

等价类划分的核心假设是什么?

问题 2

用户名长度限制 6-20 位字母数字,无效等价类应该怎么划分?

问题 3

有效等价类和无效等价类设计测试用例的原则有什么不同?