1、在个人电脑中安装一个集成开发环境(Microsoft Visual Studio、Eclipse或其它工具均可),要求该环境能够提供单元自动测试功能;
2、记录安装过程,并将全部内容发表在博客中;
3、实现最大子数组和算法,并将该段代码上传至Coding.net系统中;
4、自行选择合适的覆盖标准并设计测试用例对该段代码进行测试,并将测试结果发布在博客中,结果以如下表格形式完成。
用例编号 |
用例描述 |
输入数据 |
预期输出数据 |
实际输出数据 |
通过/不通过 |
评价 |
Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。所以它是一款非盈利性的、专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。对于它的一些理解体会可以参考我的上一篇博文《不同类型软件的分析》,其中讲到了我对于Eclipse使用的一些心得体会。今天的任务主要是讲解一下Eclipse的安装和使用Eclipse自带的Junit工具对最大子数组和算法进行单元测试。
一、Eclipse的安装
1.1、下载安装JDK
安装Eclipse之前,我们需要在电脑上搭建一下Java的开发环境,也就是需要安装JDK(JDK中附带有JRE),目前版本最高的是JDK8.0,大家可以自行到官网上去搜索下载。下载到如图一所示的exe文件,然后双击安装,如图二,接下来按照提示操作即可。注意记一下安装路径,下一步需要用来配置环境变量。
图一 JDK安装文件图
图二 JDK安装界面图
1.2、配置环境变量
安装好JDK后,我们需要配置一下电脑的环境变量。首先找到我的电脑(我系统是win8.1),右击选择属性,选择高级系统设置,然后选择环境变量,操作过程如图三,然后新建三个环境变量分别是:变量名:path,变量值:JDK中bin文件夹的路径;变量名:classpath,变量值:JDK中lib文件夹的路径;变量名:JAVA_HOME,变量值:JDK的路径(如果已经存在变量名,那么在变量值中加上你要写的路径,中间用分号隔开),如图四。
图三 环境界面配置图
图四 环境变量配置图
配置完环境变量,我们通过DOS命令提示符来进行测试,在界面中输入java -version,如果出现如图五的提示证明环境搭建成功,接下来就可以安装eclipse了。
图五 环境搭建测试图
1.3、安装Eclipse
Eclipse的安装包我们可以从官网上下载(www.eclipse.org),也可以找身边人拷贝免安装的压缩包,解压直接使用。具体安装过程没有什么难点,按照提示一步一步操作下去就可以了。进去以后的操作界面如图六。
图六 Eclipse界面图
二、最大子数组和算法的实现与测试
2.1、最大子数组和算法
我实现程序的算法使用的是暴力枚举法,如图七所示,写了一个类,类中一个方法解决最大子数组和的程序。具体代码已经上传至coding中(https://coding.net/u/yuanjin/p/MaxArraySum/git/blob/master/sumMaxArray.java)。
图七 代码界面图
2.2、代码的单元测试
接下来对编写的最大子数组和进行测试,我使用的是Eclipse自带的单元测试工具JUnit,首先点击文件,新建,选择Junit Text Case,然后选择要测试的类和方法,如图八,创建成功如图九。
图八 操作过程图
图九 创建成功界面图
然后编写测试代码,具体代码已上传至coding中(https://coding.net/u/yuanjin/p/MaxArraySum/git/blob/master/sumMaxArrayTest.java)。我选择了7组数据进行测试分别包含了全正数、全负数、全零、正数和零、负数和零、正数和负数、正数负数和零,共七种情况,第一次测试结果如图十所示,显示有两组数据测试出错。
图十 第一次测试图
我仔细研究之后,发现问题出在算法上,开始将最大值赋值为零,导致有负数时会出现错误,于是我将初始值设定为最大的带符号整数0x7FFFFFFF解决了问题,再次测试全部通过,如图十一。
图十一 测试成功图
2.3、表格的完成
用例编号 |
用例描述 |
输入数据 |
预期输出数据 |
实际输出数据 |
通过/不通过 |
评价 |
1 |
全正数 |
{1,2,3,4} |
10 |
10 |
通过 |
一次性通过,证明全正数算法正常 |
2 | 全负数 | {-1,-2,-3,-8,-4,-6,-9} | -1 | -1 | 通过 | 第一次出错,在于最大值初值问题,已解决 |
3 | 全零 | {0,0,0,0,0} | 0 | 0 | 通过 | 一次性通过,证明全零算法正常 |
4 | 正数和零 | {2,22,0,10,17} | 51 | 51 | 通过 | 一次性通过,证明正数和零算法正常 |
5 | 负数和零 | {-4,-2,0,-12,-1} | 0 | 0 | 通过 | 一次性通过,证明负数和零算法正常 |
6 | 正数和负数 | {2,22,-10,17} | 31 | 31 | 通过 | 第一次出错,在于最大值初值问题,已解决 |
7 | 正数负数和零 | {-4,-2,0,12,1} | 13 | 13 | 通过 | 一次性通过,证明正数负数零算法正常 |
2016年10月9日星期日
程浩