等价类划分是一种典型的黑盒测试设计方法,使用该方法主要对测试子项进行测试规格分析,得到用例,而不用对系统内部处理进行深入了解,它也是目前测试设计过程中使用最普遍的一种方法。采用等价类划分,是将系统的输入域划分为若干部分,然后从每个部分选取少数代表性数据进行测试,这样可以避免穷举法产生的大量用例,从而达到使用少量代表性的测试数据取得较好测试结果的目的。
等价类:分为有效等价类和无效等价类。
1、有效等价类:是指对于系统的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能;
2、无效等价类:是指对于系统的规格说明来说是不合理或无意义的输入数据所构成的集合。
使用原则:
1、规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类
2、规定了输入值的集合或者规定了必须如何的条件的情况下,可确立一个有效等价类和一个无效等价类
3、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
4、规定了输入数据的一组值假定n个,并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
5、规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类符合规则和若干个无效等价类从不同角度违反规则
设计步骤
1、针对需求,使用对应的原则划分有效等价类和无效等价类
2、编写等价类表,为每一个有效等价类和无效等价类编号
3、设计一条新的测试用例,使其尽可能多的覆盖未被覆盖到的有效等价类,重复这个步骤,直到所有的有效等价类被覆盖完
4、设计一条新的测试用例,每条测试用例仅覆盖一个未被覆盖的无效等价类,重复这个步骤,直到所有的无效等价类被覆盖完
例1:现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6位数字字符组成,前4位表示年,后2位表示月。使用等价类法设计测试用例
设计等价类表
为有效等价类和无效等价类设计用例
例2:某程序有三个输入项:month 、 day 和 year ,输出为输入日期后一天的日期。 例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件:①1≤month≤12 ②1≤day≤31 ③1920≤year≤2050,使用等价类法设计测试用例
等价类表
测试用例
例3:用户注册,需要输入用户名,密码,确认密码和验证码。
用户名:长度6-20位字符,可以包含字母和数字(可以是纯字母、纯数字或者字母+数字)。如果长度错误,系统提示“用户名长度为6-20位字符,请重新输入”;如果包含字母和数字以外的字符,系统提示“非法字符,用户名只能包含字母和数字”; 如果用户名已存在,系统提示“用户名已存在,请重新输入”。
密 码:长度6-10位,由字母和数字组成(必须同时包含字母和数字,即字母+数字组成);如果长度错误,系统提示“密码长度为6-10位字符,请重新输入”;如果格式错误,系统提示“非法字符,密码必须包含字母和数字”。
确认密码:与密码一致,否则提示“与密码不一致,请重新输入”。
验证码:4位,由系统随机生成,可以包含大写字母、小写字母或数字;与系统生成的验证码一致,否则系统提示“验证码错误,请重新输入”。
注册成功后,系统提示“注册成功,用户xxx请登录后使用系统”,并且将用户数据写入数据库
等价类表:
测试用例:
下期开始介绍黑盒用例设计方法之边界值法,敬请期待。