当我们还是学生时,最彷徨的莫过于得知自己的考试成绩仅差 “半分” 就达到目标。即便只有“半分”差异,回到家却是一种天上与炼狱的待遇。
这种处于临界的差异会产生截然不同的状态,使得结果发生天翻地覆的变化。软件测试也不例外,很多代码对边界处理不当,严重时导致系统崩溃。这种通过对临界条件的测试分析方法叫做 边界值测试设计。
1、 边界值分析法概述
1.1 定义
边界值测试设计就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值测试设计是作为对等价类划分法的补充,这种情况下,其测试用例来自 等价类 的边界。
经验告诉我们,大量的错误是发生在输入条件或输出结果的范围边界,因此针对各种边界情况设计测试用例,可以查出更多错误。
1.2 等价类差异
边界值是作为等价类的补充,其主要区别是:
(1)边界值测试设计不是从某一等价类中随便挑一个作为代表,而是要覆盖该等价类的所有边界的测试条件。
(2)边界值测试设计不仅考虑输入条件,还要考虑输出结果产生的测试情况。譬如,在高速收费站,其收费结果只有 “找零” 或 “无需找零”。当遇到没有现金的司机会怎么样?这就是从输出结果的边界考虑的。
2、 边界值划分方法
使用边界值分析法时,首先要确定边界情况,通常以输入和输出等价类的临界点,就是着重测试的边界情况。
在软件测试中,存在明显边界的有:数值(重量、大小、速度、尺寸)、字符串、空间(及地理位置)等。
2.1 数值型边界
在一个区间内,边界上的点可分类为:
(a)上点</