步骤:
1、画等价类表
输入条件 | 有效等价类 | 无效等价类 |
---|---|---|
… | … | … |
… | … | … |
2、为每个等价类规定一个唯一的编号
3、设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类
4、重复3最后使得所有有效等价类均被测试用例所覆盖
5、设计一个新的测试用例,使其只覆盖一个无效等价类
6、重复5使所有无效等价类均被覆盖。
例题1
报表处理时要求输入日期限制在2000年1月至2020年12月,用六位数字表示输入的日期,分析其等价类。
划分等价类如下
输入条件 | 有效等价类 | 无效等价类 |
---|---|---|
报表日期 | ①6位数字字符 | ②有非数字字符 ③少于6个数字字符 ④多余6个数字字符 |
年份范围 | ⑤在2000-2020之间 | ⑥小于2000 ⑦大于2020 |
月份范围 | ⑧在1-12之间 | ⑨等于0 ⑩大于12 |
测试用例
用例编号 | 所属等价类 | 日期 | 结果 |
---|---|---|---|
1 | 1 5 8 | 201006 | 正确 |
2 | 2 | 200a0b | 提示错误 |
3 | 3 | 20102 | 提示错误 |
4 | 4 | 2010421 | 提示错误 |
5 | 6 | 199802 | 提示错误 |
6 | 7 | 202301 | 提示错误 |
7 | 9 | 201200 | 提示错误 |
8 | 10 | 202013 | 提示错误 |
例题2
假定一台ATM机允许提取增量为50元,总金额从100~2000(包含2000元)不等的金额,请用等价类方法进行测试。
等价类表
输入条件 | 有效等价类 | 无效等价类 |
---|---|---|
是否整数 | ①整数 | ④浮点数 |
金额范围 | ②在100到2000之间 | ⑤小于100 ⑥大于2000 |
能否被50整除 | ③能被50整除 | ⑦不能被50整除 |
测试用例
用例编号 | 输入数据 | 预期结果 | 覆盖的等价类 |
---|---|---|---|
1 | 100 | 提取成功 | 1、2、3 |
2 | 100.5 | 提示:输入无效 | 4 |
3 | 50 | 提示:输入无效 | 5 |
4 | 2050 | 提示:输入无效 | 6 |
5 | 101 | 提示:输入无效 | 7 |
例题3
某城市电话号码由三部分组成,分别是:
地区码:空白或四位数字;
前缀:非0或1开头的四位数字;
后缀:四位数字。
求测试用例个数的求法:假设有效等价类和无效等价类如上图所示,
弱一般为:max(有效等价类)=1
强一般为:有效等价类相乘
弱健壮为:弱一般+无效等价类的和(最推荐的做法)
强健壮为:有效等价类i*无效等价类i的和