MC/DC覆盖的计算总结

(MC/DC :ModifiedCondition/Decision Coverage)程序中的每个入口点和出口点至少被调用一次;判定中每个条件的所有取值至少出现一次;每个判定的所有可能结果至少出现一次;每个条件都能独立地影响判定的结果,即在其它所有条件不变的情况下改变该条件的值,使得判定结果改变。

通过多次计算MC/DC的覆盖率,现总结一下两点快速计算结果的方法:

1:有多个IF语句,并且没有嵌套关系。

只需要得到IF语句中所有不重复的条件个数n,然后加1。就是结果值

例如:

if(A and B)
{
	section;
}

if(C and D)
{
	section;
}

有A, B, C, D 四个条件,所以n = 4
则最终结果为 n+1 = 5

n是不重复条件的个数,如果有重复的条件则只计数一个
例如:

if(A and B)
{
	section;
}

if(A and D)
{
	section;
}

这个例子中有两个一样的条件A,只计数一次,所以n=3
最终结果为n+1 = 4

2:多个IF语句,有嵌套关系。

那么就分别计算每个IF语句的MC/DC的值,取最大值作为多个有嵌套关系IF语句的 MC/DC的值

例如:

if(A and B or C)
{
	if(E and F)
	{
		section;
	}
}


第一个if的 条件个数n = 3 , mc/dc的值为 n+1 = 4;
第二个if的 条件个数n = 2 , mc/dc的值为 n+1 = 3;
取最大值,则整体的mc/dc的值为4;

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值