如果陈述,陈述覆盖是否算错?

时间:2015-03-22 19:30:00

标签: c# if-statement white-box white-box-testing

检查我的代码的语句范围时:

 double programme(double x, double y)
 {
    double z 
    if(x>=5){
      z = 15;
    }
    else if(x>=3){
      z= 10;
    }
    else {
      z=0;
    }
    if (y>z)
    {
      z=y;
    }

    return z;
}

使用两个测试用例(例如测试1:x = 6,y = 10,测试2:= 3,y = 5)

我不确定声明覆盖率是否等于100%或66%,因为我不确定你是否计算最后一个if语句,因为它两次都是假的。

1 个答案:

答案 0 :(得分:4)

您的方法中有八个语句 - 三个条件,四个赋值和一个return

  1. if (x>=5)
  2. z=15
  3. if (x>=3)
  4. z=10
  5. z=0
  6. if (y>z)
  7. z=y
  8. 返回
  9. 第一个测试用例包括语句1,2,6和8.第二个测试用例包括1,3,4,6和8.因此,语句1,2,3,4,6和8是涵盖8个中的6个或75%的覆盖率。