TTPOD-TDD-1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TTPOD-TDD-1

* TDD开发培训 你的代码工作吗? “这段代码很简单,不可能出错” “我试过了,它是正常工作的呀” … 最好的方法是写一段另外的代码来证明它,让电脑来告诉 我们它是工作的。 纲要 测试优先的编程(TFD) 什么是Test-Driven Design (TDD) 如何做TDD XP中的测试,unit test… Stress Test,JMeter简介 Myths and Misconceptions about TDD 测试优先的编程(TFD) 在写任何代码之前,先写它的Unit Test。 “Never write a line of functional code without a broken test case” Kent Beck Test-First Programming是一种测试技术吗? Test-First Programming首先是一种分析方法。它迫使程序员仔细思考要做什么和不要做什么(而不是如何具体的实现)。特别是各种例外的情况,并用程序语言正式的写下来。这就好像在程序员的任务和程序员之间签订了一个清晰的正式合同。 Test-First Programming是一种设计方法。Unit Test测试的事程序,而不是一个想法。程序员必须清晰的定义程序的界面才能写出它的Unit Test。而这时程序员是不知道(也不需要知道)里面的具体逻辑是如何实现的。程序员只需要考虑Class的界面和功能(Responsibility)。啊,你在做OO设计了。 Test-First Programming是一种质量控制方法( Quality Control )。如何控制质量呢?如何知道我的程序是否运行呢?我会不会漏了什么?运行一下Unit Test。 Test-First Programming是一种重构和优化的方法。我们总希望自己的代码可以漂亮,运行的效率高,所以我们会不断地去改进。可是如何保证改进和优化后的质量呢?会不会越改越糟?答案还是Unit Test。 Test-First Programming不是通常意义上的测试技术,它的目的也不是仅仅用来测试你的代码。 Test-First Programming是一种面向对象的开发方法。 什么是Test-Driven Design (TDD) Test-Driven Design是一种开发风格,它要求程序员做到: 在写产品代码之前,先写它的单元测试( Unit Tests ) 没有单元测试的Class不允许作为产品代码 单元测试例子决定了如何写产品代码 不断地成功运行所有的单元测试例子 不断的完善单元测试例子 Test-Driven Design是把需求分析,设计,质量控制量化 的过程! TDD = Refactoring + TFD. 如何做Test Driven Design and Development 在开发一个新的功能之前 首先确定你要做什么(不是要如何做!!) 比如说一个论坛的增加用户的功能,我们需要又一个method来增加一个用户: public void addAccount( Account account ) 当然包括成功增加一个用户(在数据库中插入一条纪录) 还包括如果已经由一个相同的用户,应该返回一个用户已存在的消息 OK,我们知道这个method中的这段代码要做什么,而且这段代码也足够简单。 Continue 然后为这个功能(Method)写单元测试例子( Unit Test ) 单元测试例子要覆盖这个Method的 “做什么”。 所以我们至少有了两个测试例子: Test Case 1: 测试成功增加一个用户 Test Case 2: 测试增加一个已存在的用户 其他边缘情况测试: Test Case 3: 传入的Account对象为NULL Continue 写Production代码 我们清楚知道这段代码需要做什么。因为我们有另一段代码摆在那里,清晰的表明这段代码的Contracts。 不用多,也不能少,只需要能实现再Unit Test中的Contracts和能够通过它的Unit Test。 Continue 运行Unit Test 如果顺利通过,你已经很好的完成了你的任务。 如果没通过,修补代码直到能通过Unit Test为止。 如果出现在Unit Test中没预先设定的结果,在Unit Test中增加一个Test Case,修补代码直到通过所有的Test Case为止。 TDD和PSP Personal Software Process Development Test-Driven Design and Development Analysis Code Unit Test Co

文档评论(0)

abf4675328 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档