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

  其中运用为广泛的是基本路径测试法。

  基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

  设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。

  在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下4个步骤和一个工具方法:

  1. 程序的控制流图:描述程序控制流的一种图示方法。

  2. 程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。

  3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。

  4. 准备测试用例:确保基本路径集中的每一条路径的执行。

  工具方法:

  图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。

  程序的控制流图:描述程序控制流的一种图示方法。

  圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句

  流图只有二种图形符号:

  图中的每一个圆称为流图的结点,代表一条或多条语句。

  流图中的箭头称为边或连接,代表控制流

  任何过程设计都要被翻译成控制流图。

  如何根据程序流程图画出控制流程图?

  在将程序流程图简化成控制流图时,应注意:

  在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。

  边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。

  如下页图所示

  如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。