逻辑覆盖率到底怎么计算?

问题:

 

关于逻辑覆盖的知识有点迷惑,希望大家帮忙解答下!
1.语句覆盖
如:int example(int x,int y){
        int result=0;
        if(x>0&&y>0){
              result=x+y+5;
        }else{
              result=x+y-5;
        }
        if(result<0){
              result=0;
        }
        return result;
      }
如果画出程序流程图的话,求语句覆盖时语句总数是7条语句,还是其中的 int result=0;和 return result;不算,算5条?

2.条件组合覆盖
是只组合每个判定中的条件,还是判定与判定之间的条件也组合一下?

3.路径覆盖
如果某条路径是无法通过的,那算路径覆盖率是总路径数要把这条不可能的路径算在内吗?
回答:
1.如果画出程序流程图的话,求语句覆盖时语句总数是7条语句,还是其中的 int result=0;和 return result;不算,算5条?
算5条,不是int result=0;和 return result;不算,而是判定中的条件语句不算。条件语句另外算或者算语句都是可以的,不过,如是考虑了条件覆盖的话,条件另外算比较简单。
2.条件组合覆盖
是只组合每个判定中的条件,还是判定与判定之间的条件也组合一下?

只考虑判定内的条件组合,如果所有条件都算的话,太复杂了。
3.路径覆盖
如果某条路径是无法通过的,那算路径覆盖率是总路径数要把这条不可能的路径算在内吗?

无法通过的分支和路径应该排除,不过应该标出来或记录下来。
下面是Visual Unit的测试结果,可以参考一下。路径图中的当前路径是不可覆盖的,因为x>0&&y>0,result肯定>=5。图上已经删除了(入口处打了个X),路径只算3条。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EasyTDD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值