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 程序的控制流图
=
1.3.2 程序环路复杂性
1.3.2.1 McCabe复杂性度量
有以下两种方法计算圈复杂度:
1.3.3 循环覆盖
1.3.3.1 简单循环
1.3.3.2 嵌套循环
1.3.3.3 串接循环
1.3.3.4 不规则循环
1.4 白盒测试综合策略