白盒测试:对软件的过程性细节做细致的检查,允许测试人员利用程序的内部逻辑结构及有关信息设计或选择测试用例,对程序所有路径进行测试。
一、逻辑覆盖法(logic coverage testing)
用程序流程图来设计测试用例。
5种覆盖标准(按覆盖强度递增):1、语句覆盖
每条语句至少执行一次
2、判定覆盖
每一判定的每个分支至少执行一次
3、条件覆盖
每一判定中的每个条件分别按“真”、“假”至少各执行一次
4、判定-条件覆盖
同时满足判定覆盖和条件覆盖
5、条件组合覆盖
求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次
二、基本路径法(path testing)
根据控制流图的环路复杂性度量V(G)来确定测试用例。
流图:1、把流程图中结构化构建改用一般有向图表示
2、其中代表条件判断的结点称为谓词结点
三种计算方法:
V(G) = 流图中区域的个数
V(G) = E-N+2 (E和N分别是流图中的边数和结点数)
V(G) = P+1 (P是流图中谓词结点数)
整理自:《软件工程教学视频21讲》(上海交通大学,郭斌老师)。