1. 程式人生 > >軟體測試第三次作業-WordCount

軟體測試第三次作業-WordCount

Wordcount

一、開頭:

(1)合作者:201631062509,201631062609

(2)程式碼地址:https://gitee.com/zhangyangjing/learngit/blob/master/wordcount.jar

(3)本次作業的連結地址:https://edu.cnblogs.com/campus/xnsy/Test/homework/2203

二、正文:

(1)互審程式碼情況

模組:

模組1:輸入 -c 獲得當前檔案字元數

模組2:輸入 -w 獲得當前檔案單詞數

模組3: 輸入 -l 獲得當前檔案行數

模組4:輸入 -e 獲得當前檔案所有資訊

模組5:輸入 -s 遍歷當前資料夾下所有檔案的資訊

模組6:輸入 -x:end結束

完成情況:

1.基本功能(完成)

統計檔案的字元數(實現)

統計檔案的單詞數(實現)

統計檔案的行數(實現)

2.拓展功能(完成)

遞迴處理目錄下符合型別的檔案(實現)

顯示程式碼行、空行和註釋行的行數(實現)

3.高階功能(未完成)

發現的問題:自己還是實現了大部分的功能,但是因為是初學,所以在有些地方還是會出一些錯,而搭檔的程式碼相對我來說就感覺更加完善,也沒有較大的錯誤,就只有一些比如變數命名過於隨意等小問題,最後整合的時候相對進行了處理。

(2)靜態程式碼檢查情況

輸入 -c 獲得當前檔案字元數

 

輸入 -w 獲得當前檔案單詞數

 

 

輸入 -l 獲得當前檔案行數

 

 

輸入 -e 獲得當前檔案所有資訊

 

 

輸入 -s 遍歷當前資料夾下所有檔案的資訊

 

 

輸入 -x:end結束

等價類:

有效等價類

(1)字串(-c,-w,-l,-e )+檔案路徑

(2)字串 -s + 資料夾路徑

(3)字串 -x + end

無效等價類

(4)數字

(5)空格

(6)字串

(7)其他字串 + 檔案路徑

(8)檔案路徑

(9)資料夾路徑

測試用例:

測試用例  

覆蓋等價類

執行結果

-c D:\測試\ wordCount.docx

(1)

有效

-w D:\測試\ wordCount.docx 

(1)

有效

-l D:\測試\ wordCount.docx 

(1)

有效

-e D:\測試\ wordCount.docx

(1)

有效

-s D:\WeChat

(2)

有效

-x end    

(3)

有效

201631062509

(4)

無效

        (空格)

(5)

無效

Yg

(6)

無效

Yg D:\測試\ wordCount.docx

(7)

無效

D:\測試\ wordCount.docx

(8)

無效

D:\WeChat

(9)

無效

(3)單元測試情況

單元測試採用Junit5作為測試工具,首先在網上找到junit的包然後將其匯入到專案中,建立各個模組的測試@text包

 

 

在進行單元測試時

 

 

發生下列情況

 

 

這個情況是因為我們測試的模組是含引數的,要進行Junit5引數化測試,

步驟如下

JUnit引數化測試的五個步驟:

1.為準備使用引數化測試的測試類指定特殊的執行器 org.junit.runners.Parameterized。

2.為測試類宣告幾個變數,分別用於存放期望值和測試所用資料。

3.為測試類宣告一個帶有引數的公共建構函式,並在其中為第二個環節中宣告的幾個變數賦值。

4.為測試類宣告一個使用註解 org.junit.runners.Parameterized.Parameters 修飾的,返回值為 java.util.Collection 的公共靜態方法,並在此方法中初始化所有需要測試的引數對。

5.編寫測試方法,使用定義的變數作為引數進行測試。

(4)效能測試和優化

效能測試工具選擇JProfiler。JProfiler很容易安裝,並且通過嚮導,你可以選擇應用伺服器用來執行應用程式。不得不選擇使用JPofiler應用伺服器的主目錄,以及嚮導生成的一個單獨的啟動指令碼。然後執行伺服器。在監聽會話的過程中,它會提供幾個選項,它可以記錄記憶體的使用和CPU的使用率。在檢視CPU使用率的同時,可以看到執行路徑。這讓我看到應用程式大部分時間都花在請求上。我們可以將IntelliJ外掛安裝到IDE上,那麼執行JProfiler會更加便利。

三、實驗心得

    因為自己是初學JAVA,想嘗試用JAVA寫程式碼,剛好搭檔也說JAVA比較簡單實現。在一開始分開寫程式碼的時候,自己會遇到一些問題,通過查閱資料那些方式算初步解決了問題。然後在程式碼互審的時候,就看了搭檔的程式碼,比自己的要完善些,基本就只有一些變數命名比較隨意簡單這種錯誤,把程式碼整合後也出現了一些問題,但是在我們共同努力下解決了。單元測試我們選擇了Junit5,但是在測試時出現了一些錯誤,最後發現是因為我們的測試模組是含引數的,需要進行Junit引數化測試。效能測試工具我們選擇了JProfiler,還安裝了IntelliJ外掛,使得執行Jprofiler執行變得更加便利。