等价类
所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。
等价类划分的方法
常用的等价类划分原则
(1)按区间划分
(2)按数值划分
(3)按数值集合划分
(4)按限制条件或规则划分
(5)细分等价类
测试用例的设计方法
(1)在确立了等价类之后,可列出所有划分出的等价类表。
(2)为每一个等价类规定一个唯一的编号。
(3)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,直到测试用例覆盖了所有的有效等价类。
(4)设计一个新的测试用例,使其覆盖且只覆盖一个尚未覆盖的无效等价类。重复这一步,直到测试用例覆盖了所有的无效等价类。
每次只引进一个无效等价类是为了防止漏减,或某个无效等价类屏蔽掉或终止其它的有效类。
例题 EditBox问题
题目如下:
. EditBox
允许1到6个英文字符或数字,按OK结束
有效等价类:
长度:1到6
字符:a-z,A-Z,0-9
无效等价类
长度:0,7
字符:英文/数字以外字符,控制字符,标点符号
设计如下:
以输入条件划分等价类
条件一 长度在1到6之间
条件二 字符属于a-z,A-Z,0-9
编号 |
有效等价类 |
编号 |
无效等价类 |
1 |
1到6个数 |
5 |
小于1个数 |
2 |
字符属于a-z |
6 |
大于6个数 |
3 |
字符属于A-Z |
7 |
字符含有控制字符 |
4 |
字符属于0-9 |
8 |
字符含有标点符号 |
等价类划分的测试用例
编号 |
用例 |
覆盖等价类 |
期望输出 |
1 |
Az0912 |
1,2,3 |
RIGHT |
2 |
Az0912a |
2,3,6 |
WRONG |
3 |
|
5 |
WRONG |
4 |
Az091, |
1,2,3,8 |
WRONG |
5 |
DEL91, |
1,2,3,8,7 |
WRONG |
6 |
DEL910 |
1,2,3,7 |
WRONG |
7 |
111111 |
1,4 |
RIGHT |
8 |
aaaaaa |
1,2 |
RIGHT |
9 |
AAAAAA |
1,3 |
RIGHT |