產品出廠必經檢驗,業務類別亦同——唯有經過測試驗證,才能保證 API 正確性,避免 Bug 蔓延。業務功能測試屬測試人員職責,但 API 正確性必須由開發者負責。
傳統開發常見窘境:通宵除錯,最終發現問題極簡單。主因有二:
main() 自測,需單獨執行、人工觀察。類別數增長時,舊測試易失效、覆蓋率難控。未寫實作前先寫測試,聽似不可思議,實則強迫開發者站在「呼叫者角度」設計介面,深入理解類別外在關係,介面更易用、結構更合理。實作細節留待編碼時處理。
測試非階段性工作,應貫穿編碼全程。類別間關聯緊密,功能調整常牽一髮動全身。頻繁測試可及早發現回歸錯誤,修復成本隨時間指數增長。這也是 XP (Extreme Programming) 核心實踐之一。
非指「自動找出 Bug 的神奇工具」,而是:
初期會觸動「慣性定律」產生阻力,似乎增加工作量。但隨專案規模擴大,傳統方法將捉襟見肘,而基於框架的測試技術依能「談笑自如」。請保持懷疑精神,親身實踐體會其帶來的長期效益與開發信心。