2015-08-31 248 views
1

我正在爲我的寧靜應用程序進行廣泛的功能測試,並且因爲該應用程序遵循休息原則,所以開銷很小。我想不出一個具體的原因,爲什麼我應該花時間和精力編寫/測試單元測試。我錯過了一個明顯的觀點嗎?爲什麼進行單元測試和功能測試

+0

這個問題可能會更適合[程序員.SE](http://programmers.stackexchange.com/) –

+0

他們之間的目的很不相同。 –

回答

4

如果您的功能測試失敗,您經常需要花時間瀏覽調用鏈來查找導致失敗的代碼塊。當單元測試失敗時,您可以立即知道故障發生的位置。這可以節省您的時間。

也許更重要的是,這可以節省你的隊友時間。根據我過去三十年在許多不同團隊工作的經驗,當別人的功能測試失敗時,我需要一段時間才能瞭解代碼。單元測試OTOH通常非常小並且很容易理解。我通常可以根據單元測試失敗快速解決迴歸問題,這比我在功能測試失敗時可以快得多。另外,單元測試的運行速度通常比功能測試快得多,這爲您提供了更加嚴格的反饋循環。

在一天結束時,您不會嚴格遵守其他人建立的教條而贏得獎勵積分。你的目標是編寫高質量的軟件。如果你可以在你的特定情況下只寫功能測試來做到這一點,那麼就去做吧。單元測試在許多軟件項目中是一個好主意,但它們不是萬能的。

+0

單元測試也可以測試異常條件並確保錯誤得到正確處理。 – dkatzel

+1

@dkatzel我也有我的功能測試。例如在'failed_registration.json'中,我有測試檢查未滿足的驗證規則的所有組合,並確保生成正確的錯誤(即使對返回響應的HTTP狀態代碼敏感)。 –

相關問題