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日星期日
程浩