条件组合覆盖法


一、什么是条件组合覆盖

条件组合覆盖法:条件组合覆盖是指设计若干个测试用例,运行被测程序,使得每个判定中条件的各种可能组合都至少执行一次。
假如 :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 stub
		int 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路径就没有执行。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐