博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TDD测试驱动开发
阅读量:5329 次
发布时间:2019-06-14

本文共 858 字,大约阅读时间需要 2 分钟。

TDD测试驱动开发

一、概念

TDD故名思意就是用测试的方法驱动开发,简单说就是先写测试代码,再写开发代码。传统的方式是先写代码,再测试,它的开发方式与之正好相反。

 

 

TDD是极限编程的一个最重要的设计工具之一,使得我们编码的目的更加明确。而极限编程的另一个最重要的工具—重构。重构改变的是代码的内部结构,而不会改变外部接口功能。一整套完备的测试用例可以保证我们的程序更加健壮,功能更加完善。

二、作用

站在用户使用的角度去思考如何完成产品设计,强迫开发人员事先思考完善的测试用例并提供不考虑细节的外部接口功能,大幅减少debug时间,提高产品开发质量。

三、适用范围

1.适合时间不是很紧的软件开发。

2.适合于产品和平台的开发。

四、操作步骤

  1. 加入一个新的测试。
  2. 运行下新加的测试,看到它失败。
  3. 对开发代码做很小的修改,目的就是让新加的测试通过 (注意这里的目的)。
  4. 运行所有的测试testcase,然后看到所有测试都通过了。
  5. 移掉重复的代码,对代码进行重构 (既包括功能代码,也包括测试代码。特别注意红色的字串一般会有重复,还有一些代码可以抽出来变成公用方法。

五、优缺点

优点

  • 测试代码都是从客户需求出发的,不是重实现出发的。测试更关注于对外部的接口。
  • 软件的需求都被测试代码描叙得很清楚,可以减少很多不必要的文档(有些时候写文档时间比开发时间多多了, 需要一个专门写文档的,而且用的机会很少。
  • 每次都是很小的步骤,这样你就很集中注意解决一个问题。
  • 可以优化设计。如果有做过测试驱动开发的会发现,为了更好的,更容易的做单元测试。

缺点

  • 有时候开发代码可能只有几行,可是测试代码可能比真正的代码要多很多。而且花时间想怎么测试。
  • 可能不适合时间很紧的软件开发

六、合作方式

最好且最快的方式就是XP中的无序结对编程,一个有TDD经验的坐在"后面",指导另一个不大熟悉的人,两人一起来完成一个类或模块的功能。

 

 

转载于:https://www.cnblogs.com/zhongzihao/p/5793715.html

你可能感兴趣的文章
iATKOS v7硬盘安装教程(硬盘助手+变色龙安装版)
查看>>
Android连接数据库的问题
查看>>
A Story of One Country (Hard) CodeForces - 1181E2 (分治)
查看>>
Android使用本地广播
查看>>
python 删除大表数据
查看>>
【CC评网】2013.第44周 把握每天的第一个小时
查看>>
高效的使用STL
查看>>
用Perl编写Apache模块续 - SVNAuth
查看>>
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
查看>>
tips to understand kexec
查看>>
mybatis入门
查看>>
分层图最短路【bzoj2763】: [JLOI2011]飞行路线
查看>>
FastReport.Net使用:[18]形状(Shape)控件用法
查看>>
maven常用命令
查看>>
西安游记(钟楼 -- 回民街 -- 西安古城墙)
查看>>
Java异步NIO框架Netty实现高性能高并发
查看>>
2014百度之星第一题Energy Conversion
查看>>
【机器学习】机器学习界大牛林达华推荐的书籍
查看>>
-webkit-box 高度自动填满
查看>>
已知二叉树先序和中序,求后序。
查看>>