手工测试 | 黑盒测试方法论—边界值

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

本文节选自霍格沃兹测试学院内部教材

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

这个方法其实是在测试实践当中发现Bug 往往出现在定义域或值域的边界上而不是在其内部。为检测边界附近的处理专门设计测试用例通常都会取得很好的测试效果。

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

在分析等价类案例划分等价类的时候一般都是会有比较特殊的点叫做极点或者上点。比如 [1,100] 中的上点就是 1 和 100这两个数值就被称为边界值也可以叫极值。设计测试用例的时候可以在等价类的基础上去重点验证它的边界点的情况。

边界值举例

比如需求中的要求是输入的参数值必须大于等于 0 同时小于 100 的整数。

正确代码可以这样设置判断条件


# 正确条件 1

num > -1 and num < 100

# 正确条件 2

num >= 0 and num <= 99

但是在实际的代码编写过程中很有可能因为各种原因导致判断条件设置错误


# 错误条件 1

num >= -1 and num <= 101

# 错误条件 2

num > 0 and num < 101

# 错误条件 3

num >= 1 and num <= 100

第一种错误情况是因为多包含了 -1 和 101第二种错误情况是或者漏掉了 0而第三种错误情况是漏掉了 0 并且多包含了 100。

因为会有各种错误情况的出现所以需要选择边界值进行重点测试来避免这些情况。

边界值确定

使用边界值分析法设计用例需要考虑 3 个点的选择。

  • 上点边界上的点
  • 离点离上点最近的点。如果输入域是封闭的则离点在域范围外如果输入域是开区间则离点在域的范围内。
  • 内点在输入域内任意一个点

要选取正好等于、刚好大于或刚好小于边界值作为测试数据一般来说要把上点、离点和内点都取到。所以选取正好等于、刚好大于或刚好小于边界值作为测试数据。

综上题目中要选择的点有六个正好等于边界值的 0、100刚好小于边界值的 -1、99刚好大于边界值的 1、101。

边界点划分规则

  1. 如果规定了输入域的取值范围则选取刚好在范围边界的点以及刚好超过边界的点作为测试的输入数据。
  2. 如果规定了输入值的个数则用最大个数最小个数比最小个数少 1比最大个数多 1 的数作为测试数据。
  3. 如果规定了输入是一个有序的集合则选取集合的第一个元素和最后一个元素作为测试数据。

实例

问题计算 1—100 的整数之和包括 1 和 100

上面已经用等价类的方法设计出来的测试用例现在要使用边界值分析法补充用例。

首先分析边界值1100有效等价类其次是边界值两边的值02991010 和 101 是无效等价类2 和 99 是有效等价类。

把有效等价类中的数值换为边界值这里有 4 个有效等价类的值要取分别是 1299100那么这四个值两个输入框都需要取到。无效等价类中也要覆盖到 0 和 101 这两个值同样的两个输入框都需要覆盖。

用例编号所属等价类输入框1输入框2预期结果
1有效等价类199100
2有效等价类991100
3有效等价类1002102
4有效等价类2100102
5无效等价类040给出错误提示
6无效等价类400给出错误提示
7无效等价类1012给出错误提示
8无效等价类2101给出错误示

边界值总结

用边界值法补充测试用例时要注意确定边界情况输入或输出等价类的边界选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据以及确定各个值的等价类明确边界值和等价类区别即边界值分析不是从某等价类中随便挑一个作为代表而是这个等价类的每个边界都要作为测试条件。

来霍格沃兹测试开发学社学习更多软件测试与测试开发的进阶技术知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps测试左移、测试右移、精准测试、测试平台开发、测试管理等内容课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术全面提升测试开发工程师的技术实力\

 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6