白盒测试中的逻辑覆盖有以下六种方法:
1.语句覆盖:每个可执行语句至少被执行一次。
2.判定覆盖:每个判定的每个分支都至少执行一次。
3.条件覆盖:判定式中每个条件的每个分支至少执行一次。
4.判定条件覆盖:判定中每个条件的每个分支至少执行一次,所有判定的可能结果至少执行一次。
(修正判定条件覆盖:当锁定其他条件保护不变,改变判定条件中的一项的值,可以引起整个表达式执行的变化。)
5.条件组合覆盖:每个判定中所有可能的条件取值组合至少执行一次。
6.路径覆盖:覆盖程序中所有可能的路径。
(1)当程序中,每个判定语句中只有一个条件时,判定覆盖==条件覆盖。
(2)当情况如下:
判定覆盖:
需要条件 | M==T | M==F |
---|---|---|
测试用例 | a=1,b=0 | a=-1,b=-1 |
条件覆盖:
需要条件 | (a>0)==T | (a>0)==F | (b>0)==T | (b>0)==F |
---|
测试用例:a=1,b=-1;a=-1,b=1
判定结果:M=T
判定条件覆盖:
需要条件 | (a>0)==T | (a>0)==F | (b>0)==T | (b>0)==F | M==T | M==F |
---|
测试用例:a=1,b=1;a=-1,b=-1
判定结果:M=T;M=F
条件组合覆盖:
需要条件 | (a>0)==T && (b>0)==T | (a>0)==T&&(b>0)==F | (a>0)==F && (b>0)==T | (a>0)==F&& (b>0)==F |
---|---|---|---|---|
测试用例 | a=1,b=1 | a=1,b=-1 | a=-1,b=1 | a=-1,b=-1 |