白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。
其中逻辑覆盖包含以下, 覆盖强度由弱到强的顺序依次是:
- 语句覆盖
- 判定覆盖
- 条件逻辑覆盖
- 判断逻辑条件覆盖
- 条件组合覆盖
- 路径覆盖
举例:
if(a^b)
{
c=a-b;
}
else
{
c=a+b;
}
1.语句覆盖:
语句覆盖就是每个语句至少被执行一次。
2.判定覆盖
每个判断的分支取真分支和取假分支至少经历一次,每个分支执行一次。比如if、else分支
3.条件逻辑覆盖
使得判定的每个条件都需要至少满足一次,关注条件真假。
比如上面:a如false和true。b取false和true两种情况。
4.判断逻辑条件覆盖
使得每个判断取到可能的结果,并且判断中的每个条件也要取到可能的结果。判断和条件都必须满足
即if/else两个判断都要执行到,if中的条件a取false和true,b取false和b取true。同时满足判定覆盖与条件覆盖。
5.条件组合判断
即每个判定中条件的各种取值组合至少出现一次
比如上面的if为真的条件中;
- a为真,b为真
- a为真,b为假
- a为假,b为真
- a为假,b为假
6.路径覆盖
执行所有可能执行的路径