第1节 等价类方法设计

1.1 基本概念

  • 程序输入域的子集

1.2 等价类的划分

  • 有效等价类:对于程序的规格说明来说是合理的,有意义的输入数据构成的集合,他主要检测程序是否可以实现规格说明中所规定的需求。
  • 无效等价类:对于程序的规格说明是不合理的,无意义的输入数据构成的集合,他主要检测程序在不符合规定的情况下,是否有异常,无效等价类至少有一个或者多个

1.3 使用场景

  • 多数用于设计程序输入时的用例编写方法

1.4 等价类的设计原则

(1)若输入条件规定了取值范围,或者规定了值的个数的情况下:可划分为一个有效等价和两个无效等价

栗子:Q的取值范围为:[1,10]
有效等价类 1 <= Q <= 10
无效等价类 Q < 1
Q > 10

(2)如输入的条件为布尔表达式,可划分为一真一假的有效等价类与无效等价类:

栗子:入职添加工号,其中姓名为必填
有效等价类 无效等价类
填写姓名 不填写姓名

(3)若规定了输入的数据必须遵守的原则,可划分为一个有效等价类(符合规则)和若干个无效等价类:

栗子:手机号码只可以输入数字
有效等价类 无效等价类
输入数字 特殊符号

汉字

字母

(4)若只要求输入数据符合某几个原则,这时可能有多个有效等价类和若干个无效等价类

栗子:交易用户登录密码只可输入数字、字母及部分特殊符号,不能输入单/双引号及汉字
有效等价类 无效等价类
输入数字 输入单引号
输入字母 输入双引号
输入特殊字符(除单双引号) 输入汉字
。。。

(5)若规定了输入数据的一组值(假设N个),并且程序对不同输入做不同处理,则可以划分为N个有效等价类(每个允许的输入值为一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)

栗子:输入条件规定学历为:专科、本科、硕士、博士等四种之一
有效等价类 无效等价类
专科 专科
本科
硕士
博士
本科
硕士
博士