一、等价类划分法
概念:
将程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。该方法是常用的黑盒测试用例设计方法。
(某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不太可能发现错误。)
关于等价类划分的两个重要概念:
有效等价类:有效等价类是程序规格说明有意义,合理的输入数据。
比如用正确的用户名和密码来登录系统就是有效等价类。
无效等价类:无效等价类是程序规格说明无意义,不合理的输入数据。
比如用不存在的用户名和密码来登录系统就是无效的等价类。
测试用例设计步骤:
划分等价类后,建立等价类表,并为每一个等价类规定一个唯一的编号
设计一个测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖为止
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止
正向与反向用例:
有效的等价类组成正向的用例
有效+无效的等价类组成反向的用例
举例分析:
接下来,我们使用等价类划分法来给这个注册程序编写测试用例:
测试项 | 测试点 | 详细需求 | 编号 | 有效等价类 | 编号 | 无效等价类 |
邮箱地址 | 输入符合需求 | 6~18个字符,可使用字母、数字、下划线,需要以字母开头 | 1 | aaaaaa(全英文6位) | 12 | 123456 |
2 | a12345(英文+数字6位) | 13 | a1234 | |||
3 | a_1234(英文+数字+下划线6位) | 14 | _123456 | |||
4 | aaaaaaaaaaaaaaaaaa(全英文18位) | 15 | a12345678912345678 | |||
5 |