你将获得
- 洞见测试驱动开发的实质与全貌
- 40+ 小时视频,演绎架构设计新思路
- 3 个开发框架,搞定 TDD 的落地难题
- 靠谱程序员必备的任务分解基本功
课程介绍
提起 TDD,肯定会掀起一番互为对立的讨论。会 TDD 的人连声称赞叫好,认为 TDD 显著提高了编码效率,让自己工作起来更有安全感。而没实践过 TDD 的人,还在困惑这是不是天方夜谭,因为没法想象为什么需要这样的方式来开发:
- 为什么要开发人员来写测试?难道开发人员写了测试,测试人员就不用再测了嘛?
- 又要写测试,又要写生产代码,效率是不是太低了?
- 不写测试我也能写出可以工作的软件,那么写测试能给我带来什么好处呢?
然而 TDD 并不是关于“怎么写测试”“怎么消除测试人员”“怎么让开发人员多干一份活”的编码技巧。它是以测试为里程碑点的工程化研发过程。同时将软件流程中无时无处不在的低效测试手段,用可重复的、高效的自动化测试来代替,从而获得更高的工程效能。
这才是隐藏在 TDD 工程实践背后的核心逻辑。
TDD 作为敏捷开发的重要基石,就像脚手架,为代码提供保护网。它的核心在于严格规定开发节奏,一次把需求理清,一次做对、消除返工,不用调试就能获得反馈。它最直接的收益,就是帮助你提高开发功能的效能。而最后节省出的时间,也将远远大于编写测试代码而产生的工作时间总和。
不过,学习 TDD 肯定需要花费一番力气,很多信服于 TDD 理念而自发实践的人也会被各种问题所困扰。而最佳的学习路径,就是跟一个真正会 TDD 的程序员一起写代码。
为此,我们特别邀请了 Thoughtworks 中国区 CTO 徐昊老师,来帮你搞定 TDD 的落地难题。他作为国内第一批 TDD 的践行者,是国内目前为数不多的熟练掌握 TDD 技能的大师级程序员。
他会先演示一个简单的例子,让你眼见为实,对 TDD 形成一个感性、直观的认识。同时,他也会对 TDD 抽丝剥茧,消除你对单元测试的疑惑,帮你认识到 TDD 中测试的实质与全貌。接下来的重点是,他会带着你在复杂场景下进行实战项目的练习,帮你吃透 TDD 实战中的细节。
需要特别说明的是,为了帮助你最大化学习效果,我们的内容交付形式会是这样的:以视频展示为主,以图文讲解为辅。其中每节课 20+ 分钟的视频,老师会手把手带你编写测试、驱动开发。
在课程更新的过程中,我们还会开启“线上带练”的学习项目,由徐昊老师亲自带队,手把手教你怎么在实战中练习 TDD。
课程设计
课程主体可分为两个部分。
第一部分:演示开发全过程,见识真正的 TDD
首先,我们将从一个编码练习级别的小例子入手,展示使用 TDD 的方式来实现一个简单功能的开发全过程。让你眼见为实,对 TDD 形成一个感性、直观的认识。
并以此为引子,串联起 TDD 的所有相关知识点,为之后的实战练习打下基础。同时,你也会明确知道 TDD 作为工程方法的核心优势在哪里。如果你需要说服周围的同事、领导开始采用 TDD 方法,这将给你提供足够的弹药。
第二部分:实战细节全剖析,用 TDD 从头实现
然后,我们将进入实战项目环节。老师将以 3 个技术框架为例(IoC 容器、RESTful 框架、SQL mapper 框架),展示如何使用 TDD 的方式从头来实现它们,实战的细节将一览无遗。
TDD 有点像物理,定理写出来很简单,但需要在不同的场景下练习,才能应用得得心应手。所以,你会在这个部分看到 3 个实战项目,将会有 40+ 小时的视频演示。由徐昊老师在不同的上下文中带着你反复练习,帮助你搞定 TDD 的落地难题。
课程目录
开篇词|为什么TDD是当前最具工程效能的研发流程?
课前必读|20年前的“老古董”技术,为什么还值得
开个课?
大师线上带练,40+小时实操视频,持续半年更新
实战项目一|命令行参数解析
眼见为实
01TDD演示(1):任务分解法与整体工作流程
02TDD演示(2):识别坏味道与代码重构
03TDD演示(3):按测试策略重组测试
04TDD演示(4):实现对于列表参数的支持
测试驱动开发详解
05TDD中的测试(1):状态验证为什么是主要的使用方式?
06TDD中的测试(2):行为验证为什么应该尽量避免使用?
07TDD中的测试(3):集成测试还是单元测试?
08TDD中的驱动(1):驱动的极限是什么?
09TDD中的驱动(2):重构发挥了什么作用?
10TDD中的驱动(3):何为经典学派?何为伦敦学派?
11作为工程化方法的TDD:更低的成本与更高的效能
实战项目二|RESTful开发框架:依赖注入容器
15+讲,预计4月更新
实战项目三|RESTful开发框架:Http MVC
20+讲,预计6月更新
实战项目四|数据访问框架:SQLmapper
20+讲,预计8月更新
讲师介绍
徐昊(字八叉,号疏斋),Thoughtworks 全球技术策略顾问、中国区首席技术官(CTO)、技术雷达编撰人。谈话节目《八叉说》作者,《如何落地业务建模》课程讲师。