什么是测试驱动开发(TDD)


Posted in 面试题 onFebruary 15, 2012
测试驱动开发(Test-Driven Development)起源于极限编程(XP)开发, 它提倡测试先行,就是先写测试,再做开发。测试先行实践重视单元测试(Unit Testing),强调程序员除了编写代码之外,还应该编写单元测试代码。在开发的顺序上,它改变以往先编写代码,再编写测试的过程,而采用先编写测 试,再编写代码来满足测试的方法。这种方法在实际中能够起到非常好的效果,使得测试工作不仅仅是单纯的测试,而成为设计的一部分。
测试驱动开发是敏捷开发的最重要的部分。该方法主要是先根据客户的需求编写测试程序,然后再编码使其通过测试。在敏捷开发实施中,开发人员主要从两个方面去理解测试驱动开发。
在测试的辅助下,快速实现客户需求的功能。通过编写测试用例,对客户需求的功能进行分解,并进行系统设计。我们发现从使用角度对代码的设计通常更符合后期开发的需求。可测试的要求,对代码的内聚性的提高和复用都非常有益。
在测试的保护下,不断重构代码,提高代码的重用性,从而提高软件产品的质量。

Tags in this post...

面试题 相关文章推荐
JMS中Topic和Queue有什么区别
May 15 面试题
怎样声明接口
Sep 19 面试题
网络、C以及其他硬件方面的面试题
Aug 23 面试题
Internal修饰符有什么含义
Jul 10 面试题
PPP协议组成及简述协议协商的基本过程
May 28 面试题
网络安全方面的面试题
Nov 04 面试题
new修饰符是起什么作用
Jun 28 面试题
新媒传信软件测试面试题
Feb 24 面试题
如何用JQuery进行表单验证
May 29 面试题
Python是如何进行类型转换的
Jun 09 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
什么是抽象
Dec 13 面试题
一份软件工程师的面试试题
Feb 01 #面试题
瀑布模型都有哪些优缺点
Jun 23 #面试题
常见的软件开发流程有哪些
Nov 14 #面试题
MIS软件工程师的面试题
Apr 22 #面试题
软件测试工程师面试问题精选
Oct 28 #面试题
配置管理计划的主要内容有哪些
Jun 20 #面试题
中间件分为哪几类
Sep 18 #面试题
You might like
用libTemplate实现静态网页的生成
2006/10/09 PHP
PHP Pear 安装及使用
2009/03/19 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
python备份文件的脚本
2008/08/11 Python
Python二分法搜索算法实例分析
2015/05/11 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
python调试神器PySnooper的使用
2019/07/03 Python
Django用户认证系统 User对象解析
2019/08/02 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
Python中and和or如何使用
2020/05/28 Python
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
财务会计专业求职信范文
2013/12/31 职场文书
社区端午节活动方案
2014/01/28 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
2014年环保工作总结
2014/11/26 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
68句权威创业名言
2019/08/26 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS
Tomcat弱口令复现及利用
2022/05/06 Servers