暂无商品咨询信息 [发表商品咨询]
(1)中兴资深专家联合执笔,凝结20+年研发实战经验,内容扎实有深度。
(2)理论与实战结合,系统讲解TDD从理念到方法再到工程化的全过程。
(3)实战案例驱动,手把手指导“DD送货”项目,全面掌握TDD核心实践。
(4)推动工程化推广,针对企业级场景,提供成熟度模型与最佳实践。
(5)前瞻AI融合,引入AutoTDD、大模型 Prompt 应用,探索智能化研发路径。
本书由中兴通讯资深专家执笔,融合多年的一线项目经验,全面讲解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?目 录<br />序1<br />序2<br />前言<br />认知篇<br />第1章 TDD是什么 2<br />1.1 TDD的前世今生 2<br />1.1.1 TDD的历史及现状 2<br />1.1.2 TDD的作用 3<br />1.2 TDD的原则和要点 5<br />1.2.1 TDD三原则 6<br />1.2.2 “红-绿-重构”三部曲 6<br />1.3 TDD的本质 7<br />1.3.1 基于第一性原理探讨TDD本质 7<br />1.3.2 TDD的本质是什么 8<br />第2章 TDD的价值 10<br />2.1 TDD与研发效能的关系 10<br />2.2 TDD提升软件工程能力 11<br />2.2.1 TDD让编程更专业 11<br />2.2.2 TDD改善代码质量 11<br />2.2.3 TDD有助于实现意图导向编程 12<br />2.2.4 TDD是实现测试左移的重要手段 13<br />2.2.5 TDD能降低测试成本 16<br />2.2.6 TDD能降低知识获取成本 19<br />2.3 TDD提升人员能力 20<br />2.3.1 TDD提升程序员的业务和测试能力 20<br />2.3.2 TDD促进团队协作 21<br />2.4 TDD提升研发效能是持续性的 23<br />2.5 TDD有助于打造工程师文化 24<br />实践篇<br />第3章 实施TDD的正确姿势 28<br />3.1 TDD的动作要领 28<br />3.1.1 TDD的操作步骤 28<br />3.1.2 选取用例的基本原则 29<br />3.1.3 推进TDD的4条建议 30<br />3.1.4 关注点分离 30<br />3.2 TDD在研发流程中的定位 30<br />3.2.1 TDD在研发流程中的位置 30<br />3.2.2 TDD的精简流程 31<br />第4章 TDD的Todolist 32<br />4.1 如何理解Todolist 32<br />4.2 如何输出Todolist 34<br />4.2.1 场景分析法 34<br />4.2.2 用例设计方法 36<br />4.3 如何保证Todolist的质量 40<br />第5章 TDD测试用例 41<br />5.1 TDD实践中的黑盒/白盒测试 41<br />5.1.1 多数情况下采用黑盒测试 42<br />5.1.2 特定情况下采用白盒测试 43<br />5.2 TDD实践与测试分层的关系 45<br />5.2.1 微服务架构中的4个测试层级 45<br />5.2.2 在TDD实践中应用测试分层 47<br />5.3 测试用例的质量 48<br />5.3.1 善用用例设计方法,提高测试开发效率 48<br />5.3.2 使用Given-When-Then,提升测试用例可读性 48<br />5.3.3 遵循AIR原则,确保测试用例质量 52<br />5.3.4 对测试用例分类分级,实现降本与提效 54<br />5.4 测试数据的管理 57<br />5.4.1 定义清晰的测试数据需求 57<br />5.4.2 建立测试数据仓库 57<br />5.4.3 使用数据生成工具 58<br />5.4.4 使用参数化测试方法 64<br />第6章 测试替身及ZFake框架 70<br />6.1 测试替身 70<br />6.1.1 Dummy 71<br />6.1.2 Stub 72<br />6.1.3 Mock 72<br />6.1.4 Spy 73<br />6.1.5 Fake 74<br />6.1.6 Fake与Mock的比较 77<br />6.1.7 如何合理地使用测试替身 78<br />6.2 自研ZFake仿真框架的价值 78<br />6.3 ZFake-J框架的实现原理 79<br />6.4 ZFake-J框架的使用方法 81<br />6.4.1 制品库 81<br />6.4.2 如何在Spring Boot工程中使用ZFake-J 81<br />第7章 TDD优化软件设计 94<br />7.1 TDD如何驱动设计 94<br />7.1.1 红阶段 94<br />7.1.2 绿阶段 95<br />7.1.3 重构阶段 95<br />7.1.4 TDD的优势 95<br />7.2 TDD与重构 96<br />7.2.1 TDD与重构的关系 96<br />7.2.2 常见的5种消除重复的方法 97<br />第8章 TDD的实践路径与评估方法 104<br />8.1 保证测试先行 104<br />8.1.1 保证测试先行的实践流程 104<br />8.1.2 保证测试先行的评估方法 105<br />8.2 “小步快走”地实现TDD 105<br />8.2.1 “小步快走”模式的核心价值 105<br />8.2.2 “小步快走”模式的实践流程 106<br />8.3 开发异步场景下的测试用例 107<br />8.4 TDD实践的学派之争 109<br />8.4.1 芝加哥学派 109<br />8.4.2 伦敦学派 110<br />8.4.3 TDD实践中如何应用两种学派的思路 111<br />8.5 改善TDD实践的局限性 111<br />第9章 一个完整的TDD实践案例 114<br />9.1 需求分析 114<br />9.1.1 需求及背景介绍 114<br />9.1.2 需求实例化 115<br />9.2 方案设计 119<br />9.2.1 分层架构 120<br />9.2.2 数据库表设计 121<br />9.2.3 表的详情设计 121<br />9.2.4 REST API设计 124<br />9.3 输出Todolist 131<br />9.4 TDD开发实现 134<br />9.4.1 使用ZFake实现货单详情查询 134<br />9.4.2 使用内存数据库实现对外部数据库的Fake 136<br />9.4.3 实现对外部REST API的Fake 138<br />9.4.4 测试数据构造 142<br />9.4.5 关键字封装 146<br />工程化篇<br />第10章 推动TDD规模化落地 152<br />10.1 TDD规模化落地的价值 152<br />10.1.1 显著提升软件产品的整体质量 152<br />10.1.2 打造紧密“抱团”的社区生态 153<br />10.1.3 提升软件开发链路的整体协同效率 153<br />10.2 TDD规模化落地的难点 154<br />10.2.1 个人层面的实践难点 154<br />10.2.2 组织层面的推广难点 156<br />10.3 如何应对规模化落地的难点 156<br />第11章 TDD规模化落地的方案 159<br />11.1 TDD落地范式 159<br />11.1.1 组织层面的TDD推进策略 159<br />11.1.2 实践层面的TDD落地举措 160<br />11.2 TDD成熟度评估 164<br />11.2.1 为何要进行TDD成熟度评估 164<br />11.2.2 TDD能力成熟度模型 165<br />11.3 TDD实践效果评估 170<br />11.3.1 TDD实践评估模型 170<br />11.3.2 对于质量的评估 171<br />11.3.3 对于效率的评估 173<br />11.4 TDD推广的最佳实践 176<br />11.4.1 以点带面 176<br />11.4.2 标杆先行 177<br />11.4.3 刻意练习 178<br />11.4.4 结对编程 180<br />拓展篇<br />第12章 大模型对软件开发的影响 184<br />12.1 大模型将改变软件工程范式 184<br />12.1.1 软件工程范式的发展 184<br />12.1.2 AI时代的软件工程范式 185<br />12.1.3 大模型应用于软件工程的限制 187<br />12.2 程序员如何拥抱大模型 189<br />12.2.1 大模型对程序员工作方式的冲击 189<br />12.2.2 与大模型共生 190<br />12.2.3 与AI分工协作 191<br />12.2.4 提升关键的大模型能力 193<br />12.2.5 在组织中推广AI文化 195<br />第13章 大模型辅助TDD开发 198<br />13.1 TDD的“双轮驱动”思路 198<br />13.2 Prompt技巧与模板 200<br />13.3 双轮驱动工具AutoTDD 201<br />13.3.1 AutoTDD业务流程 201<br />13.3.2 AutoTDD知识库 203<br />13.3.3 AutoTDD的技术架构 204<br />13.3.4 AutoTDD工具安装与使用 204<br />附录 缩略语与术语 209
基本信息 | |
---|---|
出版社 | 机械工业出版社 |
ISBN | 9787111784234 |
条码 | 9787111784234 |
编者 | 袁金松 刘煌 刘玉龙 著 |
译者 | -- |
出版年月 | 2025-07-01 00:00:00.0 |
开本 | 16开 |
装帧 | 平装 |
页数 | 212 |
字数 | 311 |
版次 | 1 |
印次 | 1 |
纸张 | 一般胶版纸 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]