TDD全視視角:認知、實務、工程化與AI融合

袁金松 劉煌 劉玉龍

  • 出版商: 機械工業
  • 出版日期: 2025-07-01
  • 售價: $534
  • 語言: 簡體中文
  • 頁數: 212
  • 裝訂: 平裝
  • ISBN: 7111784235
  • ISBN-13: 9787111784234
  • 相關分類: TDD 測試導向開發
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書由中興通訊資深專家執筆,融合多年的第一線專案經驗,全面講解TDD的基礎理論、實務操作、工程化推廣路徑與未來發展方向。
內容涵蓋廣泛、體系完整,既是開發者個人成長的實用工具書,也是團隊與企業推動TDD落地的權威參考。
本書主要內容如下:
認知篇(第1~2章):
詳細介紹TDD的歷史背景、核心原則和要點,以及本質,
並透過第一原理探討 TDD 的真正價值和作用,幫助讀者建立全面的TDD認知。
實作篇(第3~9章):
圍繞TDD的實施流程與方法展開,從正確的操作步驟、使用案例拆分與Todolist設計,
到黑盒/白盒測試、測試分層、測試資料管理及測試替身技術(如Fake和Mock),提供了豐富的實務經驗和應對策略。
同時,本篇以「DD 送貨」專案為案例,展示了TDD在微服務架構下的實踐全景圖。 
工程化篇(第10~11章):
探討如何推動TDD在大型組織中的規模化落地,包括TDD規模化落地的價值、困難和方案,
提出了一系列最佳實踐和成熟度評估方法,幫助企業實現TDD的長期穩定運作。
拓展篇(第12~13章):
聚焦於大模型對軟體開發的深遠影響,分析大模型如何改變軟體工程範式,以及程式設計師如何擁抱AI技術。
本篇也探討了大模型輔助TDD開發的「雙輪驅動」模式,並詳細介紹了相關的Prompt技巧、範本及AutoTDD工具的技術架構與實務應用。

目錄大綱

Contents
目  錄
序1
序2
前言
認知篇
第1章 TDD是什麼 2
1.1 TDD的前世今生 2
1.1.1 TDD的歷史及現況 2
1.1.2 TDD的作用 3
1.2 TDD的原則與要點 5
1.2.1 TDD三原則 6
1.2.2 「紅-綠-重構」三部曲 6
1.3 TDD的本質 7
1.3.1 以第一原理探討TDD本質 7
1.3.2 TDD的本質是什麼 8
第2章 TDD的價值 10
2.1 TDD與研發效能的關係 10
2.2 TDD提昇軟體工程能力 11
2.2.1 TDD讓程式設計更專業 11
2.2.2 TDD改善代碼品質 11
2.2.3 TDD有助於實現意圖導向程式設計 12
2.2.4 TDD是實現測試左移的重要手段 13
2.2.5 TDD能降低測試成本 16
2.2.6 TDD能降低知識獲取成本 19
2.3 TDD提升人員能力 20
2.3.1 TDD提升程式設計師的業務與測試能力 20
2.3.2 TDD促進團隊協作 21
2.4 TDD提升研發效能是持續性的 23
2.5 TDD有助於打造工程師文化 24
實踐篇
第3章 實施TDD的正確姿勢 28
3.1 TDD的動作要領 28
3.1.1 TDD的操作步驟 28
3.1.2 選取用例的基本原則 29
3.1.3 推進TDD的4項建議 30
3.1.4 關註點分離 30
3.2 TDD在研發流程中的定位 30
3.2.1 TDD在研發流程中的位置 30
3.2.2 TDD的精簡流程 31
第4章 TDD的Todolist 32
4.1 如何理解Todolist 32
4.2 如何輸出Todolist 34
4.2.1 場景分析法 34
4.2.2 用例設計方法 36
4.3 如何保證Todolist的品質 40
第5章 TDD測試用例 41
5.1 TDD實務中的黑盒/白盒測試 41
5.1.1 多數情況下採用黑盒測試 42
5.1.2 特定情況下採用白盒測試 43
5.2 TDD實踐與測試分層的關係 45
5.2.1 微服務架構中的4個測試層級 45
5.2.2 在TDD實務中應用測試分層 47
5.3 測試案例的品質 48
5.3.1 善用用例設計方法,提升測試開發效率 48
5.3.2 使用Given-When-Then,提升測試案例可讀性 48
5.3.3 遵循AIR原則,確保測試案例品質 52
5.3.4 對測試案例分類分級,實現降本與提效 54
5.4 測試資料的管理 57
5.4.1 定義清晰的測試資料需求 57
5.4.2 建立測試資料倉儲 57
5.4.3 使用資料產生工具 58
5.4.4 使用參數化測試方法 64
第6章 測試替身及ZFake框架 70
6.1 測試替身 70
6.1.1 Dummy 71
6.1.2 Stub 72
6.1.3 Mock 72
6.1.4 Spy 73
6.1.5 Fake 74
6.1.6 Fake與Mock的比較 77
6.1.7 如何合理地使用測試替身 78
6.2 自研ZFake模擬框架的價值 78
6.3 ZFake-J框架的實作原理 79
6.4 ZFake-J框架的使用方法 81
6.4.1 製品庫 81
6.4.2 如何在Spring Boot工程中使用ZFake-J 81
第7章 TDD優化軟體設計 94
7.1 TDD如何驅動設計 94
7.1.1 紅階段 94
7.1.2 綠階段 95
7.1.3 重構階段 95
7.1.4 TDD的優勢 95
7.2 TDD與重構 96
7.2.1 TDD與重構的關係 96
7.2.2 常見的5種消除重複的方法 97
第8章 TDD的實踐路徑與評估方法 104
8.1 保證測試先行 104
8.1.1 保證測試先行的實務流程 104
8.1.2 保證測試先行的評估方法 105
8.2 「小步快走」地實現TDD 105
8.2.1 「小步快走」模式的核心價值 105
8.2.2 「小步快走」模式的實務流程 106
8.3 開發非同步場景下的測試案例 107
8.4 TDD實踐的學派之爭 109
8.4.1 芝加哥學派 109
8.4.2 倫敦學派 110
8.4.3 TDD實務中如何應用兩種學派的思維 111
8.5 改善TDD實務的限制 111
第9章 一個完整的TDD實踐案例 114
9.1 需求分析 114
9.1.1 需求及背景介紹 114
9.1.2 需求實例化 115
9.2 方案設計 119
9.2.1 分層架構 120
9.2.2 資料庫表設計 121
9.2.3 表的詳情設計 121
9.2.4 REST API設計 124
9.3 輸出Todolist 131
9.4 TDD開發實現 134
9.4.1 使用ZFake實現貨單詳情查詢 134
9.4.2 使用記憶體資料庫實作對外部資料庫的Fake 136
9.4.3 實作對外部REST API的Fake 138
9.4.4 測試資料建構 142
9.4.5 關鍵字封裝 146
工程化篇
第10章 推動TDD規模化落地 152
10.1 TDD規模化落地的價值 152
10.1.1 顯著提升軟體產品的整體品質 152
10.1.2 打造緊密「抱團」的社區生態 153
10.1.3 提昇軟體開發鏈路的整體協同效率 153
10.2 TDD規模化落地的困難 154
10.2.1 個人層面的實踐困難 154
10.2.2 組織層面的推廣困難 156
10.3 如何應對規模化落地的困難 156
第11章 TDD規模化落地的方案 159
11.1 TDD落地範式 159
11.1.1 組織層面的TDD推進策略 159
11.1.2 實踐層面的TDD落地措施 160
11.2 TDD成熟度評估 164
11.2.1 為何要進行TDD成熟度評估 164
11.2.2 TDD能力成熟度模型 165
11.3 TDD實務效果評估 170
11.3.1 TDD實務評估模型 170
11.3.2 對於品質的評估 171
11.3.3 對於效率的評估 173
11.4 TDD推廣的最佳實務 176
11.4.1 以點帶面 176
11.4.2 標桿先行 177
11.4.3 刻意練習 178
11.4.4 結對程式設計 180
拓展篇
第12章 大模型對軟體開發的影響 184
12.1 大模型將改變軟體工程範式 184
12.1.1 軟體工程範式的發展 184
12.1.2 AI時代的軟體工程典範 185
12.1.3 大模型應用於軟體工程的限制 187
12.2 程式設計師如何擁抱大模型 189
12.2.1 大模型對程式設計師工作方式的衝擊 189
12.2.2 與大模型共生 190
12.2.3 與AI分工協作 191
12.2.4 提升關鍵的大模型能力 193
12.2.5 在組織中推廣AI文化 195
第13章 大模型輔助TDD開發 198
13.1 TDD的「雙輪驅動」思路 198
13.2 Prompt技巧與範本 200
13.3 雙輪驅動工具AutoTDD 201
13.3.1 AutoTDD業務流程 201
13.3.2 AutoTDD知識庫 203
13.3.3 AutoTDD的技術架構 204
13.3.4 AutoTDD工具安裝與使用 204
附錄 縮寫與術語 209