📘 深度概覽
作者背景#
Kent Beck 為美國軟體工程師,極限程式設計(Extreme Programming, XP)的創始者,也是 2001 年敏捷宣言(Agile Manifesto)的十七位原始簽署人之一。他被公認為測試驅動開發(Test-Driven Development, TDD)技術的重新發現者,同時也是 xUnit 系列測試框架的開發者與軟體模式(Software Patterns)運動的先驅。曾創立 Three Rivers Institute,其職業生涯結合了軟體開發實踐、方法論創新與思想傳播。
完整摘要#
本書(Test Driven Development: By Example)並非以理論論述為主,而是透過兩個完整的實作案例讓讀者「做中學」TDD 的節奏。全書分為三部分:第一部分以多幣別貨幣(Multi-Currency Money)為範例,示範 TDD 的五步循環——快速新增測試、執行並觀察失敗、做最小修改使其通過、再次確認全部通過、重構消除重複。讀者將在這個過程中體會每次功能增量可以多麼微小、為了通過測試的修改可以多麼簡陋、以及重構是由多麼細碎的步驟所組成。第二部分以 Python 實作 xUnit 測試框架本身,展現一個自我參照的 TDD 過程——用正在開發的工具來測試自己,邏輯複雜度較第一部分更高,是邁向真實軟體 TDD 的進階練習。第三部分收錄 TDD 模式的精選集,涵蓋紅燈模式(何時寫測試、從哪裡開始)、綠燈模式(如何最快通過測試)、測試模式(xUnit 的使用慣例)、設計模式與重構手法,可作為獨立查閱的參考手冊。
本書的貢獻與定位#
作為 TDD 方法論的奠基之作,本書以案例驅動的教學方式樹立了 TDD 入門的標竿。不同於 Gerard Meszaros 的《xUnit Test Patterns》側重測試程式碼的組織與維護模式,或 Robert C. Martin 的《Clean Code》著重程式碼品質的廣泛準則,本書的獨特價值在於由 TDD 的創始者親自示範完整的思考過程與實作節奏,讓讀者從模仿中內化方法論。適合希望建立 TDD 實踐基礎的軟體開發者。
