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
|