今天提到的是單元測試的概念摘要,沒有程式碼 Orz
什麼時候要寫測試
專案一開始就要寫測試嗎?如果剛進入專案,要為所有的程式碼加上單元測試嗎?我有這麼多時間嗎?
- 對於已經上線的系統來說,單元測試是重要但不那麼急迫的事,線上的使用者已經幫你測試過邏輯。
- 在修正 Bug 時,或需要修改程式時,再加入 Unit Test,會是比較有效率的方式。
- 只關注真正需要測試的部分。 (怎麼分辨哪些需要測試,可能需要更多的經驗)
- 盡量簡化邏輯,簡單到不需要測試。
參考資料:蜀道難,難於寫測試? — 關於測試的三點提示 - Kuma老師的軟體工程教室 - Medium
測試的類型有哪些
雖然都叫做測試,但單元測試和其他測試定義上有很大不同!
- 單元測試:針對單一方法進行的測試,保護程式不會在系統維護的過程中被破壞。如果程式的架構寫得漂亮,盡可能符合 SOLID 原則,那麼單元測試會比較容易撰寫。
- 整合測試:整合多種資源進行測試,確保模組與模組之間能正常溝通與運作。
- 端對端測試:從使用者 (客戶端) 的角度,對真實系統 (系統端) 進行測試。
參考資料:一次搞懂單元測試、整合測試、端對端測試之間的差異 - The Will Will Web
系列文章
以下是我覺得很棒的系列文,跟著做就可以學會單元測試!
以下網頁不是系列文,但也很值得參考: