如何指导TDD

技术特质

  • 开放
  • 坦诚
  • 勇气
  • 批评和自我批评
  • 快乐
  • 沟通
  • 团队协作

软件开发的现实

  • 随着时间的改变,软件也会改变。
  • 每个人都愿意去维护整齐优美的代码。 但是:
    1. 如何应付软件随时间的改变而改变?
    2. 如何编写健壮优美的代码?

没有进行单元测试的软件开发过程

broadcasting

测试驱动开发过程

broadcasting

测试哲学

不存在不能进行自动测试的程序。[Kent Beck]

测试驱动开发技术

  • 单元测试技术
    • 对代码片断外部行为的验证
    • 单元测试应该是交付代码的必不可少的一部分。
  • 代码重构
    • 不改变代码的外部行为而改变其内部结构使其更好理解,更容易扩展的过程
  • 单元测试是重构成功的关键。
  • 重构准则:改变一小步,测试,然后再改变一小步,测试……

编写单元测试的十大理由

  • 测试能减少增加新功能时的bug
  • 测试是最好的程序说明文档
  • 测试能降低改变代码的代价
  • 测试能改善代码的设计
  • 测试是重构成为可能
  • 测试强制你去思考软件实现的细节
  • 测试能加快开发进程
  • 测试能减少编写代码的恐惧,带来自信
  • 测试使你的每一片代码都建立的在扎实的基础之上。
  • 可用于回归测试,提高代码的可维护性, 保证代码长期质量。

Demo-猜数字

关键点分析: 技术和工具 随机生成不重复的4位数字 根据游戏者输入的数字,验证并返回结果

大话西游之单元测试[转载]

“我知道这个项目bug很多,无法按时完成,即使老板把我炒了也是应该的。曾经有一个做单元测试的机会放在我面前,我没有珍惜,等到后来项目雪崩了才后悔。如果上天能给我再来一次机会的话,我会对老板说:我要做单元测试!如果一定要在单元测试上加个日期,我希望是一直。”

参考文献

  1. 测试驱动开发和代码重构


blog comments powered by Disqus
—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —