条件组合覆盖法
文章目录
- 条件组合覆盖法
- 一、什么是条件组合覆盖
- 二、要执行的语句代码
- 三、设计测试用例
- 1.测试用例数据
- 2.执行测试用例
- 四、条件组合覆盖法的总结
一、什么是条件组合覆盖
条件组合覆盖法:条件组合覆盖是指设计若干个测试用例,运行被测程序,使得每个判定中条件的各种可能组合都至少执行一次。
假如 :if(x>0 && y>0) 中的条件x,y都能取(真假)值,组合起来就是4种 :
(x真y真)
(x假y假)
(x真y假)
(x假y真)
条件组合覆盖率= 被执行条件组合的总数 可执行条件组合的总数\frac{被执行条件组合的总数}{可执行条件组合的总数} 可执行条件组合的总数被执行条件组合的总数x100%
二、要执行的语句代码
代码流程图如下(示例):
代码如下(示例):
public static void main(String[] args) {// TODO Auto-generated method stubint x,y,Number;Scanner sc=new Scanner(System.in);System.out.println("请输入x,y,Number,用空格隔开");x=sc.nextInt();y=sc.nextInt();Number=sc.nextInt();if(x>0 && y>0) {System.out.println("Hello1");}else{System.out.println("Hello2");}if(Number < 0) {System.out.println("Hello3");}System.out.println("Hello4");}
三、设计测试用例
1.测试用例数据
根据以上代码定义:
把第一个if语句(x>0 && y>0)定义为test1
把第二个if语句(Number < 0)定义为test2
把x>0定义为p1
把y>0定义为p2
把Number<0定义为p3
结果为真就为下表就填T为假就填F。
设计测试用例:
2.执行测试用例
这里我们看到我们每个条件组合都执行了一遍,达到了条件组合覆盖的要求。
条件组合覆盖率= 被执行条件组合的总数 可执行条件组合的总数\frac{被执行条件组合的总数}{可执行条件组合的总数} 可执行条件组合的总数被执行条件组合的总数x100%= 6 6\frac{6}{6} 66x100%=100%
四、条件组合覆盖法的总结
只要满足条件组合覆盖就一定满足语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,
但是可能不会覆盖所有的路径,如上面测试用例就12467路径就没有执行。