測試工具Jtest:用於代碼優化和測試
一、Jtest簡介
Jtest 是 Parasoft 公司推出的一款針對 Java 語言的自動化代碼優化和測試工具,它通過自動化實現對 Java 應用程序的單元測試和編碼規范校驗,從而提高代碼的可靠性以及 Java 軟件開發團隊的開發效率。
二、主要功能
1)通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。Jtest先分析每個java類,然后自動生成junit測試用例並執行用例,從而實現代碼的最大覆蓋,並將代碼運行時未處理的異常暴露出來。
2)可以檢查DbC(Design by Contract)規范開發的代碼的正確性。
3)用戶可自定義編碼標准,通過簡單的幾個點擊,就能預防類似於未處理異常、函數錯誤、內存泄漏、性能問題、安全隱患這樣的代碼問題。
三、優勢
1)使預防代碼錯誤成為可能,從而大大節約成本,提高軟件質量和開發效率
2)使單元測試,包括白盒、黑盒以及回歸測試成為可能
3)使代碼規范檢查和自動糾正成為可能
4)鼓勵開發團隊橫向協作來預防代碼錯誤
四、工作原理
Jtest通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。Jtest先分析每個java類,然后自動生成測試用例並執行用例,從而實現代碼的最大覆蓋,並將代碼運行時未處理的異常暴露出來;另外,它還可以檢查以DbC(Designby Contract)規范開發的代碼的正確性。用戶還可以通過擴展測試用例的自動生成器來添加更多的用例。Jtest還能按照現有的超過350個編碼標准來檢查並自動糾正大多數常見的編碼規則上的偏差,用戶可自定義這些標准,通過簡單的幾個點擊,就能預防類似於未處理異常、函數錯誤、內存泄漏、性能問題、安全隱患這樣的代碼問題。
五、使用Jtest進行Java編碼規范檢查
1.選擇 Jtest->Test Using Default Configuration 運行編碼規范檢查。
2.對執行代碼規范檢查的結果。默認情況下,執行代碼規范檢查時,單元測試也會一並觸發。其中選項卡上方的紅叉表示在對應檢查項中發現了錯誤或警告。在 Static 選項卡中,可以看到執行檢查過程中,被檢查的文件個數,運行失敗的次數,違反代碼規范的個數以及檢查耗時等信息。
3.檢查執行完畢后,可以通過打開 Jtask 窗口中的樹形結構查看更詳細的檢查結果。在該樹形結構中,Fix Static Analysis Violations 節點記錄了所有到被檢查代碼中違反編碼規范的缺陷。下圖所示,選中一條違反編碼規范記錄,點擊右鍵選中View Rule Documentation,可查看相應代碼的編碼規范描述信息。

4.雙擊“[Line: 57] Text label 'case1' may be typo for 'case 1”節點,代碼編輯器中會自動定位並高亮顯示錯誤代碼。點擊代碼左側黃色圖標,Jtest 會彈出對於當前錯誤的建議修改方案,選擇 Change the label to switch case,Jtest 會自動修復當前代碼錯誤,即將代碼中的字段:“case1”自動修改為“case 1”。自動修復錯誤后,代碼左側的黃色圖標會消失,Jtask 窗口中的錯誤信息也會被刪除。
5.Jtest可進行認為忽略和刪除特定錯誤的報告信息,通過打開Jtask窗口,選中希望忽略或者刪除的違反編碼規范記錄后右擊選擇相應的Suppress Task或者Delete。在彈出的 Reason for the suppression 對話框中填寫忽略原因,點擊 OK。
以上就是初步學習Jtest測試工具后的小實踐,Jtest是一款非常實用的工具,相信在未來會有更多使用Jtest進行實踐和深入了解Jtest的機會。