边界值法:
边界值法是对等价类法的一种补充
等价类的方法,测试数据是随机选取的, 有可能会漏掉缺陷
为了补足测试用例, 我们增加了一个边界值的方法
因为边界的地方往往容易出现缺陷
借https://blog.csdn.net/weixin_64298570/article/details/123859506?spm=1001.2014.3001.5501文章案例:怎么设置a边的取值范围?
开发人员可能设计成 if (a>0 && a<=10000)
如果(a边大于0 并且 a边小于等于10000), 那么可以作为三角形的一条边
这句代码中,a边是小于10000, 还是小于等于10000, 这个位置最容易写错
所以我们的测试数据, 不应该简单的选一个500, 还要考虑0和10000这两个边界上的点
应该选几个数据来执行测试?
1个范围之内的随机数
500
边界上的两个数
0
10000
离边界最近的数
-1
如果测了0, -1可以不用测, 因为0和-1都不能组成三角形, 属于同一个等价类
1
9999
如果测了10000, 9999也可以不用测, 因为10000和9999都应该能组成三角形, 属于同一个等价类
10001
一个取值范围,我们要测的数字永远是5个
例 500 0 10000 1 10001
专业术语:
内点:区间内随机选取的点 例:500
上点:边界上的点 例:取值范围为1-10000 1 和10000 就是这个区间的上点
离点:离边界最近的点 例:0 10001
- 离点的特点:闭外开内
闭区间:边界上的点是区间内的点,这种就是闭区间。
闭区间用中括号”[ ]“表示
例如:[0,10000] 包含0和10000
开区间:边界上的点不属于这个区间,这种就是开区间。
开区间用小括号”( )“表示
例如:(0,10000)不包含0和10000
另外还有 前开后闭区间、前闭后开区间。
例如 (1,10000]、[1,10000)
- 闭外开内是离点的特点
闭区间选择区间外的点作为离点
开区间选择区间内的点作为离点
- 离点的有效性,永远选取和上点相反即可
边界值法的步骤
边界值法是等价类法的一种补充
只要把等价类法的第五步:构造测试数据时 把上点和离点带入进去即可
边界值法的优点
边界上的数据更容易发现缺陷
缺点
存在边界时才可以使用
例:需求里有说明长度或取值范围