軟體測試第三次作業-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執行變得更加便利。