条件组合覆盖法

文章目录

  • 条件组合覆盖法
  • 一、什么是条件组合覆盖
  • 二、要执行的语句代码
  • 三、设计测试用例
    • 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路径就没有执行。