- 15
- 0
- 约6.17千字
- 约 6页
- 2021-04-09 发布于广东
- 举报
测试驱动开发研究
【内容提要】结合目前软件开发过程存在缺陷,充分借鉴极限编程思想,积极倡导应 用测试驱动开发方法。本文分别从测试驱动开发概念、测试驱动开发优点、测试驱动开发实 现筹方而分别进行了阐述。最后结合实例描述了在软件开发过程中如何应用测试驱动方法和 理念。
【关键词】 测试驱动开发测试用例 重构 测试
引言
软件工程是计算机学科中一个十分重要的研究领域。口 20世纪60年代以來,人们在这一领 域做了人量的工作,逐渐形成了系统的软件开发理论、技术和方法,它们在软件开发实践中 发挥了重要作用。传统软件开发流程图:
然而,随着软件规模的不断扩人和软件复杂性的不断提髙,传统的软件开发方法已逐渐不能 适应当代软件开发的需要,正是在这种背景下提出的一种全新的软件开发方法——测试驱动 开发。
一、 测试驱动开发定义
测试驱动开发(Test Driven Development,英文缩写TDD)是极限编程的一个重要组成部 分,它的基本思想就是在开发功能代码Z前,先编写测试代码。它以不断地测试推动代码的 开发,既简化了代码,又保证了软件质量。也就是说在明确要开发某个功能后,首先思考如 何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。 然后循环进行添加其他功能,直到完成全部功能的开发。代码整洁可用是测试驱动开发所追 求的目标。这种方法在实际中能够起到非常好的效果,使得测试工作成为设计的一部分,很 好地把开发和测试融合为一个整体。
二、 测试如何驱动开发过程
在编写程序之前,每个人都会先进行设计的T作。可能有些人的设计比较正式,绘制模 型,编写文档。有些人的设计只是存在于脑海之屮。且不论是设计是精细还是粗糙,你都为 随后的编码活动制定了一个标准。这个标准的明确程度和你的设计的细致程度有关。但应该 承认,这个标准是不够细化的。因为你的设计不可能精细到代码级的程度。而标准不够明确 的则会产生一些问题,例如,在编写代码的过程屮,伤〈还可能会发现原先的设计出现问题, 从而中途改变代码的编写思路。这将会导致成果难以检验,进度难以度量。
既然以设计为导向的标准不够明确,不够具体。那什么样的标准才是合适的呢?只能是 代码。因为代码是最明确、最具体的。所以测试优先的本质其实是忖标竹理。编写测试代码 其实是在制定一个小目标。这个小tJ标非常的明确,它规定了你需要设计的类、方法。以及 方法需要满足的结果。这些日标制定完成Z后,你才开始编写代码来达成该1=1标。测试的1=1 标要比设计的目标粒度更小,但是成本上却更为经济。测试优先是软件开发中一种细粒度的 目标管理方法,通过明确的目标,推动软件开发的进行。
测试驱动开发改变了编码的过程,并且这种改变不仅是可能的,同时也是值得去做的。 开发包括三方而的活动:编写测试用例,编码并进行测试,重构代码以消除重复代码使其更 简单、更灵活、更容易理解。这个过程会频繁地重复,每次进行测试均是为了保证产品的止 确性。设计、编码和测试三者Z间的鸿沟将不再存在,这样可以促进你对整个环境更好地理
解。因此,设计和编码将随着项kl的成熟逐步得到改善而非降低。测试驱动开发实现流程图:
大多数设计都是从上|佃卜创建,并基于对观察的特性进行分类,促进对问题的理解和解 决。换句话说,我们试图创建层次结构的对象,它模型化了问题域。相反,TDD则是从下 而上,通过对一些小问题,依次实施一系列简单的解决方案,最后演进为设计。
重构确保了设计集中于一个好的解决方案而不是逐渐脱离设计。如果你认为这是设计Z 根本,你就对了。TDD将在这十年潜在地改变软件开发的方法,就像过去十年面向对彖技 术所做到的那样。
三、 测试驱动开发优点
项H进度可预测。而传统的方式很难知道什么时候编码工作结束。
大部分时间代码处在高质量状态,100%的时间里成果是可见的。
全面止确的认识代码和利用代码,而传统的方式没有这个机会。
为利用你成果的人提供Sample,无论它是要利用你的源代码,述是氏接重用你提供的组 件。
开发小组间降低了交流成本,提高了相互信赖程度。
系统可以与详尽的测试集一起发布,从而对程序的将來版本的修改和扩展提供方便。
rh于可以保证编写测试和编写代码的是和同的程序员,降低了理解代码所花费的成本。
为减少文档和代码之间存在的细微的差别和山这种差别所引入的Bug作岀杰岀贡献。
在预先设计和紧急设计之间建立一种平衡点,为你区分哪些设计该事先做、哪些设计该 迭代时做提供了一个可靠的判断依据。
发现比传统测试方式更多的Bugo
使IDE的调试功能失去意义,避免了令人头痛的调试和节约了调试的时间。
四、 测试驱动开发步骤
编写测试用例
实现测试用例
步骤:
新增测试用例(TestCase)。
编译代码,新增的测试用例很可能编译不通过。
做
您可能关注的文档
- 测量监控实施细则.doc
- 测量监理工作实施细则.doc
- 测量监理实施细则.doc
- 测量监理实施细则初稿.doc
- 测量监理实施细则审定版.doc
- 测量控制实施细则.doc
- 测量培训材料.doc
- 测量实施方案.doc
- 测量实施监理细则.doc
- 测量实验报告和心得.doc
- 2026年预防为主,生命至上安全培训课件.pptx
- 2026年三级安全教育.pptx
- 2026年检测业务安全培训.pptx
- 2026年消防动火培训.pptx
- 2026年重大事故隐患专项排查整治行动清单.pdf
- 2026年健康义普急救.pptx
- 2025—2026学年度四川省广元市苍溪县九年级上学期期末考试历史试题(含答案).docx
- 2025—2026学年度四川省泸州市合江县马街中学校九年级上学期期末历史试题(含答案)(九上_九下第二单元).docx
- 2025—2026学年度云南省曲靖市宣威市民族中学等校联考九年级上学期期末模拟历史试题(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
最近下载
- 2026年春期人教版四年级下册数学全册教案(核心素养教案)(全册共243页)(2).pdf VIP
- 《爱尔纳·突击》剧本.docx VIP
- 酒吧劳动合同(标准版).docx VIP
- 《乡土中国》读后感.docx VIP
- 2026年中考初中语文文言文每日一练习题(含答案).pdf
- 零冷水循环水管安装图.docx VIP
- 江西省部分高中学校2024—2025学年第二学期期中统一检测高一英语试卷及答案.docx VIP
- 2025-2026学年人教版(2024)初中生物八年级上册(全册)教学设计(附目录).docx VIP
- 2026年江西生物科技职业学院单招职业技能考试题库附答案详解(综合卷).docx VIP
- 2025-2026学年人教版(2024)初中生物八年级上册全册(教案含反思).docx VIP
原创力文档

文档评论(0)