parasoft Jtest介紹和試用>>>
Jtest能自動的生成和執行用來捕捉運行時異常的JUnit測試用例以及盡可能完整的運用方法。你能擴展這些自動生成的測試用例來提高測試覆蓋率,驗證單元級的功能,以及子模塊,模塊和系統級的功能。
目的:
演示如何自動生成和運行JUnit測試用例,怎樣復查和驗證結果,怎樣修復發現的錯誤。
準備:
Jtest實例項目的創建。
生成過程
- 點擊Jtest視圖工具條中的Delete All按鈕,清除當前消息。
- 選擇Jtest Example>examples.eval>Simple.java in the Package Exporer。
- 點擊工具條中的Test Using 按鈕。當你點擊這個按鈕時,Jtest執行靜態分析以及單元測試。前面的課程關注靜態分析結果;這個課程關注單元測試的結果。如前面教程所講,通過選擇不同的配置,可以只執行靜態分析或者單元測試。
- 復查在測試結束后打開的Jtest總結面板。單元測試用例生成策略顯示在generation標簽中。單元測試執行策略顯示在Execution標簽中。
- 單擊Close按鈕來關閉總結面板。
- 注意Jtest將生成的JUnit測試類文件添加到Jtest Example.jtest項目中的examples.eval包中。
- 使用測試文件驗證Jtest視圖并通過打開Jtest視圖下右側頂部的下拉菜單的目錄布局,然后選擇Layout>Tested Files and Categories。
- 復查Jtest視圖中的信息。
- 在Jtest視圖中,擴充simple.java>Review Exceptions>[line#]Unverified java.lang.StringindexOutOfBoundsException:String index out of range 消息。
- 雙擊堆棧跟蹤元素,查看失敗的代碼。這揭示了:當“0”和“00”被作為startsWith方法中的參數str和match的值被傳入時,一個異常被拋出。這個異常被認為是一個錯誤因為這個方法應該能處理任何有效的輸入。換句話說,這個方法應該考慮到不同的字符串大小的可能性。如果str的長度比match的小,當在for循環中調用str.charAt(i)方法時,這個異常被拋出。為了處理這個異常,方法應該始終檢查str和match的長度。
- 通過右擊它的節點,表明這個未驗證的異常實際上是一個錯誤,然后選擇Move task to "Fix Unit Test Problems".異常將從復查未驗證的單元測試錯誤/失敗任務目錄中被移除并且添加到修復單元測試問題任務目錄中。Jtest還將用一個//verified注釋替換來自相關測試用例的//unverified注釋。
- 通過使用一個if語句,修改startsWith()方法來保護代碼免于異常;修改的代碼如下所示:
public static boolean startsWith (String str, String match) {
if (str.length() < match.length()) {
return false;
}
for (int i = 0; i < match.length (); ++i)
if (str.charAt (i) != match.charAt (i))
return false;
return true;
}
這個方法始終檢查字符串的長度以保證不會發生StringIndexOutOfBoundsException。
- 選擇File>Save來保存修改的類。
- 將未驗證的結果轉化為功能性的單元測試,如下:
- 復查每一個列在Jtest視圖的Review Unit Test Outcomes任務目錄中的未驗證結果。
- 右擊Review Unit Test Outcomes節點,然后從目錄快捷方式中選擇Verify All。
查看測試用例覆蓋率
- 打開被測文件的編輯器(Simple.java)。Jtest使用左邊綠色的欄來表明相關的路線被覆蓋了。粉色的欄表明相關語句沒有被覆蓋。沒有顏色的欄表明相關的路線不可執行。既然達到了100%的覆蓋率,所以對這個文件沒有紫色的欄。
- 打開只在Jtest中的覆蓋視圖(選擇Jtest>Show View>Coverage)。覆蓋視圖顯示出針對類和每個方法的覆蓋統計(覆蓋百分比,總執行路線以及覆蓋路線)。
用簡單的用戶定義的測試用例來擴展測試類
- 雙擊Jtest Example.jtest>examples.eval>SimpleTest.java,在編輯器中打開它。
- 在testMap1()方法的上面,注釋之后添加如下所示測試方法。
public void testMap() {
assertTrue(Simple.map(34) == -2);
}
- 選擇File>Save來保存修改后的測試類。
- 運行針對簡單類(包括自動生成的測試類,及新測試用例)的所有測試用例,如下:
- 選擇包瀏覽器Jtest Example>examples.eval>Simple.java。
- 打開Test Using下拉目錄。然后從目錄中選擇Test Using>Built-in>Run Unit Tests。
以上就是本次教程的內容了,你也可以申請jtest試用>>,親自動手試試哦。
查看更多測試分析資訊和產品推薦>>>
查看更多parasoft測試產品
獲取更多活動信息
標簽:
軟件測試技術Parasoft
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn