白盒测试之语句覆盖、判定覆盖、条件覆盖等

1、定义说明

(1)白盒测试:白盒测试是一种测试用例设计方法;白盒测试的方法总体上分为静态分析方法和动态分析方法两大类。主要用于单元测试阶段,代码和逻辑的测试,重点复杂的测试,是一种测试用例设计方法。白盒测试可用于单元测试、集成测试和系统测试。

(2)白盒测试方法:有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

(3)覆盖标准:白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和修改条件判定覆盖。

 (1)语句覆盖:又称行覆盖、段覆盖、基本块覆盖,它是最常见的覆盖方式。语句覆盖的目的是测试程序中的代码是否被执行,它只测试代码中的执行语句,这里的执行语句不包括头文件、注释、空行等。

(2)判定覆盖:又称为分支覆盖,其原则是设计足够多的测试用例,在测试过程中保证每个判定至少有一次为真值,有一次为假值。

(3)条件覆盖:指的是设计足够多的测试用例,使判定语句中的每个逻辑条件取真值与取假值至少出现一次。

(4)判定条件覆盖:要求设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次。

(5)条件组合覆盖:指的是设计足够多的测试用例,使判定语句中每个条件的所有可能至少出现一次,并且每个判定语句本身的判定结果也至少出现一次,它与判定-条件覆盖的差别是,条件组合覆盖不是简单地要求每个条件都出现“真”与“假”两种结果,而是要求让这些结果的所有可能组合都至少出现一次。

2、为什么要进行白盒测试

黑盒测试覆盖有限,无法发现代码中一些深层次的潜在问题。这些问题就像定时炸弹,随时会被一个细小的设计改动所引发,从而可能导致客户抱怨,影响产品和公司形象。而从黑盒测试的层面却评估不出这个细小改动所带来的影响。

如果说黑盒测试是验证需求(模拟用户使用场景),那么白盒测试就是验证设计,使得测试人员对产品实现的了解更为深入,对代码中逻辑关系的覆盖更为全面。白盒测试做好了,能极大增强产品的健壮性。 

你可能感兴趣的:(测试用例)