1、应用
http://【等价类划分法 - 优快云 App】http://t.csdnimg.cn/UqN2e
例题:某网站用户申请注册时,要求必须输入“用户名”、“密码”及“确认密码”,如下图所示。对每一项输入有如下要求:
- 用户名要求:3~12 位,只能使用英文字母、数字、中划线-、下划线_,这 4 种字符或 4 种字符的组合。并且首字符必须为字母或数字。
- 密码要求:6~20 位,只能使用英文字母、数字、中划线-、下划线_,这 4 种字符或 4 种字符的组合。
- 确认密码:与密码相同,并且区分大小写。
现在使用等价类划分法设计其测试用例。
1、分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类),如下表所示:
2、一一列出条件中可能的输入组合情况
在该题中,可以有这样的组合,如:
- 输入有效的用户名、有效的密码、有效的确认密码;
- 输入无效的用户名、正确的密码、正确的确认密码;
- 输入有效的用户名、无效的密码、正确的确认密码;
- 输入有效的用户名、有效的密码、无效的确认密码。
针对题中的等价类表,我们可以得出等价类组合表,如下表所示。此处简化测试用例的模板,只取我们关注的输入条件和输出结果的项,预期结果中的提示也是假设的,实际的提示会比这复杂的多。
3、选择测试数据,编写测试用例,如下表所示:
2、小结
在等价类划分法中,每一类的代表性数据(也就是被选为测试用例的测试数据),在测试中的作用等价于这一类中的其他值,如案例 1 中的密码“test_123”和“abcd_123”就是等效的,他们都属于有效的密码数据。
也就是说如果等价类中的一个测试数据能捕获一个缺陷,那么该等价类中的其他测试数据也能捕获该缺陷;如果等价类中的一个测试数据不能捕获缺陷,那么选择该等价类中的其他测试数据也不能捕获缺陷。这是一个重要的结论。
只要有数据输入的地方,就可以采用等价类划分法,它可以从无限多的数据中选取少数代表性的数据进行测试以减少测试人员的工作量。
注意:在测试用例中,可以先测试全部输入条件的有效等价类组合,再每次只测试一个输入条件的无效等价类情况。无效等价类在开始测试的时候不能一起组合,避免“屏蔽”现象发生(前面输入条件的错误提示一出现,后面控件的错误提示就不出现了)。然后可以再适当考虑无效等价类的组合,验证软件处理极端数据的能力。