2012-04-14 153 views
0

是否有任何自動化測試工具或框架將測試我們的Java代碼,而無需在開發人員視圖中編寫測試用例中的任何代碼片段?Java自動化測試工具

+3

你的意思是魔法框架? – 2012-04-14 04:34:46

+0

你的意思是一個測試工具,將測試代碼而不被賦予任何代碼來測試? – 2013-01-16 07:20:39

回答

1

您可以考慮使用靜態代碼分析工具,如CovertyFindBugs,它將嘗試僅基於源代碼查找潛在的錯誤,而不實際執行它。

您也可以嘗試randoop,它會自動生成隨機JUnit測試用例(方法調用的隨機序列)來查找對象合同違規。它拋棄了導致非法參數異常的方法序列,這是一個很好的積極因素。它還會記住構造複雜對象的方法序列以及導致合同違反的序列。

如果您的代碼使用JML編寫的規範,Compaq的ESC/Java可以針對這些代碼驗證您的代碼。

3

有一個名爲javac的工具,它將對您的代碼執行一些基本的測試。

例如,如果您的代碼缺少},它會告訴您。此外,它會檢測您嘗試使用錯誤類型的參數調用某個函數,或者調用一個不存在的函數。

您可能會發現FindBugs有用,因爲它可以警告潛在的危險代碼,但它有很多誤報。

除此之外,你要求的是某種程序員AI。如果計算機可以告訴你已經正確實施了你的代碼,爲什麼不讓計算機爲你寫代碼呢?

+2

隨機代碼生成器+自動測試工具=輕鬆成功!我很喜歡! – emory 2012-04-14 06:37:57

1

其實,似乎有一些tools,但我沒有使用過它們中的任何一個。此外,如果您編寫一些測試,則可以使用PIT修改現有的代碼以查找潛在的缺陷。