原始代码如下:
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;
}

比如int a[]={7,8,9},b[]={-3,-1,-5},c[3],d[4]={7,8,7,8},e[]={0}........

这些例子有特殊性,在编写测试单元时,要选取边界值,特殊值。比如数组里都是整数,都是负数,有正有负,空,只有一个元素,存在重复的最大值.......

对源程序的修改:

首先max未初始化:用list[0]来作为max的初始值;

然后发现for循环结束条件有错:将for循环中i < length-1修改成为i < length

异常处理,将抛出一个异常

编译源文件并运行该测试:增加提示信息;

if(list==NULL||length==0)
 {
  cout<<"error!input null!";      //输出提示信息
  return 0;                             //返回特殊值
 }

修改后的测试程序:

#include<iostream>
#define null -858993460
using namespace std; void main()
{
int largest(int list[],int length); int a[]={,,},b[]={-,-,-},c[],d[]={,,,},e[]={},max; max=largest(a,);
cout<<max<<endl;
max=largest(b,);
cout<<max<<endl;
max=largest(c,);
cout<<max<<endl;
max=largest(d,);
cout<<max<<endl;
max=largest(e,);
cout<<max<<endl;
} int largest(int list[],int length)
{
int i,max=list[];
if(list==NULL||length==)
{
cout<<"error!input null!"; //输出提示信息
return ; //返回特殊值
} for(i=;i<(length);i++)
{
if(list[i]>max)
{
max=list[i];
}
}
return max; }

总结:

单元测试可以使代码规范,代码有效性,健壮性体现出来。面对程序整合时的种种不可预知问题,优化过的代码更加有效,BUG也更少,在软件开发中,单元测试必不可少。

单元测试:查找list[]中的最大值的更多相关文章

  1. 515. Find Largest Value in Each Tree Row查找一行中的最大值

    [抄题]: You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 / \ ...

  2. SQL Server 2008 R2——查找最小nIndex,nIndex存在而nIndex+1不存在 求最小连续数组中的最大值

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  3. 查找n个数字中的最大值

    闲来无事,试试用arg_list查找n个数字中的最大者. 又因为本人喜欢模板, 所以就早早的写了以下代码, 没有经过严格测试. /*********************************** ...

  4. 如何查找MySQL中查询慢的SQL语句

    如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow ...

  5. 查找图像中椭圆轮廓的快速随机hough变换

    查找图像中椭圆轮廓的快速随机hough变换 图像中椭圆轮廓的查找在视频监控等领域有着广泛的应用,经典hough变换给我们提供了一种查找各种图形轮廓的方法,特别是在直线查找方面具有非常高的精确度.但是由 ...

  6. Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作

    1.首先,须要一个节点对象的类.这些对象包括数据.数据代表存储的内容,并且还有指向节点的两个子节点的引用 class Node { public int iData; public double dD ...

  7. js 查找数组中某个字符出现的次数

    1. js 查找数组中某个字符出现的次数 代码示例 let arr = ['asd', 'green', 'yeadt', 'red', 'wati', 'red', 'red'] let index ...

  8. 利用js查找页面中的内链,外链

    起初没听说过内链外链,只有链接锚文本,在面试中被问到如何查找到页面中的内链和外链,就在想,什么是内链和外链啊??????? 后来面试官给我解释了一下他们的区别,自己稍微懂了,自己当时回答的是通过获取a ...

  9. Excel中提取最大值的问题

    在使用excel的时候,碰到了一个如下的问题 意思是以每个字母为条件,取这个字母下面的数字中的最大值,需要注意一个问题是每个字母下面的数字个数不一定相等,例如d下面有四个数字,可以设置如下公式解决: ...

随机推荐

  1. LDA 初见(JGibbLDA-v.1.0 eclipse使用)

    参考:Eclipse下使用JGibbLDA使用总结 一.下载和初次使用JGibbLDA 1.导入JGibbLDA-v.1.0项目(参考上面链接) 2.在LDA.java右键“run”--->“r ...

  2. c#前3章总结

    01.net和c#的区别 大概在2000年,微软推出了一种革命性的产品--.NET(战略) 目标:任何人,在任何地方,使用任何终端设备,都可以访问微软提供的服务. .net Framework:要想让 ...

  3. principal-component-analysis

    http://support.minitab.com/en-us/minitab/17/topic-library/modeling-statistics/multivariate/principal ...

  4. 【转】Unity中的协同程序-使用Promise进行封装(一)

    原文:http://gad.qq.com/program/translateview/7170767 译者:陈敬凤(nunu)    审校:王磊(未来的未来) 每个Unity的开发者应该都对协同程序非 ...

  5. 转:EntityFramework查询--联合查询(Join,GroupJoin)

    首先我们先看一下Join public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(this ...

  6. 原生js下拉菜单

    var oDiv = document.getElementById("sunav"); var oLi = oDiv.getElementsByClassName("s ...

  7. php闭包实现函数的自调用,也是递归

    php的闭包可能不常用,但是在某些场合之下还是可以考虑用php的闭包来实现某些功能的,比如递归,这里讲一下用php的闭包实现递归 //php闭包实现函数的自调用,也就是实现递归 function cl ...

  8. Python之路-python(rabbitmq、redis)

    一.RabbitMQ队列 安装python rabbitMQ module pip install pika or easy_install pika or 源码 https://pypi.pytho ...

  9. Java学习——Number类、Character类

    Number类 在使用数字时,我们通常会使用内置数据类型,如 int a = 9; float b = 3.14 然而在实际开发中,我们经常遇到需要使用对象而不是使用内置数据类型的对象.为了解决这一问 ...

  10. 如何安装mysql服务

    我刚开始安装mysql的时候,在windows的服务里面可以看到,但是装了以后有一段时间没有用它了,我在准备从windows的服务里面启动mysql服务的时候,发现没有mysql的服务了,那我的解决办 ...