- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《测试驱动开发TDD》.ppt
测试驱动开发TDD 实战与模式解析 概述 Kent Beck先生最早在其极限编程(XP)方法论中,向大家推荐“测试驱动”这一最佳实践,还专门撰写了《测试驱动开发》一书,详细说明如何实现。经过几年的迅猛发展,测试驱动开发已经成长为一门独立的软件开发技术,其名气甚至盖过了极限编程。 简介 测试驱动开发(Test Driven Development,英文缩写TDD)是极限编程的一个重要组成部分,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完成全部功能的开发。代码整洁可用(clean code that works) 是测试驱动开发所追求的目标。 优点 (1)完工时完工。表明开发人员可以很清楚的看到自己的这段工作已经结束了,而传统的方式很难知道什么时候编码工作结束了。 (2)全面正确的认识代码和利用代码,而传统的方式没有这个机会。 (3)开发小组间降低了交流成本,提高了相互信赖程度。 (4)避免了过渡设计。 优点 (5)系统可以与详尽的测试集一起发布,从而对程序的将来版本的修改和扩展提供方便。 (6)逃避了设计角色。对于一个敏捷的开发小组,每个人都在做设计。 (7)大部分时间代码处在高质量状态,100%的时间里成果是可见的。 (8)由于可以保证编写测试和编写代码的是相同的程序员,降低了理解代码所花费的成本。 优点 (9)为减少文档和代码之间存在的细微的差别和由这种差别所引入的Bug作出杰出贡献。 (10)在预先设计和紧急设计之间建立一种平衡点,区分哪些设计该事先做、哪些设计该迭代时做提供了一个可靠的判断依据。 (12)发现比传统测试方式更多的Bug 开发过程 概括起来,测试驱动开发的基本过程如下: (1) 明确当前要完成的功能。可以记录成一个 TODO 列表。 (2) 快速完成针对此功能的测试用例编写。 (3) 测试代码编译不通过。 (4) 编写对应的功能代码。 开发过程 (5) 测试通过。 (6) 对代码进行重构,并保证测试通过。 (7) 循环完成所有功能的开发。 更概括的来说,可以分为三部曲: 红条模式 绿条模式 重构 实例演示----Fibonacci 数列 测试驱动开发,那么测试先行是必然的了. 第一个测试: public void testFibonacci(){ assertEquals(0,fib(0)); } 我们都知道:Fibonacci 数列的第一个数是0,现在测试代码有了,那么我们先运行一下测试吧. 报错,红条模式! 显然,因为我们甚至还没有fib()这个函数! 我们赶紧让这个测试通过吧,于是添加如下功能代码: 实例演示----Fibonacci数列 int fib(int n) { return 0; } 绿条模式,测试通过! 第二个测试 public void testFibonacci() { assertEquals(0,Fib(0)); assertEquals(1,Fib(1)); } 实例演示----Fibonacci数列 为了能让测试通过,我们编写如下代码: int fib(int n) { if(n==0) return 0; return 1; } 绿条模式,测试通过! 从测试代码中我们看到: assertEquals(0,Fib(0)); assertEquals(1,Fib(1)); 实例演示----Fibonacci 数列 重复!不仅在源代码,就是在测试代码中,我们也要避免重复!(因为测试代码中也会出现模式!) 改写测试代码: public void testFibonacci { int cases[][]={{0,0},{1,1},{2,1}}; for(int i=0; icases.length;i++) assertEquals(cases[i][1],fib(cases[i][0])); } 演示实例----Fibonacci数列 这样添加测试代码就容易多了. 测试代码改过了,再运行下,绿条模式!还能通过,那我们就可以放心继续了! public void testFibonacci { int cases[][]={{0,0},{1,1},{2,1},{3,2}}; for(int i=0; icases.length;i++) assertEquals(cases[i][1],fib(cases[i][0])); } 演示实例----Fibonacci数列 红条模式!测试失败,
您可能关注的文档
最近下载
- 21X505-2《火灾自动报警系统施工及验收标准》图示.docx VIP
- 第4课+数据分包灵活传 课件 2025-2026学年人教版(2024)初中信息科技七年级全一册.pptx VIP
- 人教版数学九年级上册教案 第二十四章 圆.doc VIP
- 新(2024)人教版七年级英语上册全册【共9个单元】知识点总结.doc VIP
- 系统集成项目实施指南.pdf VIP
- 中职语文高教版(2023)基础模块上册第三单元一《无衣》课件(共25张PPT).pptx VIP
- 使用OllyDbg从零开始Cracking.doc
- 交通安全设施监理实施细则.docx VIP
- 2025年山东省网络安全工程专业职称考试(网络生态建设与治理·中级)历年参考题库含答案详解(5卷).docx VIP
- (高清版)B-T 21109.1-2022 过程工业领域安全仪表系统的功能安全 第1部分:框架、定义、系统、硬件和应用编程要求.pdf VIP
文档评论(0)