软件测试【一般等价类和边界值】
Overview
等价类划分化的作用就是避免无效的测试。
比如现在要对一个能够数组1-100之间的数组的文本框进行测试
那么 输入 20 和 输入 30 在本质上是没有区别的。
为了更好的测试程序,我们需要对测试数据进行分类,而分出来的类就是 一般等价类
。所有的一般等价类都可以分为以下的两大类:
- 有效等价类:有效等价类的数据对于程序来说是合理的,通过有效等价类可以检测出程序是否符合需求
- 无效等价类:无效等价类的数据对于程序来说是不合理的,但是这也同样重要,因为对一个程序来说,不仅仅要实现功能,还有具有良好的健壮性,通过无效等价类我们可以很好地检测程序的
健壮性
。
在设计测试用例是,既要要考虑到正确的数据更要考虑到错误的数据。
Demo
就拿原来的例子: 要对一个能够数组1-100之间的数组的文本框进行测试,来举例,那么他的一般等价类可以划分如下:
等价类 | 数据 | 类型 |
---|---|---|
1 | 1-100 之间任意一个数: 如 1,20,30.. | 有效等价类 |
2 | 小于1 的任意数 : -1 ,-2 ... | 无效等价类 |
3 | 大于100 的任意数: 101,200... | 无效等价类 |
4 | 所有非数字的字符 | 无效等价类 |
5 | 空格 | 无效等价类 |
6 | 空 | 无效等价类 |
等价类的划分方法
现在通过等价类,我们已经将测试数据进行了分类,但是为了更好地设计测试用例并测试我们的程序,我们需要找一些具有代表性的数据来编写测试用例,这些具有代表性质的数据被称之为边界值
.
一般的来说,我们在寻找边界值的时候有以下的规律可以遵循:
- 最大值
- 最小值
- 比最小值小1
- 最大值大1
- 比最大值小1
- 比最小值大1
- 非法数据
- 空值
- 空格
那么还是原来例子,通过边界值设计测试用例,如下
测试用例 | 有效等价类 | 无效等价类 | 数据 |
---|---|---|---|
1-100 之间任意一个数: 如 1,20,30.. | |||
TC_1 | 100 | ||
TC_2 | 1 | ||
小于1 的任意数 : -1 ,-2 ... | |||
TC_3 | 0 | ||
大于100 的任意数: 101,200... | |||
TC_4 | 101 | ||
所有非数字的字符 | |||
TC_5 | 汉字 | ||
空格 | |||
TC_6 | 空格 | ||
空 | |||
TC_7 | 空 |
上面的测试用例,可以说已经基本地覆盖到了,所有的等价类,当然了,我划分的可能还不太全面,上面的等级类还可以继续划分的,比如说,小数等。