黑盒测试方法论-边界值
黑盒测试方法论-边界值
简介
边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。它是对等价类划分法的一个补充。
这个方法其实是在测试实践当中发现,大量的错误发生在输入和输出范围的边界上。所以要针对各种边界情况设计用例,这样可以查出更多的错误。
应用场景
用边界值分析法候,一般在规定了取值范围、规定了值的个数的场景。
之前在分析等价类案例的时候可以看出来,划分等价类的时候,一般都是会有比较特殊的点,叫做极点或者上点。比如 [-99, 99]
,那么上点就是 -99 和 99,这两个数值是很特殊的,一般会称之为边界值,也可以叫极值。
所以一般来说,当输入条件存在范围要求时,都会在等价类的基础上,去重点验证边界点的情况。
边界值错误产生原因
边界上的值为什么会容易出问题呢?下面来举个例子:
- 需求:
- 输入的参数值必须大于等于 0 同时小于 100 的整数
- 正确代码:
- num>-1 或 num>=0 | num<100 或 num<=99
- 错误代码:
- num>=-1 或 num>0 或 num>=1 | num<=101 或 num<101 或 num<=100
错误代码的写法,就会让有效域的最小值多了 -1,或者漏掉了 0;或者让有效域的最大值多了 101,或者多包含了 100。
边界值确定
使用边界值分析法设计用例需要考虑 3 个点的选择。
- 上点:边界上的点。
- 离点:离上点最近的点。
- 内点:在输入域内任意一个点。
一般来说,需要选取正好等于、刚好大于或刚好小于边界值作为测试数据。
边界点划分规则
接下来具体分析一下,看看边界点的划分规则是什么
-
如果规定了输入域的取值范围,则选取刚好在范围边界的点,以及刚好超过边界的点,作为测试的输入数据。
-
如果规定了输入值的个数,则用最大个数,最小个数,比最小个数少 1,比最大个数多 1 的数作为测试数据。
-
如果规定了输入是一个有序的集合,则选取集合的第一个元素和最后一个元素作为测试数据。
实例
- 计算 -99 ~ 99 的整数之和(包括 -99 和 99)
- 使用边界值分析法补充用例
接下来要使用边界值分析法补充用例
先分析要选取的边界点
- 边界值:-99,99(有效等价类)
- 边界值两边的值:
- 有效等价类:-98,98
- 无效等价类:-100,100
分析完成之后,就可以更新一下我们的测试用例了。
-
把有效等价类中的数值换为边界值,这里有 4 个有效等价类的值要取,分别是 -98,-99,98,99,那么这四个值两个输入框都需要取到。
-
无效等价类中也要覆盖到 -100 和 100 这两个值,同样的两个输入框都需要覆盖。
用例编号 | 所属等价类 | 输入框 1 | 输入框 2 | 预期结果 |
---|---|---|---|---|
1 | 有效 | -98 | 99 | 1 |
有效 | -99 | 98 | -1 | |
有效 | 98 | -99 | -1 | |
有效 | 99 | -98 | 1 | |
2 | 输入框 1 无效 | 100 | 30 | 给出错误提示信息 |
3 | 输入框 1 无效 | -100 | 30 | 给出错误提示信息 |
9 | 输入框 2 无效 | 35 | 100 | 给出错误提示信息 |
10 | 输入框 2 无效 | 59 | -100 | 给出错误提示信息 |
总结
- 确定边界情况。
- 选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据。
- 确定各个值的等价类。
边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件。