白盒测试用例设计
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 白盒测试综合策略