4

检查我的代码的语句覆盖率时:

 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 语句,因为它两次都是错误的。

4

1 回答 1

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. 返回

第一个测试用例涵盖语句 1、2、6 和 8。第二个测试用例涵盖 1、3、4、6 和 8。因此,涵盖了语句 1、2、3、4、6 和 8,因为8 分之 6 或 75% 的覆盖率。

于 2015-03-22T19:39:09.077 回答