前言
在一般的测试流程中,很多错误发生在输入或者输出范围的边界上。边界值分析法是一种常用的黑盒测试方法,是对等价类划分方法的补充。边界值通常指的是稍高于最高值嚯稍低于最低值的一些特定情况。
边界的类型
边界类型一般包括:数值、字符、数量和空间等。部分边界值类型测试用例设计取值如下:
标准边界值分析
标准边界值分析一般使用 5 个值作为测试用例:
- min:输入变量的最小值;
- min+:稍大于最小值;
- nom:域内任意值,一般为中间值;
- max-:稍小于最大值;
- max:最大值;
在多个变量的情况下,只使其中一个变量设为上述 5 个值,其他所有变量均取正常值来进行测试。对于一个 n 变量的程序,使用标准边界值分析需要设计 4n+1 个测试用例。
如果测试边界没有明确给出,可以人工设置边界。例如在三角形问题中设置边长的下界为 1。上界在默认情况下可以使用最大可表示的数值(例如 MAXINT
),或者根据实际需求确定一个数作为上界。
健壮性边界值分析
健壮性是指在异常情况下,软件还能正常运行的能力。健壮性测试是标准边界值分析的一种简单扩展。除了上述的 5 个常见边界值,还要考虑一下两个值:
- max+:略超过最大值;
- min-:略小于最小值;
健壮性测试的最大价值在于观察处理异常情况,它是检测软件系统容错性的重要手段。对于一个n变量的程序,健壮性边界值分析测试会产生 6n+1 个测试用例。边界值分析大部分的测试都可直接用于健壮性测试。健壮性测试最有意义的部分不是输入而是输出,观察边界之外的异常情况如何处理。