用于添加2个数字的测试功能

时间:2018-03-20 19:41:49

标签: testing

几天前,我接受了实习面试,并且我被要求编写一个函数来测试另一个函数(将两个数字加在一起)是否有效。我的答案与此类似:

bool addTest(double a, double b){

    if((a+b) == addFunction(a, b))
        return true;
    else
        return false;
}

但是,我的答案似乎并没有给他们留下深刻的印象。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

测试用例应编写参数,并将预期答案硬编码到其中以消除任何不确定性。

bool addTest(){

  //2+2=4
  if (addfunction(2,2) !=4){
    return false;
  }

  //1.66666+7.9=9.56666
  if (addFunction(1.66666, 7.9) != 9.56666){
    return false;
  }

  //0+0=0
  if (addFunction(0,0) != 0){
    return false;
  }

//all tests passed
return true;
}

如果稍后在开发中发现错误,则应将导致错误的条件添加到测试功能中。例如,有一天你试图添加两个负数,只是发现它们返回一个正数。为此添加测试用例将确保在将来函数发生更改时再次捕获此错误。

//addFunction(-8, -1) //Oops! We return positive 9! Let's fix the bug and make a new test
//-8 + -1 = -9
if (addFunction(-8, -1) != -9){
  return false;    
}

添加验证两个值不会产生错误答案的测试用例也没有什么坏处,尽管这很难涵盖所有测试用例。

//-8 + -1 = -9
if (addFunction(-8, -1) == 9){
  return false;    
}