文章目录
资源简介
提起 TDD,肯定会掀起一番互为对立的讨论。会 TDD 的人连声称赞叫好,认为 TDD 显著提高了编码效率,让自己工作起来更有安全感。而没实践过 TDD 的人,还在困惑这是不是天方夜谭,因为没法想象为什么需要这样的方式来开发:
- 为什么要开发人员来写测试?难道开发人员写了测试,测试人员就不用再测了嘛?
- 又要写测试,又要写生产代码,效率是不是太低了?
- 不写测试我也能写出可以工作的软件,那么写测试能给我带来什么好处呢?
然而 TDD 并不是关于“怎么写测试”“怎么消除测试人员”“怎么让开发人员多干一份活”的编码技巧。它是以测试为里程碑点的工程化研发过程。同时将软件流程中无时无处不在的低效测试手段,用可重复的、高效的自动化测试来代替,从而获得更高的工程效能。
这才是隐藏在 TDD 工程实践背后的核心逻辑。
TDD 作为敏捷开发的重要基石,就像脚手架,为代码提供保护网。它的核心在于严格规定开发节奏,一次把需求理清,一次做对、消除返工,不用调试就能获得反馈。它最直接的收益,就是帮助你提高开发功能的效能。而最后节省出的时间,也将远远大于编写测试代码而产生的工作时间总和。
不过,学习 TDD 肯定需要花费一番力气,很多信服于 TDD 理念而自发实践的人也会被各种问题所困扰。而最佳的学习路径,就是跟一个真正会 TDD 的程序员一起写代码。
为此,我们特别邀请了 Thoughtworks 中国区 CTO 徐昊老师,来帮你搞定 TDD 的落地难题。他作为国内第一批 TDD 的践行者,是国内目前为数不多的熟练掌握 TDD 技能的大师级程序员。
他会先演示一个简单的例子,让你眼见为实,对 TDD 形成一个感性、直观的认识。同时,他也会对 TDD 抽丝剥茧,消除你对单元测试的疑惑,帮你认识到 TDD 中测试的实质与全貌。接下来的重点是,他会带着你在复杂场景下进行实战项目的练习,帮你吃透 TDD 实战中的细节。
需要特别说明的是,为了帮助你最大化学习效果,我们的内容交付形式会是这样的:以视频展示为主,以图文讲解为辅。其中每节课 20+ 分钟的视频,老师会手把手带你编写测试、驱动开发。
在课程更新的过程中,我们还会开启“线上带练”的学习项目,由徐昊老师亲自带队,手把手教你怎么在实战中练习 TDD。
资源目录
——/计算机教程/02极客时间/001-极客时间合集(更新至2022年4月22日)/249-100109401-专栏课-徐昊 · TDD 项目实战 70 讲(7讲)/ ├──01-开篇词 | ├──开篇词丨为什么TDD是当前最具工程效能的研发流程?.html 11.36M | ├──开篇词丨为什么TDD是当前最具工程效能的研发流程?.m4a 8.73M | ├──开篇词丨为什么TDD是当前最具工程效能的研发流程?.pdf 9.72M | ├──课前必读丨20年前的“老古董”技术,为什么还值得开个课?.html 2.55M | ├──课前必读丨20年前的“老古董”技术,为什么还值得开个课?.m4a 7.15M | └──课前必读丨20年前的“老古董”技术,为什么还值得开个课?.pdf 3.46M └──02-实战项目一:命令行参数解析 | ├──01丨TDD演示(1):任务分解法与整体工作流程.html 12.45M | ├──01丨TDD演示(1):任务分解法与整体工作流程.m4a 4.60M | ├──01丨TDD演示(1):任务分解法与整体工作流程.pdf 11.66M | ├──02丨TDD演示(2):识别坏味道与代码重构.html 6.31M | ├──02丨TDD演示(2):识别坏味道与代码重构.m4a 3.80M | ├──02丨TDD演示(2):识别坏味道与代码重构.pdf 5.56M | ├──03丨TDD演示(3):按测试策略重组测试.html 10.09M | ├──03丨TDD演示(3):按测试策略重组测试.m4a 4.74M | ├──03丨TDD演示(3):按测试策略重组测试.mp4 18.29M | ├──03丨TDD演示(3):按测试策略重组测试.pdf 6.64M | ├──04丨TDD演示(4):实现对于列表参数的支持(2).mp4 21.45M | ├──04丨TDD演示(4):实现对于列表参数的支持.html 8.94M | ├──04丨TDD演示(4):实现对于列表参数的支持.m4a 5.21M | ├──04丨TDD演示(4):实现对于列表参数的支持.mp4 14.32M | ├──04丨TDD演示(4):实现对于列表参数的支持.pdf 8.06M | ├──05丨TDD中的测试(1):状态验证为什么是主要的使用方式?(2).mp4 11.37M | ├──05丨TDD中的测试(1):状态验证为什么是主要的使用方式?.html 9.75M | ├──05丨TDD中的测试(1):状态验证为什么是主要的使用方式?.m4a 5.66M | ├──05丨TDD中的测试(1):状态验证为什么是主要的使用方式?.mp4 22.15M | ├──05丨TDD中的测试(1):状态验证为什么是主要的使用方式?.pdf 5.66M | ├──06丨TDD中的测试(2):行为验证为什么应该尽量避免使用?(2).mp4 7.81M | ├──06丨TDD中的测试(2):行为验证为什么应该尽量避免使用?(3).mp4 7.93M | ├──06丨TDD中的测试(2):行为验证为什么应该尽量避免使用?.html 1.67M | ├──06丨TDD中的测试(2):行为验证为什么应该尽量避免使用?.m4a 6.96M | ├──06丨TDD中的测试(2):行为验证为什么应该尽量避免使用?.mp4 15.28M | ├──06丨TDD中的测试(2):行为验证为什么应该尽量避免使用?.pdf 9.41M | ├──07丨TDD中的测试(3):集成测试还是单元测试?.html 2.58M | ├──07丨TDD中的测试(3):集成测试还是单元测试?.m4a 6.08M | ├──07丨TDD中的测试(3):集成测试还是单元测试?.mp4 39.94M | └──07丨TDD中的测试(3):集成测试还是单元测试?.pdf 3.80M
学习了
学习
学习下
最近正好在尝试TDD的开发方式
感谢分享
TDD测试驱动开发
过来学习一下
头次知道有这个术语
感谢分享
了解什么是TDD
感谢分享
准备用新技术了
感谢分享
学起来
感谢分享
非常感谢!
感谢分享
学习一下TDD 看看与DDD和BDD之前的区别是什么
牛逼的TDD,干干干
感谢分享,TDD
学习一下TDD 看看与DDD和BDD之前的区别是什么
感谢分享,可以学习一下
感谢分享
谢谢分享!
谢谢分享!
好好学习
管理员随机测试
谢谢分享
谢谢分享
学习 tdd
谢谢分享
感谢分享
特的的
加油 打工人
感谢分享
第一次听说这个新技术,希望可以提高自己的开发效率。加油打工人
了解一下
感谢分享
感谢分享
收下了,辛苦了
学习
感谢分享
学习下TDD
加油啊老铁
感谢分享
感谢分享
了解什么是TDD