2.TDD不光是发现BUG的单体测试手段,他是事先防止BUG的方法。把代码的行为通过测试代码写出来,是保护代码的最好的方式。
3.使用TDD的话,虽然不能保证代码内部品质有显著的提高,但对于设计的看法,模块的边界部分的设计等会有很大的变化。
4.TDD其实并不是一定要测试先行,但是如果之后再写测试用例的话,TDD的使用效果将会大打折扣。尤其是关于设计相连的代码设计,将荡然无存。
5.即使是做嵌入式C语言开发,也推荐使用C++的框架。
6.TDD没有必要用在所有的代码中,只要用在有必要的算法,函数,动态链接库中就好了。
7.TDD虽然说是软件的设计,单不能替代所有的设计,TDD毕竟只要考虑到他是一种设计的辅助手段就可以了。
8.如果TDD和重构一起做的话 使用效果将会大大提升。
9.如果将TDD导入到一个新项目中,那么新项目的风险会大大增加。
10.在使用TDD之前,一定要获得团队全员的支持,如果团队中有人抵触,那么使用的效果将会大打折扣。
11.测试先行,当测试代码写不下去的时候,可以尝试使用结对编程。
12.如果持续使用TDD,下工程BUG流出将大大减少,也将大大缩减代码调试的时间。
13.如果持续使用TDD进行开发,将大大提升开发的乐趣。也可以提高自己的设计能力。
14.传统的瀑布开发是基础文档驱动的开发,在TDD的测试代码中,其实就涵盖了客户的一部分需求,并通过测试代码表现出来。
15.TDD是一种很好的设计方法,但是不能将单体测试都依赖在TDD上。
16.在使用TDD中,有各种各样的实战技巧,比如测试桩,监视函数,链接的时候替换,Mock对象。在构筑TDD环境之前,这些都是需要提前考虑到的。