驱动测试开发的几条TIPs

拿到《测试驱动开发》这本书10天左右, 我便"粗鲁"的把它看了一遍, 说是粗鲁, 是因为我这是我一次正式的阅读关于极限编程的书籍, 同时又看的比较快, 对于诸多内容有些囫囵吞枣的嫌疑. 尽管如此, 我还是不得不感叹 Kent Beck(作者)的伟大思想, 给我感觉测试驱动开发更是一门方法学, 而非简单的软件工程解决方案.
激动与感慨之余, 顺便从书中摘抄了一些比较重要的TIps.

1.从测试开始, 而不是从建立对象开始.

2.测试开始之前, 写一个包含所有你认为必须要编写的测试的清单. 最后, 列出所有你认为这一轮编程结束后为了获得整洁代码而必须要完成的重构.

3.开始时的目的是为了让测试能够运行, 而非获得完美的解决方案.

4.测试驱动培养的是你在软件开发中一小步一小步的进行开发的能力, 而非教条的一小步一小步的进行开发.

5.首先解决目标的可用性, 之后再解决代码整洁性的问题.

6.尽量减少测试程序和代码之间的耦合度.

7.如果引入了新的测试, 你需要把新的测试记在清单上.

8.除非有更好的动机,否则不要引入过多的设计.

9.每一个周期,考虑重构一次代码,去掉重复部分.clear一下代码.

10.各种测试之间应该没有任何的相互影响.

11.相互独立的测试意味着所有的测试都是不依赖于顺序的.

12.试着从一开始就编写断言.

13.使用让人容易理解的测试数据.

14.测试从不做任何工作开始.

15.一次只解决一个问题.

16.注意休息.

相关资源:  
1 PHP测试驱动开发介绍
2 豆瓣讨论