测试驱动开发研究

测试驱动开发研究

ID:44249757

大小:107.00 KB

页数:6页

时间:2019-10-20

测试驱动开发研究_第1页
测试驱动开发研究_第2页
测试驱动开发研究_第3页
测试驱动开发研究_第4页
测试驱动开发研究_第5页
资源描述:

《测试驱动开发研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、测试驱动开发研究【内容提要】结合目前软件开发过程存在缺陷,充分借鉴极限编程思想,积极倡导应用测试驱动开发方法。本文分别从测试驱动开发概念、测试驱动开发优点、测试驱动开发实现筹方而分别进行了阐述。最后结合实例描述了在软件开发过程中如何应用测试驱动方法和理念。【关键词】测试驱动开发测试用例重构测试引言软件工程是计算机学科中一个十分重要的研究领域。口20世纪60年代以來,人们在这一领域做了人量的工作,逐渐形成了系统的软件开发理论、技术和方法,它们在软件开发实践中发挥了重要作用。传统软件开发流程图:然而,随

2、着软件规模的不断扩人和软件复杂性的不断提髙,传统的软件开发方法已逐渐不能适应当代软件开发的需要,正是在这种背景下提出的一种全新的软件开发方法——测试驱动开发。一、测试驱动开发定义测试驱动开发(TestDrivenDevelopment,英文缩写TDD)是极限编程的一个重要组成部分,它的基本思想就是在开发功能代码Z前,先编写测试代码。它以不断地测试推动代码的开发,既简化了代码,又保证了软件质量。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足

3、这些测试用例。然后循环进行添加其他功能,直到完成全部功能的开发。代码整洁可用是测试驱动开发所追求的目标。这种方法在实际中能够起到非常好的效果,使得测试工作成为设计的一部分,很好地把开发和测试融合为一个整体。二、测试如何驱动开发过程在编写程序之前,每个人都会先进行设计的T作。可能有些人的设计比较正式,绘制模型,编写文档。有些人的设计只是存在于脑海之屮。且不论是设计是精细还是粗糙,你都为随后的编码活动制定了一个标准。这个标准的明确程度和你的设计的细致程度有关。但应该承认,这个标准是不够细化的。因为你的设

4、计不可能精细到代码级的程度。而标准不够明确的则会产生一些问题,例如,在编写代码的过程屮,伤〈还可能会发现原先的设计出现问题,从而中途改变代码的编写思路。这将会导致成果难以检验,进度难以度量。既然以设计为导向的标准不够明确,不够具体。那什么样的标准才是合适的呢?只能是代码。因为代码是最明确、最具体的。所以测试优先的本质其实是忖标竹理。编写测试代码其实是在制定一个小目标。这个小tJ标非常的明确,它规定了你需要设计的类、方法。以及方法需要满足的结果。这些日标制定完成Z后,你才开始编写代码来达成该1=1标。

5、测试的1=1标要比设计的目标粒度更小,但是成本上却更为经济。测试优先是软件开发中一种细粒度的目标管理方法,通过明确的目标,推动软件开发的进行。测试驱动开发改变了编码的过程,并且这种改变不仅是可能的,同时也是值得去做的。开发包括三方而的活动:编写测试用例,编码并进行测试,重构代码以消除重复代码使其更简单、更灵活、更容易理解。这个过程会频繁地重复,每次进行测试均是为了保证产品的止确性。设计、编码和测试三者Z间的鸿沟将不再存在,这样可以促进你对整个环境更好地理解。因此,设计和编码将随着项kl的成熟逐步得到

6、改善而非降低。测试驱动开发实现流程图:大多数设计都是从上

7、佃卜创建,并基于对观察的特性进行分类,促进对问题的理解和解决。换句话说,我们试图创建层次结构的对象,它模型化了问题域。相反,TDD则是从下而上,通过对一些小问题,依次实施一系列简单的解决方案,最后演进为设计。重构确保了设计集中于一个好的解决方案而不是逐渐脱离设计。如果你认为这是设计Z根本,你就对了。TDD将在这十年潜在地改变软件开发的方法,就像过去十年面向对彖技术所做到的那样。三、测试驱动开发优点1.项H进度可预测。而传统的方式很难知道什么时

8、候编码工作结束。2.大部分时间代码处在高质量状态,100%的时间里成果是可见的。3.全面止确的认识代码和利用代码,而传统的方式没有这个机会。4.为利用你成果的人提供Sample,无论它是要利用你的源代码,述是氏接重用你提供的组件。5.开发小组间降低了交流成本,提高了相互信赖程度。6.系统可以与详尽的测试集一起发布,从而对程序的将來版本的修改和扩展提供方便。7.rh于可以保证编写测试和编写代码的是和同的程序员,降低了理解代码所花费的成本。8.为减少文档和代码之间存在的细微的差别和山这种差别所引入的Bu

9、g作岀杰岀贡献。9.在预先设计和紧急设计之间建立一种平衡点,为你区分哪些设计该事先做、哪些设计该迭代时做提供了一个可靠的判断依据。10.发现比传统测试方式更多的Bugo11.使IDE的调试功能失去意义,避免了令人头痛的调试和节约了调试的时间。四、测试驱动开发步骤编写测试用例实现测试用例步骤:1.新增测试用例(TestCase)。2.编译代码,新增的测试用例很可能编译不通过。3.做尽可能少的改动,让测试用例编译通过。4.添加新的测试用例,发现最新的测试用例不能编译通过。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。