1. 等价类划分的定义:
等价类划分是一个简单而实用的测试方法,即将测试的域分为有效等价类和无效等价类,每次所选测试输入尽量按照一个无效等价类多个有效等价类的原则,所选测试输入覆盖全部的可能即为一个好的测试。
2. 划分等价类
(1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。
(2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方。
3. 等价类划分的方法
常用的等价类划分原则
(1)按区间划分
(2)按数值划分
(3)按数值集合划分
(4)按限制条件或规则划分
(5)细分等价类
4. 举例
问题:
允许1到6个英文字符或数字,按OK结束
有效等价类:
长度:1到6
字符:a-z,A-Z,0-9
无效等价类
长度:0,7
字符:英文/数字以外字符,控制字符,标点符号
有效等价类 |
无效等价类 |
|
长度 |
长度为1-6 |
长度为0 |
长度大于6 |
||
字符 |
只含有a-z |
含有控制字符 |
|
只含有A-Z |
含有标点符号 |
只含有0-9 |
||
含有a-z和A-Z |
||
含有a-z和0-9 |
||
含有A-Z和0-9 |
||
含有A-Z,a-z和0-9 |
编号 |
测试用例 |
覆盖等价类 |
预期结果 |
1 |
abcdef |
长度为1-6 只含有a-z |
true |
2 |
ABCDEF |
长度为1-6 只含有A-Z |
true |
3 |
123456 |
长度为1-6 只含有0-9 |
true |
4 |
abcABC |
长度为1-6 含有a-z和A-Z |
true |
5 |
abc123 |
长度为1-6 含有a-z和0-9 |
true |
6 |
ABC123 |
长度为1-6 含有A-Z和0-9 |
true |
7 |
AbC1b2 |
长度为1-6 含有A-Z,a-z和0-9 |
true |
8 |
|
长度为0 |
wrong |
9 |
abcdefgh |
长度大于6 |
wrong |
10 |
LF12ab |
长度为1-6 含有控制字符 |
wrong |
11 |
acA1. |
长度为1-6 含有标点符号 |
wrong
|