白盒测试是通过对程序内部结构的分析、检测来寻找问题。
  白盒测试可以把程序看成装在一个透明的白盒子里,也是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。白盒测试又称结构测试。
  1白盒测试基本技术:词法分析与语法分析,静态错误分析,程序插桩技术。
  2白盒测试方法
  2.1代码检查法:代码检查方式(桌面检查,代码审查,走查),代码检查项目,编码规范,代码检查规则,缺陷检查表。
  2.2静态结构分析法。
  2.3静态质量试题法。
  2.4逻辑覆盖法
  语句覆盖:选择足够多的测试数据,使测试程序中每条语句至少执行一次。
  判定覆盖(分支覆盖):设计足够多的测试用例,使用得程序中的每个判定至少都获得一次“真值”或“假值”;或者说使用得程序中的每一个取“真”分支和取“假”分支至少经历一次。
  条件覆盖:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
  条件判定组合覆盖:设计足够的测试用例,使用得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
  多条件覆盖:设计足够的测试用
  例,使得每个判定中条件的各种可能组合都至少出现一次。
  修正条件判定覆盖
  2.5基本路径测试法
  程序的控制流图(学会通过看程序块画出控制流图)。
  程序环路复杂性(即McCabe复杂性度量)环路复杂性V(G)=判断结点数+1.
  基本路径测试法步骤:
  以详细设计或源代码作为基础,导出程序的控制流图;
  计算得到的控制流图G的环路复杂性V(G);
  确定线性无关的路径的基本集;
  生成测试用例,确保基本路径集中每条路径的执行.
  2.6其他白盒测试方法:域测试,符号测试,Z路径覆盖,程序变异