JTest
Jtest實現了自動化的解決方案,排除了Java開發人員技術應用上的障礙,使得開發人員能夠順利地采用這些技術。
Jtest的測試生成系統專利技術,開發人員提供了一種省時有效的白盒測試方法。Jtest通過自動生成和執行能夠全面測試類代碼的測試用例,使白盒測試完全自動化。Jtest使用一個符號化的虛擬機執行類,并搜尋未捕獲的運行時異常。對于檢測到的每個未捕獲的運行時異常,Jtest報告一個錯誤,并提供導致錯誤的棧軌跡和調用序列。Jtest的先進技術保證它能夠自動測試類的所有代碼分支,從而徹底檢查被測類的結構。
換句話說,Jtest自動生成高質量的測試用例集合,發現盡可能多的結構性錯誤,而且:
不需要用戶寫一點測試腳本語言或測試用例。
不需要用戶寫測試驅動程序。
不修改源代碼。
不要求完整的應用。
Jtest報告下列未捕獲的運行時異常:
行為錯誤的方法:這些方法對于某些特定輸入不會產生異常。必須修改這些代碼。
非預期參數:這一問題出現在當某方法遇到非預期的輸入(不知任何處理)而產生一個異常。這些問題的修正可以通過檢查輸入并產生一個IllegalArgumentException (IAE)(假如該輸入是非法的)。改正這類問題可以使代碼更清晰更易維護。
行為正確的方法:這時,方法的正確輸出是產生一個異常。在這種情形下,建議開發人員修改代碼,將這類異常的產生置于方法的throw子句中。這會得到更清晰的代碼并易于維護。
為開發人員使用的方法:在這種情況下,這些方法"不被假設"成處理Jtest生成的輸入,開發人員是這些方法的唯一使用者,并且不傳遞這些輸入參數。最好的辦法是修改這些代碼,讓它產生一個IAE.這將帶來額外的好處,使代碼更易閱讀。
總之,通過執行自動白盒測試,并提示上述類型的問題,Jtest能夠為開發人員節省大量的時間并防止了錯誤。由于能夠自動執行白盒測試的各個步驟,Jtest對開發人員來說是非常實用的,為了保證質量可以經常執行這一綜合性測試。更進一步,使用測試生成系統技術產生的測試輸入,Jtest使得白盒測試比手工測試更精確更有效。
白盒(構造)測試驗證對一個類的非預期輸入不會導致程序的崩潰。為執行白盒測試,您需要設計和執行根據類的內部結構編寫的測試輸入,檢查是否存在會導致類運行失敗的任何可能的對類的使用,以及是否存在某些編程缺陷可能會導致代碼更容易出錯。白盒測試能否成功的關鍵取決于測試輸入的能力,是否能夠盡可能全面地覆蓋類的方法,并找出引起未捕捉到的運行時異常的輸入。
文章來源于領測軟件測試網 http://www.kjueaiud.com/