单元测试是开发软件产品过程中,与品质、设计相关最重要的基本工程实践,如果不会单元测试,很多重构无从下手。如果不会单元测试,无法驾驭测试驱动开发。

【极速开发】就是用来解决实务上大家总说“时间不够”的问题,因为时间不够,所以我没法子写单元测试,没法子重构,没法子 TDD,没法子 code review,没法子把事情作到最好。

我认同“时间不够”是个问题,然而却很少人去改善或解决这个问题。各位将会从此学到,如何建立自我刻意练习的模型,将所有工具的整合起来发挥最大综效,透过正确的开发方式与顺序,让你写代码时能行云流水,并且兼顾设计、品质与生产力。

许多公司往往为了 KPI 需要数字,所以将 code coverage 订了个指标来“**”开发团队,甚至要求团队“一定”要用 TDD 来开发所有程式。这一切都是不求甚解的为了追求数字的迷思,本篇文章将补上我对于“code coverage”与“看待 TDD 的正确角度”的见解。

测试驱动开发 TDD 不只是测试先行而已,Uncle Bob 提出了 The Three Laws of TDD 来说明,从红灯到绿灯的过程中,你该遵循的原则与规范。遵守这三条原则,能让你比较自然地进行 baby step,即时重构,聚焦目标。

本活动将以实务的例子,让大家针对真实需求进行实例化需求分析、学会如何为真实的 legacy code 进行单元测试与重构,最后透过 TDD 的练习与比较,来深刻体悟 TDD 如何帮助我们化繁为简、迭代式地进行产品增量的开发。