Skip to content

黑盒测试方法论-边界值

黑盒测试方法论-边界值

简介

边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。它是对等价类划分法的一个补充。

这个方法其实是在测试实践当中发现,大量的错误发生在输入和输出范围的边界上。所以要针对各种边界情况设计用例,这样可以查出更多的错误。

应用场景

用边界值分析法候,一般在规定了取值范围、规定了值的个数的场景。

之前在分析等价类案例的时候可以看出来,划分等价类的时候,一般都是会有比较特殊的点,叫做极点或者上点。比如 [-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. 如果规定了输入域的取值范围,则选取刚好在范围边界的点,以及刚好超过边界的点,作为测试的输入数据。

  2. 如果规定了输入值的个数,则用最大个数,最小个数,比最小个数少 1,比最大个数多 1 的数作为测试数据。

  3. 如果规定了输入是一个有序的集合,则选取集合的第一个元素和最后一个元素作为测试数据。

实例

  • 计算 -99 ~ 99 的整数之和(包括 -99 和 99)
  • 使用边界值分析法补充用例

接下来要使用边界值分析法补充用例

先分析要选取的边界点

  • 边界值:-99,99(有效等价类)
  • 边界值两边的值:
    • 有效等价类:-98,98
    • 无效等价类:-100,100

分析完成之后,就可以更新一下我们的测试用例了。

  1. 把有效等价类中的数值换为边界值,这里有 4 个有效等价类的值要取,分别是 -98,-99,98,99,那么这四个值两个输入框都需要取到。

  2. 无效等价类中也要覆盖到 -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 给出错误提示信息

总结

  • 确定边界情况。
  • 选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据。
  • 确定各个值的等价类。

边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件。