深度解读测试驱动开发(TDD)

作者/分享人:Seaborn Lee
一名会在 B 站直播写代码,会玩杂耍球、弹 Ukulele、极限健身、跑步、写段子、画画、翻译、写作、演讲、培训的程序员。喜欢用编程实现自己的想法,在 Android 市场上赚过钱,有多次创业经历。擅长学习,习惯养成,时间管理。身体力行地影响他人做出积极的改变!目前就职于 ThoughtWorks,致力于传播快乐高效的编程理念。业余创立软件匠艺社区 CodingStyle.cn,组织超过30场技术活动。个人公众号:SeabornLee。

你是否还在用如下这种方式编写代码?

  • 需求分析,想不清楚细节,管他呢,先开始写。
  • 发现需求细节不明确,去跟业务人员确认。
  • 确认好几次终于写完所有逻辑。
  • 运行起来测试一下,靠,果然不工作,调试。
  • 调试好久终于工作了。
  • 转测试,QA 测出 BUG,打补丁。
  • 终于,代码可以工作了。
  • 一看代码烂的像坨屎,不敢动,动了还得手工测试,还得让 QA 测试,还得加班。

我要介绍的 TDD 编码方式是这样的:

  • 先分解任务,分离关注点。
  • 列 Example,用实例化需求,澄清需求细节。
  • 写测试,只关注需求,程序的输入输出,不关心中间过程。
  • 写实现,不考虑别的需求,用最简单的方式满足当前这个小需求即可。
  • 重构,用手法消除代码里的坏味道。
  • 写完,手动测试一下,基本没什么问题,有问题补个用例,修复。
  • 转测试,小问题,补用例,修复。
  • 代码整洁且用例齐全,信心满满地提交。

本场Chat内容包括:

  1. TDD 的几层含义;
  2. TDD 的本质;
  3. TDD 的好处;
  4. 为什么大部分人 TDD 会失败;
  5. TDD 的正确练习路径。
已有137人预订
预订达标
文章出炉
交流日期
     
02月27日
03月13日
03月16日 20:30
你可能还喜欢
职场高效率:用印象笔记来提升你的工作效率
白宦成
三流程序员如何提高加速度,两年做到待遇 20K+
Tamic
聊聊 Spring Boot 2.x 那些事儿
泥瓦匠 @ bysocket.com
转行 AI,如何给自己定位?
章华燕
三个月大数据研发学习计划
Fickr孫啟誠
从《目标》、《凤凰项目》到《持续交付》:DevOps 的过去、现在及未来
常新居士
如何结合使用敏捷利器 JIRA 和 Confluence
刘华
基于 Docker、Kubernetes 实现高效可靠的规模化 CI/CD 流水线的搭建
邸富杰
从架构演进的角度聊聊 Spring Cloud 都做了些什么?
纯洁的微笑
TensorFlow 分布式原理与应用实践
刘光聪
Vue 2.0 真实点餐项目实战
Ziksang
前端工程师“应试”指南
芋头
如何学好 Linux、C++,并搞定 BAT 面试
天千
新一代科学教育标准到底是什么?为什么开展 STEM 教育?
嘉糖
语音云的大数据实践之路
韦邦灯
微信扫描登录