测试驱动开发 (TDD)

164 阅读2分钟

测试驱动开发 (TDD)

接触到了TDD这种开发方法, 写简单一篇笔记学习一下.

平常自己开发的过程中喜欢一股脑把思路全写上, 这样后期出现bug的几率很高, 而且代码复杂后不知道从何. 可以尝试使用这种方法

1 TDD是什么

1.1 TDD来源

​ TDD的全称是Test-Driven Development. 百度百科上的翻译是测试驱动开发, 私认为中文命名挑不出毛病, 但是就不如英文更容易懂. 不理解. 这其实大概意思被测试思维所驱动而进行的程序开发. 很多编程书看英文版和中文译本还是有差别.

​ TDD是在1999年在"Extreme Programming"这本书中最先提出的. 其中最中心思想就是在编写实际代码前先编写测试代码. 这样可以更简单而且更快编写代码. 具体细节可以读Kent Beck大佬的 "Test Driven Development:By Example", 里面有对TDD更详细的解读

1.2 TDD核心理念

​ 1) 先编写测试代码

​ 2) 在一个独立的循环中开发

​ 3) 编写代码时尽量简洁明了

​ 4) 无论在哪里当发现有机会的时候对代码进行重操作/提升

​ 5) 除非(程序)通过所有的测试, 否则不能发放

​ 6) 在当前构造需求下不放任何有其他功能/目的的代码(就算是将来有需求的也不可以)

1.3 TDD优点

​ 1) 降低开发者负担

​ 把一个大问题细分为很多小问题解决. 化繁为简

​ 2) 保护当前项目

​ 阻止未经过测试的代码改变当前项目, 造成后果

​ 3) 提前明了需求

​ 先动脑再动手! 如同写作先写框架, 开发的时候也会更清晰明了

​ 4) 有错误早发现

​ 可以把错误扼杀在摇篮里, 否则滚雪球越滚越大