条件组合覆盖

针对上述问题又提出了另一种标准——“条件组合覆盖”。它的含义是:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。

再看图6.4的程序,我们需要选择适当的例子,使得下面8种条件组合都能够出现:

 1A>1, B=0          2)  A>1, B¹0        3)  A1, B=0          4)A1, B≠0                              

 5)A=2, X>1       6)A=2,X≤1      7)A≠2, X>1      8)A≠2, X≤1

必须注意到5)6)7)8)四种情况是第二个IF语句的条件组合,而X的值在该语句之前是要经过计算的,所以还必须根据程序的逻辑推算出在程序的入口点X的输入值应是什么。
下面四个例子可以使上述8种条件组合至少出现一次:

A=2B=0X=4使1)5)两种情况出现;A=2B=1X=1使2)6)两种情况出现; 

          

A=1B=0X=2使3)7)两种情况出现; A=1B=1X=1使4)8)两种情况出现。  
               

上面四个例子虽然满足条件组合覆盖,但并不能覆盖程序中的每一条路径,例如路径acd就没有执行,因此,条件组合覆盖标准仍然是不彻底。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值