1.1   白盒测试

1.1.1  白盒测试方法

1.1.1.1   静态白盒测试

代码评审

代码检查

1.1.1.2   动态白盒测试 

逻辑覆盖

基本路径覆盖

循环覆盖

 

1.1.2  代码检查法

1.1.2.1   代码检查方式

桌面检查

代码审查

走查

1.1.2.2   代码检查项目

变量的交叉引用表

标号的交叉引用表

子程序、宏、函数

等价性检查

常量检查

标准检查

风格检查

对照程序的规格说明,详细阅读源代码,逐字逐句进行分析和思考,比较实际的代码和期望的代码,从它们的差异中发现程序的问题和错误。

补充文档

1.1.2.3   编码规范、代码检查规则、缺陷检查表

1.1.3  逻辑覆盖法

1.1.3.1    逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。

1.1.3.2  逻辑覆盖又可分为

语句覆盖

判定覆盖

条件覆盖

判定-条件覆盖

条件组合覆盖

路径补充覆盖

 

1.2   逻辑覆盖

1.2.1  语句覆盖

1.2.1.1    设计足够的测试用例 ,运行被测程序,使得程序中每一个可执行语句至少执行 一次

 执行路径: abd

测试数据: [x=4,y=5,z=9]

 

1.2.2  判定覆盖

1.2.2.1    设计足够的测试用例,运行被测程序,使得每个判定的取真分支和取假分支至少执行一次

执行路径: abe、acd

测试数据: [x=5,y=5,z=9]、 [x=4,y=5,z= 10]

 

1.2.3  条件覆盖

1.2.3.1     设计足够多的测试用例,运行被测程序,使得每一判定语句中每 个逻辑条件的可能取值至少执行一次

执行路径: (t1,-t2,t3,-t4)acd、 (-t1,t2,-t3,t4)acd

测试数据: [x=4,y=5,z=10]、 [x=3,y=6,z=9]

 

1.2.4  判定-条件覆盖

1.2.4.1    设计足够多的测试用例,使得判定中的每个条件的所有可能(真假分支)至少执行次,并且每个判定本身的判定结果也至少执行一次

执行路径: (t1,t2,t3,t4)abd、 (-t1,-t2, t3, t4)ace

测试数据: [x=4,y=6,z=9]、[x=3,y=5,z= 10]

1.2.5  条件组合覆盖

1.2.5.1    设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少执行一次 

执行路径: (t1,t2,t3,t4)abd、(-t1, t2,-t3,-t4)ace、(t1, t2,t3, t4)acd、(-t1,t2,-t3,t4)acd

测试数据: [x=4.y=6,z=9]、[x=3,y=5,z=10]、 [x=4.y=5,z=10]、 [x=3,y=6,z=9]

1.2.6  路径补充覆盖

1.2.6.1    针对条件组合覆盖,如果发现丢失路径的情况存在,则补充丢失的路径

执行路径: abe

测试数据: [x=5,y=5,z=9]

1.3   白盒测试方法

1.3.1  基本路径测试法

1.3.1.1     程序的控制流图

 

java测试白盒 白盒测试测试用例模板_白盒测试

 

 

java测试白盒 白盒测试测试用例模板_测试用例_02

=

 

 

1.3.2  程序环路复杂性

1.3.2.1     McCabe复杂性度量

有以下两种方法计算圈复杂度:

 

java测试白盒 白盒测试测试用例模板_测试用例_03

 

 

 

1.3.3  循环覆盖

1.3.3.1    简单循环

 

java测试白盒 白盒测试测试用例模板_java测试白盒_04

 

 

 

1.3.3.2     嵌套循环

 

java测试白盒 白盒测试测试用例模板_java测试白盒_05

 

 

1.3.3.3     串接循环

 

java测试白盒 白盒测试测试用例模板_java测试白盒_06

 

 

1.3.3.4  不规则循环

 

java测试白盒 白盒测试测试用例模板_java测试白盒_07

 

 

1.4   白盒测试综合策略

 

java测试白盒 白盒测试测试用例模板_测试数据_08