黑盒测试
黑盒测试包括等价类划分法、边界值分析法、错误推测法、因果图法等。
简单介绍一下因果图法
因果图法
等价类划分法和边界值分析法都主要考虑的是输入条件,而没有考虑输入条件的各种组合以及各个输入条件之间的相互制约关系。
因果图法是一种黑盒测试方法,它从自然语言书写的程序规格说明书中寻找因果关系,即输入条件与输出和程序状态的改变,通过因果图产生判定表。它能够帮助人们按照-定的步骤高效的选择测试用例,同时还能指出程序规格说明书中存在的问题。
在因果图中,用C表示原因,E表示结果,各节点表示状态,取值0表示某状态不出现,取值1表示某状态出现。因果图有四种关系符号,如图所示。
二图数因果图约束符号
黑盒测试的每种测试方法都有各自的优缺点,需要测试人员根据实际项目特点和需要选择合适的方法设计测试用例。以下是选择方法的几条经验:➢在任何情况下都必须选择边界值分析方法。经验表明用这种方法设计出的测试用例发现程序错误的能力最强;
➢必要时用等价类划分法补充一些测试用例;
➢用错误推测法再追加一 些测试用例;
➢如果程序的功能说明中含有输入条件的组合情况,则可选用因果图法和决策表法。
选择合适的测试方法能够极大地提高黑盒测试的效率和效果。除了上述的几条经验,还需要测试人员积累实际的测试经验,做出合适的选择。
白盒测试
白盒测试包括逻辑覆盖测试方法和基本路径测试等方法。
白盒测试,有时也称为玻璃盒测试,它关注软件产品的内部细节和逻辑结构,即把被测的程序看成是一个透明的盒子。白盒测试也有多种技术,比如:代码检查法、逻辑覆盖测试、基本路径测试等。
逻辑覆盖法
逻辑覆盖法以程序内在的逻辑结构为基础,根据程序的流程图设计测试用例。根据覆盖的目标不同,又可分为语句覆盖、分支覆盖、条件覆盖、分支-条件覆盖、 条件组合覆盖和路径覆盖。
语句覆盖:所有语句至少执行一次。
分支覆盖:每个判定结果至少执行一次(每个判断真和假分支至少执行一次,至少两组测试用例实现,全真、全假)。
条件覆盖:每个判断中的每个条件可能出现的结果(真假)至少执行一次。
分支-条件覆盖:分支覆盖的用例和条件覆盖的用例的并集。
条件组合覆盖:所有逻辑条件的可能取值组合至少执行一次。
路径覆盖:覆盖测试程序汇总所有可能的路径。