白盒测试
定义
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。
释义
打开盒子深入到程序的内部逻辑(源代码),打开盒子对其进行程序源代码进行测试测试。这里主要是指代码单元测试、接口测试、静态/动态检查(扫描)等。
白盒测试主要依据的是程序的源代码,白盒测试的主要方法包括:基本路径测试、逻辑覆盖法、代码检查法、静态结构分析法等。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和修改条件判断覆盖。
六种覆盖标准发现错误的能力呈由弱到强的变化: 1.语句覆盖每条语句至少执行一次。 2.判定覆盖每个判定的每个分支至少执行一次。 3.条件覆盖每个判定的每个条件应取到各种可能的值。 4.判定/条件覆盖同时满足判定覆盖条件覆盖。 5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。 6.修改条件判断覆盖每一个判断的所有可能结果都出现过、每一个判断中所有条件的所有可能结果都出现过、每一个进入点及结束点都执行过、判断中每一个条件都可以独立的影响判断的结果。
白盒测试的优点:测试比较充分,可以检查代码的每条分支和路径。
白盒创测试的缺点:需要测试人员对程序代码逻辑比较了解,测试所需的代价较大,需要编写大量的大量的单元测试代码。