Kent Beck 的測試驅動開發:案例導向的逐步解決之道 (Test-Driven Development: By Example)(TDD)
Kent Beck 著 陳仕傑(91) 譯
- 出版商: 博碩
- 出版日期: 2021-02-05
- 定價: $560
- 售價: 7.8 折 $437
- 語言: 繁體中文
- 頁數: 264
- 裝訂: 平裝
- ISBN: 9864345613
- ISBN-13: 9789864345618
-
相關分類:
軟體測試、TDD 測試導向開發
- 此書翻譯自: Test-Driven Development: By Example (Paperback) 銷售排行: 🥈 2021 年度 繁體中文書 銷售排行 第 2 名
🥉 2021/3 繁體中文書 銷售排行 第 3 名
🥇 2021/2 繁體中文書 銷售排行 第 1 名
🥈 2021/1 繁體中文書 銷售排行 第 2 名
立即出貨 (庫存 > 10)
買這商品的人也買了...
-
人月神話:軟體專案管理之道 (20 週年紀念版)(The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, 2/e)$480$379 -
無瑕的程式碼-敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship)$580$452 -
Kent Beck 的實作模式 (Implementation Patterns)$320$272 -
Specification by Example 中文版:團隊如何交付正確的軟體 (Specification by Example: How Successful Teams Deliver the Right Software)$420$357 -
無瑕的程式碼-敏捷完整篇-物件導向原則、設計模式與 C# 實踐 (Agile principles, patterns, and practices in C#)$790$616 -
單元測試的藝術, 2/e (The Art of Unit Testing: with examples in C#, 2/e)$650$507 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
CODE COMPLETE:軟體開發實務指南, 2/e (中文版) (Code Complete: A Practical Handbook of Software Construction, 2/e)$1,280$998 -
領域驅動設計:軟體核心複雜度的解決方法 (Domain-Driven Design: Tackling Complexity in the Heart of Software)$680$530 -
重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e)$800$632 -
Working Effectively with Legacy Code : 管理、修改、重構遺留程式碼的藝術 (中文版)$720$562 -
敏捷大師精選 (Best Agile Articles of 2018)$750$585 -
The Pragmatic Programmer 20週年紀念版 (The Pragmatic Programmer, 20th Anniversary Edition)$680$537 -
依賴注入:原理、實作與設計模式 (Dependency Injection: Principles, Practices, Patterns, 2/e)$1,000$780 -
提升程式設計師的面試力|189道面試題目與解答, 6/e (修訂版) (Cracking the Coding Interview : 189 Programming Questions and Solutions, 6/e)$980$774 -
Scrum 敏捷產品管理:打造客戶喜愛的產品 (Agile Product Management with Scrum: Creating Products that Customers Love)$360$281 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
重新認識 Vue.js:008天絕對看不完的 Vue.js 3 指南$600$468 -
經理人之道:技術領袖航向成長與改變的參考指南 (The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change)$480$379 -
超大流量系統解決方案 : 大型網站架構師的經驗分享$690$538 -
Mike Cohn 的使用者故事:敏捷軟體開發應用之道 (User Stories Applied : For Agile Software Development)$600$468 -
深入淺出設計模式, 2/e (Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, 2/e)$980$774 -
設計重構:25個管理技術債的技巧消除軟體設計臭味 (Refactoring for Software Design Smells: Managing Technical Debt)$520$406 -
Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624 -
Clean Architecture 實作篇:在整潔的架構上弄髒你的手 (Get Your Hands Dirty on Clean Architecture)$500$390
商品描述
[名家名著 22]
先求有,再求好,後求美
Kent Beck的測試驅動開發,帶領你快速突破軟體開發的重重難關!
讓你不再糾結、不再徬徨、不再浪費寶貴的時間!
譯者特別得到作者Kent Beck的授權,
將範例變更的歷程,放到GitHub上公開呈現每一個步驟的演進,
使讀者能夠搭配書中解說以理解TDD開發軟體的精髓!
★好評推薦★
想知道該如何對複雜的企業級需求化繁為簡嗎?如何能專注且輕鬆、不浪費每一分力氣地堆砌出最剛好的設計?該如何可靠穩定地建構出高易用性的API?如何隨心所欲地控制開發推進的步伐大小?如何透過持續的反饋進行實驗與學習,進而持續改善產品品質?如何將需求、驗收、測試、開發、設計各環節一以貫之,無多餘的一絲浪費?這些問題的答案,以及現代敏捷開發的基礎與核心,都在 Extreme Programming與 TDD 祖師爺 Kent Beck 這本經典代表鉅作中。
「簡潔且執行正確的程式碼(clean code that works)」,這似乎是許多程式開發難題所存在的矛盾。而測試驅動開發(Test-Driven Development,TDD)則以矛盾、違反直覺的方式來解決這樣的矛盾問題:在你開始撰寫產品程式碼之前,先寫程式測試它。
這是什麼創新的想法嗎?完全不是。自從有電腦以來,程式開發人員就已經會在撰寫之前,先確認其輸入與輸出的結果。TDD只是採用這個古老的想法,並將它與現代程式語言和開發環境相互結合,端出一道滋味美妙的佳餚以滿足你對「簡潔且執行正確的程式碼」的渴望。
開發人員每天都在面對複雜的開發難題,然而最佳解決方案不可能隨時都準備好來派上用場。但屢見不鮮的是,這樣艱辛的專案往往面臨巨大的壓力,並隨之而來產生大量且糟糕的程式碼。為了獲得征服這樣看似艱鉅任務所需要力量與勇氣,開發人員應該了解一下TDD,這是一系列經過驗證可行的技術,能用來幫助開發人員同時設計出簡單好懂的程式,以及讓我們充滿信心的測試程式。
透過自動測試來驅動開發產品程式碼,然後消除程式中存在的重複,可使任何開發人員在面對無論多複雜的需求,都能寫出可靠、無錯誤的程式碼。除此之外,TDD的過程還能鼓勵開發人員更快速地學習、更清楚地溝通,並且從過程中尋求有建設性的反饋。
你將從本書學會:
•要解決複雜的任務,先從簡單開始,然後逐步發展到處理更複雜的情況。
•在開始寫產品程式碼之前,先寫自動化測試程式。
•藉由每次的重構步驟,一次引入一個設計的決定,形成演進式的設計。
•能替那些複雜的邏輯(包含反射跟例外)撰寫對應的測試。
•使用一些模式來決定該寫哪些測試。
•使用xUnit來撰寫測試,xUnit是許多開發人員所使用的測試工具中的核心架構。
這本書透過2個以TDD方式開發的專案範例來貫穿全場,藉此來解說開發人員能用來輕鬆且顯著提高工作品質的技術。這些範例遵循TDD與重構的一些模式。透過敏捷方法與快速開發策略能帶來的價值,TDD一定能激勵讀者去擁抱這些強大但還未被充分發揮巨大價值的技術。
作者Kent Beck是軟體業界中最具有創意且廣受好評的領導者之一。他熱愛採用模式、極限程式設計與測試驅動開發,目前隷屬於Three Rivers學院。他是一位超級銷暢作家,作品有《Extreme Programming Explained》(Addison-Wesley, 2000)以及《Planning Extreme Programming》(與 Martin Fowler合著, Addison-Wesley, 2001)並為《Refactoring》(Martin Fowler, Addison-Wesley, 1999)一書之貢獻者。
本書範例檔:(本範例檔以GitHub方式呈現已透過原作者授權)
https://tdd.best/book/tdd-by-example
作者簡介
作者 Kent Beck
Kent Beck不斷挑戰軟體工程的教條,並持續推廣模式、測試驅動開發以及極限程式設計等理念。目前隸屬於Three Rivers學院以及Agitar軟體公司,他同時也是眾多Addison-Wesley書籍的作者。
譯者 陳仕傑(91)
連任九屆微軟最有價值專家(2010~2018)
著作:《ASP.NET MVC 5:網站開發美學》(12刷)、《ASP.NET MVC4 網站開發美學》
譯作:《敏捷開發實踐》、《單元測試的藝術 第二版》
審校:《進入IT產業必讀的200個.NET面試決勝題》
講師:各大技術研討會、知名企業內訓與公開培訓講師、知名部落客
目錄大綱
獻詞
前言
致謝
序
譯者序
Part I 貨幣範例
Chapter 01 多幣別貨幣
Chapter 02 退化的物件
Chapter 03 眾生平等
Chapter 04 私有性
Chapter 05 法郎:那我呢
Chapter 06 一切平等,續集
Chapter 07 蘋果與橘子
Chapter 08 製造物件
Chapter 09 我們所在的Times
Chapter 10 有趣的Times 方法
Chapter 11 萬惡的根源
Chapter 12 終於來到加法了
Chapter 13 動工
Chapter 14 換匯
Chapter 15 混合幣別
Chapter 16 最後的工作:抽象
Chapter 17 貨幣範例的回顧
➔下一步該做什麼
➔隱喻
➔JUnit的使用
➔程式碼分析度量
➔過程
➔測試品質
➔最後一次回顧
Part II xUnit 範例
Chapter 18 開始xUnit 的第一步
Chapter 19 用餐前先擺餐桌
Chapter 20 事後清理
Chapter 21 計數
Chapter 22 處理失敗
Chapter 23 如何組成一組測試
Chapter 24 xUnit 回顧
Part III TDD 模式
Chapter 25 測試驅動開發模式
➔測試(名詞)
➔獨立的測試(Isolated Test)
➔測試清單(Test List)
➔測試先行(Test First)
➔驗證先行(Assert First)
➔測試資料(Test Data)
➔因果關係清晰的資料(Evident Data)
Chapter 26 紅燈模式
➔一次一步測試(One Step Test)
➔啟動測試(Starter Test)
➔說明測試(Explanation Test)
➔學習測試(Learning Test)
➔其他用途的測試(Another Test)
➔回歸測試(Regression Test)
➔休息一下(Take a Break)
➔重頭來過(Do Over)
➔便宜的桌子,舒適的椅子
Chapter 27 測試模式
➔子測試(Child Test)
➔模擬物件(Mock Object)
➔自分流(Self Shunt)
➔Log字串
➔模擬例外情況的假物件(Crash Test Dummy)
➔壞掉的測試(Broken Test)
➔提交時保持乾淨(Clean Check-in)
Chapter 28 綠燈模式
➔先作假,直到它變成真的(Fake It, Till You Make It)
➔三角定位法(Triangulate)
➔明確實作(Obvious Implementation)
➔從一到多(One to Many)
Chapter 29 xUnit 模式
➔驗證(Assertion)
➔固定裝置(Fixture)
➔外部固定裝置(External Fixture)
➔測試方法(Test Method)
➔例外測試(Exception Test)
➔全部測試(All Tests)
Chapter 30 設計模式
➔命令(Command)
➔數值物件(Value Object)
➔空物件(Null Object)
➔範本方法(Template Method)
➔插入式物件(Pluggable Object)
➔插入式選擇器(Pluggable Selector)
➔工廠方法(Factory Method)
➔冒名頂替(Imposter)
➔遞迴組合(Composite)
➔收集參數(Collecting Parameter)
➔單例模式(Singleton)
Chapter 31 重構
➔調和差異(Reconcile Differences)
➔隔離變化(Isolate Change)
➔資料遷移(Migrate Data)
➔擷取方法(Extract Method)
➔行內語句方法(Inline Method)
➔擷取介面(Extract Interface)
➔移動方法(Move Method)
➔方法物件(Method Object)
➔新增參數(Add Parameter)
➔把方法中的參數轉變成建構式中的參數
Chapter 32 精通 TDD
➔步伐應該多大?
➔哪些可以不用測試?
➔怎麼知道自己的測試沒有疏漏呢?
➔TDD 如何促進框架的形成?
➔你需要獲得多少反饋?
➔何時應該刪除測試?
➔程式語言與 IDE 如何影響 TDD 呢?
➔你能用 TDD 來開發大型系統嗎?
➔能使用應用程式等級的測試來驅動開發嗎?
➔如何想在產品開發中途開始引入 TDD 呢?
➔TDD 是給哪些人使用的?
➔TDD 對初始條件敏感嗎?
➔TDD 與模式的關係?
➔TDD 為什麼有效?
➔TDD 這個術語有什麼含義?
➔TDD 與極限程式設計實踐的關聯?
➔Darach 的挑戰
Appendix A 影響圖
➔反饋(Feedback)
➔系統控制
Appendix B 費氏數列
後記


















