1、等价类划分是一种黑盒测试方法。
2、将不能穷举的测试过程合理分类,从而保证设计出来的测试用例具有完整性和代表性。
3、等价类的分类:
有效等价类:输入合理的数据集合(边界值、中间值)
无效等价类:输入不合理的数据集合(中文、英文、符号、空格、空)
例1:加法案例:计算1~100的整数和(包括1和100)
用例编号 | 等价类划分 | 输入框1 | 输入框2 | 预期结果 | 是否bug |
1 | 有效 | 1~100整数 | 9 | 正确 | |
2 | 有效 | 1 | 45 | 正确 | |
3 | 有效 | 45 | 1 | 正确 | |
4 | 有效 | 100 | 45 | 正确 | |
5 | 有效 | 45 | 100 | 正确 | |
6 | 有效 | 9 | 1~100整数 | 正确 | |
7 | 无效 | <1 | 9 | 错误 | |
8 | 无效 | >100 | 9 | 错误 | |
9 | 无效 | 9 | <1 | 错误 | |
10 | 无效 | 9 | <100 | 错误 | |
11 | 无效 | 中文 | 5 | 错误 | |
12 | 无效 | 5 | 中文 | 错误 | |
13 | 无效 | 特殊符号 | 7 | 错误 | |
14 | 无效 | 7 | 特殊符号 | 错误 | |
15 | 无效 | 空格 | 8 | 错误 | |
16 | 无效 | 8 | 空格 | 错误 | |
17 | 无效 | 空 | 4 | 错误 | |
18 | 无效 | 4 | 空 | 错误 | |
19 | 无效 | 小数 | 6 | 错误 | |
20 | 无效 | 6 | 小数 | 错误 |
注:一般是一个框输入正确值,一个框输入错误值,没有两个输入框都输入错误的值,因为更容易确定到底哪个框出现错误。
例2:测试QQ账号,账号要求6-10位正整数
用例编号 | 等价类划分 | 账号框 | 预期结果 | 是否bug |
1 | 有效 | 6到10位正整数 | 正确 | |
2 | 无效 | 小于6位 | 错误 | |
3 | 无效 | 大于10位 | 错误 | |
4 | 无效 | 小数 | 错误 | |
5 | 无效 | 负数 | 错误 | |
6 | 无效 | 中文 | 错误 | |
7 | 无效 | 英文 | 错误 | |
8 | 无效 | 空格 | 错误 | |
9 | 无效 | 空 | 错误 | |
10 | 无效 | 特殊字符 | 错误 |
例3:某城市电话号码由三部分组成,分别是地区码(空白或三位数字)、
前缀(非‘0’且非‘1’开头的三位数字)、后缀(4位数字)
例如:1232345654
用例编号 | 等价类划分 | 电话组成 | 输入内容 | 预期结果 | 是否bug |
1 | 有效 | 地区码 | 空白或三位数字 | 正确 | |
2 | 无效 | 地区码 | 大于三位 | 错误 | |
3 | 无效 | 地区码 | 小于三位 | 错误 | |
4 | 无效 | 地区码 | 中文、英文、小数、负数、空格、特殊字符(分开写) | 错误 | |
5 | 有效 | 前缀 | 非‘0’且非‘1’开头的三位数字 | 正确 | |
6 | 无效 | 前缀 | 0开头 | 错误 | |
7 | 无效 | 前缀 | 1开头 | 错误 | |
8 | 无效 | 前缀 | 大于三位 | 错误 | |
9 | 无效 | 前缀 | 小于三位 | 错误 | |
10 | 无效 | 前缀 | 中文、英文、小数、负数、空格、特殊字符(分开写) | 错误 | |
11 | 有效 | 后缀 | 四位数字 | 正确 | |
12 | 无效 | 后缀 | 小于四位 | 错误 | |
13 | 无效 | 后缀 | 大于四位 | 错误 | |
14 | 无效 | 后缀 | 中文、英文、小数、负数、空格、特殊字符(分开写) | 错误 |
总结:
考虑输入长度、考虑输入类型、组成规则、是否为空、是否区分大小写、是否重复、是否去除空格。