6.9.1 黑盒测试方法应用策略
测试用例的设计方法不是单独存在的,具体到每个测试项目中都会用到多种方法,每种类型的软件各有其特点和适用场合,因此要针对不同的软件采取不同的黑盒测试方法。在实际测试中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平。
下面给出一些选取具体测试方法的简单标准:
(1)如果变量引用的是物理量,可采用边界值分析测试和等价类测试;
(2)如果变量引用的是逻辑量,可采用等价类划分测试和决策表测试;
(3)如果变量是独立的,可采用边界值分析测试和等价类划分测试;
(4)如果变量不是独立的,可采用决策表测试;
(5)如果可保证是单缺陷假设,可采用边界值分析测试;
(6)如果可保证是多缺陷假设,可采用边界值分析测试和决策表测试;
(7)如果程序包含大量例外处理,可采用决策表测试。
最后,重点对边界值分析、等价类和决策表这三种黑盒测试方法进行总结和比较。
(1)边界值分析法是对程序输入或输出的边界值进行测试的一种黑盒测试方法。边界值分析法特点主要表现在三个方面。
①所谓边界值,是基于输入和输出变量的定义域而言的,所以该方法不适合分析数据或逻辑关系。
②用边界值方法进行测试用例设计,设计方法简单,工作量相对较小,然而生成的测试用例数量比较多,在执行测试时花费的时间会比较长。(https://www.daowen.com)
③由于边界值分析方法设计方法简单,很容易实现自动化,因此,自动化工具对其能够形成较好地支撑。
(2)等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据划分为若干个等价类,然后从每个等价类中选取具有代表性的数据作为测试用例。等价类划分法特点主要表现在三个方面。
①等价类划分相对于边界值方法,更多地考虑了数据的依赖关系,所以设计方法相对复杂,工作量相对较大。
②等价类划分所产生的测试用例数量属于中等。由于考虑了数据的关系,所以与边界值方法相比,测试用例数量要少一些,这就会节约测试执行的时间。
③在标识等价类时需要更多的判断和技巧,等价类标识出以后的处理也是机械的。
(3)决策表是分析和表达多逻辑条件下执行不同操作的情况。决策表法特点主要表现在三个方面。
①决策表法最突出的特点是把复杂的问题一一罗列,便于理解,避免遗漏,可以方便地得到测试用例。
②决策表能够考虑到数据的逻辑依赖关系,可以得到完备的测试用例。
③决策表法设计工作量较大,不容易利用自动化工具实现。
图6.19分别从设计测试用例工作量和得到的测试用例数两个方面对边界值分析、等价类划分和决策表这三种方法进行对比。
从图6.19不难看出,由于三种方法的复杂程度不同,所以设计测试用例工作量也不相同,其中决策表在测试过程中工作量最大,耗时最长,也相对难以自动化;然而该方法得到的测试用例数却是最少的,也就是执行测试用例时间上是最少的。

图6.19 三种黑盒测试方法比较