1. 程式人生 > >Eclipse單元測試-最大子陣列和演算法

Eclipse單元測試-最大子陣列和演算法

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安裝檔案圖

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介面圖
圖六 Eclipse介面圖


二、最大子陣列和演算法的實現與測試

2.1、最大子陣列和演算法

  我實現程式的演算法使用的是暴力列舉法,如圖七所示,寫了一個類,類中一個方法解決最大子陣列和的程式。具體程式碼已經上傳至coding中。


程式碼介面圖
圖七 程式碼介面圖


2.2、程式碼的單元測試

  接下來對編寫的最大子陣列和進行測試,我使用的是Eclipse自帶的單元測試工具JUnit,首先點選檔案,新建,選擇Junit Text Case,然後選擇要測試的類和方法,如圖八,建立成功如圖九。


操作過程圖
圖八 操作過程圖

建立成功介面圖
圖九 建立成功介面圖


  然後編寫測試程式碼,具體程式碼已上傳至coding中。我選擇了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日星期日

yuanjin_wuqi