单元测试——我的认识

  百度文库里对单元测试是这么解释的:

  单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

   课堂上,老师给的是一个求最大值的例子:

   int Largest(int list[],int length)
  {
    int i,max;
    for(i=0;i<length-1;i++)
    {
        if(list[i]>max)
        {
            max=list[i];
        }
    }
    return max;
}

经过几组测试,便可发现错误i<length-1 应该改为<=.另外可能是我们的编译器的要求太低,后来也检测了包括0在内,以及全负数的问题,max没有赋初值的问题没有检测出来。检测发现max的值为-85万以下。

附上检测代码:

int Largest(int list[],int length)
  {    
    if(list==null)
{
    cout<<"数组不能为空"<<endl;
    return -1;
}
    else if(length==0)
{
    cout<<"数组长度不能为0"<<endl;
    return -1;
}
    int i,max;
    for(i=0;i<=length-1;i++)
    {
        if(list[i]>max)
        {
            max=list[i];
        }
    }
    return max;
}

在设计主函数调用输入的时候可以使用while(cin>>list){},这样的一个语句输入并记录length,只不过要使用ctrl+z结束输入.

 

posted @ 2014-03-09 10:18  曹玉松  阅读(323)  评论(1编辑  收藏  举报