我正在爲我的寧靜應用程序進行廣泛的功能測試,並且因爲該應用程序遵循休息原則,所以開銷很小。我想不出一個具體的原因,爲什麼我應該花時間和精力編寫/測試單元測試。我錯過了一個明顯的觀點嗎?爲什麼進行單元測試和功能測試
回答
如果您的功能測試失敗,您經常需要花時間瀏覽調用鏈來查找導致失敗的代碼塊。當單元測試失敗時,您可以立即知道故障發生的位置。這可以節省您的時間。
也許更重要的是,這可以節省你的隊友時間。根據我過去三十年在許多不同團隊工作的經驗,當別人的功能測試失敗時,我需要一段時間才能瞭解代碼。單元測試OTOH通常非常小並且很容易理解。我通常可以根據單元測試失敗快速解決迴歸問題,這比我在功能測試失敗時可以快得多。另外,單元測試的運行速度通常比功能測試快得多,這爲您提供了更加嚴格的反饋循環。
在一天結束時,您不會嚴格遵守其他人建立的教條而贏得獎勵積分。你的目標是編寫高質量的軟件。如果你可以在你的特定情況下只寫功能測試來做到這一點,那麼就去做吧。單元測試在許多軟件項目中是一個好主意,但它們不是萬能的。
單元測試也可以測試異常條件並確保錯誤得到正確處理。 – dkatzel
@dkatzel我也有我的功能測試。例如在'failed_registration.json'中,我有測試檢查未滿足的驗證規則的所有組合,並確保生成正確的錯誤(即使對返回響應的HTTP狀態代碼敏感)。 –
- 1. 爲什麼功能測試不夠?單元測試提供什麼?
- 2. 什麼是功能測試,單元測試,並與例如
- 3. 什麼時候進行單元測試與手動測試
- 4. 爲什麼功能測試失敗?運行rake測試時,
- 5. 你用單元測試測試什麼?
- 6. 單元測試功能
- 7. 單元測試功能
- 8. 功能NHibernate單元測試
- 9. 爲什麼'進行測試'和「./test/Test」
- 10. 什麼是功能測試?
- 11. 執行測試和單元測試
- 12. 如何運行android單元測試/功能測試?
- 13. 如何進行單元測試和模擬開放功能
- 14. 免費功能和單元測試
- 15. 單元和功能測試iPhone代碼?
- 16. 如何區分Symfony2中的單元測試和功能測試?
- 17. CodeIgniter中的單元測試和功能測試
- 18. 爲什麼你需要單元測試基本的SQL功能?
- 19. UI/GUI測試,功能測試和E2E測試有什麼區別?
- 20. 不能與功能進行單元測試,有個createCriteria()語句
- 21. 使用Spring和Jersey測試框架進行單元測試
- 22. 使用Specflow場景進行集成測試和單元測試
- 23. 如何爲EXC_BAD_ACCESS進行單元測試?
- 24. 運行單元測試時,測試類的範圍是什麼?
- 25. 爲什麼使用Spring 3.1 WebMvcConfig進行單元測試失敗?
- 26. 單元測試在什麼時候成爲集成測試?
- 27. 單元測試和正常測試有什麼區別?
- 28. 單元測試和自動測試有什麼區別?
- 29. 什麼是單元測試的正面測試和負面測試
- 30. 單元測試失敗 - 爲什麼?
這個問題可能會更適合[程序員.SE](http://programmers.stackexchange.com/) –
他們之間的目的很不相同。 –