【软件测试之边界值法】(蓝桥杯学习笔记)
我们先来看一个 Java 小程序,如下图所示。
运行这个程序会发生什么事情呢?在这个程序中,目标是为了创建一个有 10 个元素的一维数组,但是,在 Java 语言中,当一个数组被定义时,其第一个元素对应的数组下标是 0 而不是 1。所以,上述数组定义后,数组中成员的下标最大值为 9,程序运行后,会造成数组下标越界的错误产生。
经验表明,在软件开发中大量的错误都发生在输入或输出范围的边界上,而不是发生在输入/输出范围的内部。开发人员最容易在边界上犯错误,所以,针对软件的各种边界情况设计测试用例,可以达到更好的测试效果。这就需要采用边界值分析法来设计测试用例,接下来看看边界值分析法的使用。
一、边界值划分法的概述
边界值分析法(Boundary Value Analysis,BVA)的测试用例来自于等价类的边界,是等价类划分法的补充。根据边界值划分法,等价类分析法中的测试数据不是选取等价类中的典型值或任意值,而是应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据。 使用边界值分析法设计测试用例,首先应该确定它的边界。有些边界并不是需求中直接给出的,需要我们分析出来,比如一些常见的边界值:
- 对于 int 类型的整数而言,-2 的 15 次方 和 2 的 15 次方 -1 是它的边界,也就是 -32768 和 32767 是边界;
- 对于屏幕的光标焦点来说,屏幕上光标的最左上、最右下的位置是它的边界;
- 对于报表来说,报表的第一行和最后一行是它的边界;
- 对于数组来说,数组元素的第一个和最后一个是它的边界;
- 对于循环条件来说,循环的第 0 次、第 1 次和倒数第 2 次以及最后一次是它