白盒测试方法有:逻辑覆盖、基本路径测试、循环测试路径
1.逻辑覆盖
1)语句覆盖:程序中每条可执行语句至少执行一次;最弱的覆盖;
2)判定覆盖(分支覆盖):程序中每个逻辑判断的取真和取假的分支至少执行一次;仍是弱的覆盖标准;
广义:使得每一个判定获得每一种可能的结果至少一次。(如case语句)
3)条件覆盖;使程序的每个判定中的每个条件的可能取值至少满足一次;
4)判定-条件覆盖:使判定中每个条件的可能取值至少满足一次,并且使每个判定分支至少执行一次;
判定-条件覆盖能同时满足判定、条件两种覆盖标准;
5)条件组合覆盖:使得每个判断表达式中条件的各种可能组合都至少出现一次;
6)路径覆盖:设计足够多的测试用例,覆盖程序中的每条可能路径;
覆盖强度排序:
语句覆盖<判定覆盖=条件覆盖<判定-条件覆盖<条件组合覆盖<路径覆盖
程序环形复杂度计算:
V(G)=流图中区域的数量;
V(G)=E-N+2;E为流图中边的数量,N为流图中节点的数量;
V(G)=P+1;P为流图中的判定节点数;
2.基本路径测试
如果把覆盖的路径数压缩到一定限度内,例如程序中的循环体只执行零次和一次,就成为基路径测试。
通过分析程序控制流图的环路的复杂性,导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次。
基本路径测试步骤:
1)导出程序的控制流图;
2)计算控制流图的环路复杂度V(G);
3)确定只包含独立路径的基本路径集;
4)设计测试用例;
3.循环测试路径
1)简单循环;
2)连锁循环;
3)嵌套循环;
4)非结构循环;