等价类
所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。
等价类划分的方法
常用的等价类划分原则
(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 |