2011-09-21 134 views
7

如何在Java中執行迴歸測試?是否有自動迴歸測試框架,或者您是否只編寫(JUnit)單元測試來幫助確保迴歸?基於Java的迴歸測試

有沒有一種方法或一組編碼單元測試的最佳實踐,以便它們也可以作爲迴歸測試的雙重目的,還是需要將回歸測試與單元測試分開進行?

+0

可能是最好的程序員.stackexchange.com – Qwerky

回答

1

JUnit通常針對單元測試而不是全面的功能測試(如果將系統作爲一個整體來看,迴歸測試就是一個例子)。

然而,使用單獨的測試套件執行連接到實際後端等的「繁重」功能和集成測試並驗證結果與預期結果並不罕見。

這裏使用JUnit的一個原因是能夠使用依賴注入從「模擬測試」轉變爲實際功能測試。例如,您可以提供輕量級測試中的模擬協作者,以及完整功能測試中的實際協作者實例。

+1

那麼,如果JUnit不適合這種類型的測試,那麼Java的一些典型的迴歸/功能測試框架是什麼呢? – IAmYourFaja

+0

@Mara - www.spockframework.org –

4

迴歸測試與語言無關。這是一種用於確保將來的代碼更改不會破壞現有功能的技術。在Java中,您可以使用junit或testng或其他任何東西。通常回歸測試是一種功能測試,不是一種純粹的單元測試。

+0

認爲Woot4Moo。通過「功能測試」,你的意思是「順序」,這意味着它不是測試一個組件/單元,而是執行一系列操作(以類似腳本的方式)以確保保持某種不變性。 – IAmYourFaja

+0

@Mara,這就是所有自動化測試的工作原理。迴歸測試只是「針對舊測試測試新代碼」,它的測試類型(單元,功能,集成等)沒有任何區別。 –

+1

戴夫 - 有趣。所以,只要你保持了一個完整的單元測試框架,那麼你也不會關心迴歸測試,因爲你永遠不會丟棄舊的單元測試?這讓我感到困惑,因爲你總是聽到有關回歸測試的信息,但通過你的解釋,聽起來你所要做的就是確保你的單元測試能夠達到最佳效果。我正在軌道上還是我沒有駕駛? – IAmYourFaja

0

迴歸測試是任何可以檢測迴歸的測試。

如果你想驗收測試,我已經聽說FitNesse好東西。