2010-08-10 144 views
6

在Java項目中測試最常用的方法是什麼(迭代開發)?測試方法

+0

應該是社區wiki。 – Borealid 2010-08-10 03:07:30

回答

9

我的建議是,你應該有一個健康的自動和手動測試組合。

自動化測試

手動測試
雖然我很喜歡自動化測試是,恕我直言,不是一個手工測試的替代品。主要原因是自動化只能按照所告知的內容進行,並且只能驗證它被通知視爲合格/不合格的內容。一個人可以利用它的智能來發現錯誤並提出在測試別的東西時出現的問題。

  • 探索性測試
    ET是一個非常低的成本和有效的方式找到一個項目的缺陷。它利用了人類的智慧,並且比測試技術更能告訴測試人員/開發人員更多關於該項目的知識。針對測試環境中部署的每個功能進行ET會話不僅是快速發現問題的有效方式,而且是學習和娛樂的好方法!
    http://www.satisfice.com/articles/et-article.pdf
+1

謝謝你的詳細回覆喬納斯。這將作爲一個很好的參考。 – 2010-08-14 17:46:35

+0

沒有憂慮,只能樂意幫忙。如果你願意,測試可以非常有趣。 – 2010-08-16 12:57:48

4

以前我和TDD(測試驅動開發)一起工作過,我對它的感覺是混合的。本質上,您在編寫代碼之前編寫測試,並編寫代碼以滿足測試的要求。 TDD迫使您在開始之前對您的要求有一個非常清晰的概念。另外一個好處是,一旦你完成了開發,假設你緊跟TDD過程,你將擁有一套完整的測試套件來處理代碼。不好的一面是,它需要很長時間,有時你只想跳過幾個步驟(例如在測試之前編寫代碼,比如理智的人會喜歡這樣做)。

更可以讀here (wiki link)

2

單元測試?

基於合同的編程,一個艾菲爾?

瀑布模型?

不同的商店做不同的事情。如果有一種方法來統治他們,你就不會問這個問題。

7

個人經驗表明最流行的方法是根本沒有。

+2

這很可惜,也許令人驚訝的是,非常真實的...... – Cambium 2010-08-10 03:09:33

+0

......或者至少,只要你能逃脫;-) – 2010-08-10 03:09:53

+0

測試的主要缺點是什麼? – 2010-08-14 17:45:52

2

在做測試的前提下,我會說使用JUnit進行測試是在Java中進行測試的常用方法。

儘管大多數測試都是用JUnit編寫的,但大多數測試往往比單元測試更具集成性測試。 (也就是說,不是單獨測試某件事物,而是一起測試某件事物)

此外,測試大多不是以測試第一種方法編寫,而是在並行或特定功能實施後編寫。

如果你去一個能夠更高級地使用測試的團隊,你可能會發現一些CI服務器(巡航控制,Hudson)每天至少在夜間構建期間運行測試一次。

2

在最常用的方法的順序:

  1. 在所有
  2. 手動測試沒有考試:在運行應用程序, 點擊或者提供輸入,檢查 結果
  3. 嘗試寫一些JUnits ,忘記 關於它們,滑動到2和1
  4. 從TDD開始,看到它很難 然後滑動到3,2和1

理論上有很多方法可以正確地測試代碼。 如果您正在尋找實用的東西,請看 Clean Code Talk。看看整個系列,約5次會談(不能發佈多個鏈接)。

0

我的Java項目的測試建議是保持簡單。

步驟: - 手動測試: - 實現穩定的產品。 自動化測試: - 保持產品的質量。 報告生成和報告: - 讓人們知道產品的質量。持續集成: - 使其成爲一個完整的自動連續工具。

當開發人員將提交功能,然後開始通過module測試它的模塊。試着比較實際輸出與預期的輸出和反對的日誌的問題。

當開發人員解決問題時,從集成測試開始,並開始測試已解決的狀態問題,並檢查是否因修復問題而發生任何迴歸。

最後當產品成爲穩定的產品時,開始自動化模塊。 您也可以按照如下步驟自動執行: - 1.自動模塊。 2.爲產品HealthCheck生成併發送郵件。 3.在本地機器上的私有服務器上進行連續集成和自動化測試。