TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。
简之:先用UML等工具设计出所有的类(空的,先没有实现),然后开发所有场景的测试用例,开始都是报错的,一个方法方法的写,最后达到所有的测试用例都不报错了。
单元测试与编程实现的次序调整(数学证明法),TDD达到接近于100%实现单元逻辑
TDD原则:(属性:独立测试、可测试性)
测试列表、测试驱动、先写断言、及时重构、小步前进
一、开发者在编程之前必须构思
1)开发什么-深度解读规格
A.结构化阅读法:函数要求阅读+测试用例要求阅读,善于使用思维导图工具MindMapper(XMind)
B.实例化阅读法:穷举取值-思路全面完整-MECE
分类-场景-逻辑-约束
C.行为化阅读法-形容词转化动词阅读-可评估-可实现,等价类划分法-对比方式-刺激响应
二、如何开发HOW
关键字+语法体系+标准类库
编程与维护关系-缺陷债务-离职-大量IF-Else
程序文件的代码量与维护难度系数正比-如MemCached
可维护性解决-大程序文件-分解若干小的程序文件(边界程序文件+控制程序文件+数据程序文件)
三、TDD内涵与本质
测试脚本持续更新
测试脚本执行保证重构质量
测试脚本与实现代码至少1:1
TDD&UnitTest增加工作量
敏捷方法-从舒适区拉到不舒适区-强制执行
新毕业大学生-惯性-影响未来参考者
编程文化
参考:
https://baike.baidu.com/item/TDD/9064369?fr=aladdin
网友评论