在重構過程中,一套穩固的測試套件是不可或缺的安全網。
Martin Fowler 強調,多數專案的測試往往太過稀疏,而非過於冗長。

重構的首要前提,就是擁有一套 自我驗證(Self-verifying) 的測試程式碼。

The sample application for testing: Province Asia

測試撰寫的核心原則#

撰寫測試時,請謹記以下指導原則,讓測試成為開發助力而非阻力:

原則說明
全自動化測試須能完全自動化執行
自我驗證測試須自行判斷 Pass/Fail,不需人工檢查
Bug 偵測器好測試能減少追蹤錯誤的時間
確保會失敗永遠通過的測試等同壞掉的測試
關注邊界條件集中測試最易出錯的地方
不追求完美部分測試勝過沒有測試

面對 Bug 的標準作業程序#

當你在開發過程中收到一個 Bug 回報時,請遵循以下黃金流程:

flowchart TD
    A[🐛 Bug 回報] --> B[撰寫重現測試]
    B --> C{測試失敗?}
    C -->|否| B
    C -->|是| D[修復程式碼]
    D --> E{測試通過?}
    E -->|否| D
    E -->|是| F[✅ 完成修復]
    F --> G[🛡️ 防止 Regression]
  1. 先寫測試: 修復程式碼前,先寫個能重現該 Bug 的測試案例
  2. 確認失敗: 執行該測試,確認它會失敗(這代表你成功捕捉到了問題)
  3. 修復代碼: 修改程式碼,直到測試通過

這不僅能修復當下問題,還能防止該 Bug 未來再次出現(Regression)