|
软件测试用例设计方法:
(一)等价类划分法
1、定义:
首先,输入输出的数据可以划分成若干区间(子集);
例:对于输入范围在1-9999区间的数据,可以划分为[1,1000),[1000,5000),[5000,9999]三个区间。
其次,在划分成的若干区间内选取个别数据,这些数据可以代表区间内的其他数据,并且测试的效果相同,则称所选取的数据是此区间的等价数据;
例:在[1,1000)中选取10和500两个数据测试的结果是相同,同理在[1000,5000),[5000,9999]两个区间也是。
然后,其中所选取的代表数据分为有效类,无效类;
有效类:对于输入来说,就是正确,合法,有意义符合区间相应规则的输入。
无效类:则与上述相反,就是错误,合法,无意义,不符合区间相应规则的输入。
例:在[1,1000)区间选取588和1001两个数据,那么588在区间范围内,为有意义,正确,符合区间规则的有效类(有效数据),而1001为不再区间范围内,错误的无效类(无效数据)。
最后,通过选取不同区间的代表数据,可以以少量数据尽可能多覆盖的测试区间(穷举法的简化)来进行测试的方法。
2、 等价类划分法原则:
(1)输入(输出)有数值范围或位数、个数要求时,可以划分为一个有效等价类和两个无效等价类,或划分三个有效类,两个无效类
例如:若数值范围要求为(20,60),有效类取50,无效类取20,60两个数据。
密码的位数要求为5-8位,则有效类取6位,无效类取4位,和8位;
(2)输入(输出)为已划分好的若干区间,则可以取若干个有效类,一个无效类。
例如:成绩划分区间[60,75),[75,85),[85,100],60以下为不及格,此时有效类则可以取三个区间的三个值,无效类取60以下的一个值。
(3)输入(输出)需要若干规则限定,则有效类为满足所有条件的一个,无效类则需要取逐条违反每个规则的若干数据。
例如:密码要求区分大小写,6-18位,不包含特殊符号的字母数字组合。
此时,有效类则可以取满足所有条件的Ac123456即可;
无效类则是需要取5位,其他满足要求的;
19位其他满足要求的;
含特殊字符,其他满足要求的;
纯数字,其他满足要求的;
纯字母其他满足要求的,共5个。
(4)输入(输出)有若干组规定值(N个),则有效类为N个,然后无效类选择非规定值一个。
例如:密码要求为数字,字母组合,有效类取纯数字/纯字母/字母数字组合;无效类则取除数字和字母组合之外的特殊符号即可。
总结:编写测试用例时,用一条测试用例包含尽可能多的有效类数据进行正常测试;对于无效类数据编写用例时,一条用例只能包含一条无效数据,进行异常测试。
3、输入(输出)分析角度:
类型:数字,字母,特殊符号;
长度:长度为6-18;
是否为空:是,否;布尔类型(true,false)
组成规则:区分大小写;为数字、字母组合等
范围:取值在[2,50];
是否重复:是,否
4、优缺点
优点:简单高效,对于新进公司不熟悉的业务需求,也可以根据输入规则编写测试用例,进行测试。
缺点:由于取值数据具有随机性和一定的主观性,是对于穷举法的简化,不容易发现异常bug。
5、适用范围
一般输入(输出)文本框较多,或者需要键盘输入功能的系统,对于输入数据有长度,组合等有相应约束的功能。
例如:大多数网站,app等需要进行的注册,登录,修改信息,查找类功能
6、分析步骤
(1)仔细阅读需求,对于不清楚的,界定模糊的功能及时提出确定;
(2)对于需求进行切片,提取出输入(输出)名称,个数,约束等,并按照相关原则进行等价类划分;
(3)对于每组选取特定数据构造测试数据,注意有效类、无效类选取的原则;
(4)编写测试用例,进行功能的正常、异常测试。
|
|