📘 深度概覽
作者背景#
Roy Osherove 是國際知名的單元測試與敏捷方法論專家,擁有超過二十年的軟體產業經驗。他曾任 Typemock 首席架構師,是 ALT.NET 運動的發起人之一,也是 Legato Labs 的創辦人。除本書外,他亦著有《Elastic Leadership》,並創建了廣為人知的 String Calculator Kata 練習。他至今仍活躍於程式開發第一線,在全球各地為團隊提供單元測試與測試驅動開發(TDD)的顧問培訓。
完整摘要#
本書從最基本的問題出發:什麼是單元測試?作者重新定義了「單元」的概念,將其從單一方法擴展為「工作單元」(Unit of Work)——從呼叫公開方法開始到產生可觀察結束結果的所有動作,包含回傳值、狀態改變與第三方呼叫三種結果類型。在此基礎上,書中明確區分了單元測試與整合測試,並建立好的單元測試應具備的特質:自動化、可重複、快速、隔離且結果一致。核心技術部分深入探討了如何使用 Stub 打破依賴、Mock 物件進行互動測試、以及隔離框架(Isolation Framework)的選擇與運用。書中進一步提出好測試的三大支柱——可信賴性(Trustworthiness)、可維護性(Maintainability)與可讀性(Readability),強調缺少任何一根支柱都會導致整個測試體系崩塌。後半部分轉向實務面,討論測試的組織與階層結構、如何在組織中推動單元測試文化、處理遺留程式碼(Legacy Code)的策略,以及設計與可測試性之間的關係。
本書的貢獻與定位#
《The Art of Unit Testing》是單元測試領域最具影響力的入門到進階指南之一。相較於 Kent Beck 的《Test Driven Development: By Example》聚焦 TDD 流程,本書更全面地涵蓋了測試的設計、組織與組織導入等面向。它適合想從零建立測試能力的開發者,也適合希望提升既有測試品質或在團隊中推廣測試文化的技術主管。
