TDD(测试驱动开发)
什么是 TDD
TDD 有广义和狭义之分,常说的是狭义的 TDD,也就是 UTDD(Unit Test Driven Development)。广义的 TDD 是 ATDD(Acceptance Test Driven Development),包括 BDD(Behavior Driven Development)和 Consumer-Driven Contracts Development 等。
本文所说的 TDD 指狭义上的 TDD,也就是「单元测试驱动开发」。
TDD 是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD 是 XP(Extreme Programming)的核心实践。它的主要推动者是 Kent Beck。
TDD 有三层含义:
Test-Driven Development,测试驱动开发。
Task-Driven Development,任务驱动开发,要对问题进行分析并进行任务分解。
Test-Driven Design,测试保护下的设计改善。TDD 并不能直接提高设计能力,它只是给你更多机会和保障去改善设计。
TDD 的好处
1.降低开发者负担
通过明确的流程,让我们一次只关注一个点,思维负担更小。
2.保护网
TDD 的好处是覆盖完全的单元测试,对产品代码提供了一个保护网,让我们可以轻松地迎接需求变化或改善代码的设计。
所以如果你的项目需求稳定,一次性做完,后续没有任何改动的话,能享受到 TDD 的好处就比较少了。
3.提前澄清需求
先写测试可以帮助我们去思考需求,并提前澄清需求细节,而不是代码写到一半才发现不明确的需求。
4.快速反馈
有很多人说 TDD 时,我的代码量增加了,所以开发效率降低了。但是,如果没有单元测试,你就要手工测试,你要花很多时间去准备数据,启动应用,跳转界面等,反馈是很慢的。准确说,快速反馈是单元测试的好处。
参考:
https://www.jianshu.com/p/62f16cd4fef3
最新文章
- C语言中使用系统自带的快排函数
- HTML5 屏蔽触屏滚动
- arrayToJson将数组转化为json格式的js代码 ///////////////////////zzzzzzzzzzzzzzzz
- How threads differ from processes
- ASP.net的文件扩展名
- [转]Android开发最佳实践
- hdu 1715 大菲波数(高精度数)
- 计时器(Chronometer)的使用
- .NET MVC权限控制
- jQuery入门第二
- python文件名和文件路径操作
- Linux入门之常用命令(4)vi编辑器
- (转)log4j使用介绍
- 对闭包的理解(closure)
- C# Window Service安装、卸载、恢复选项操作
- axis调用Web服务报axis unexpected wrapper element{XXXX}XXX错误的解决
- 实验3 敏捷开发与XP实践实验报告
- 小程序微信支付java
- centos7安装Amber16 &;&; AmberTools
- spring mvc EL ModelAndView的 Model 值 在jsp中不显示