MicroHelper.Net

雷锋说.对待朋友要MicroHelper,对待敌人要害尔扑
随笔 - 74, 评论 - 431, 引用 - 7

导航

关于

邮件系统不稳定,使用songdming at 263 dot net吧
PageRank

FastCounter by bCentral

 

标签

每月存档

最新留言

  • re: 代码组织
    <a href="http://www.vgoldseller.com/runescape-c-599.html">runescape money</a> ...
    by cxb000(匿名) on 2008/3/26 10:32:11
  • 回复: 看PPMM
    <a target="_new" href="http://www.bestgoldlion.com">http://www.bestgoldlio...
    by runescape gold(匿名) on 2007/12/18 5:13:00
  • 回复: IoC初阶
    <a target="_new" href="http://www.bestgoldlion.com">http://www.bestgoldlio...
    by runescape gold(匿名) on 2007/12/18 5:12:00
  • 回复: 数据分页 (最后更新2003/11/18)
    <a target="_new" href="http://www.sky361.com">http://www.sky361.com</a&...
    by wow power leveling(匿名) on 2007/12/18 5:06:00
  • 回复: iBATIS.Net
    <a target="_new" href="http://www.rsgold-rsgold.com">http://www.rsgold-rsg...
    by runescape money(匿名) on 2007/12/18 5:04:00
  • 回复: 防范Sql注入式攻击
    <a target="_new" href="http://www.rsgold-rsgold.com">http://www.rsgold-rsg...
    by runescape money(匿名) on 2007/12/18 5:03:00
  • 回复: TDD——NUnit的原理
    <a target="_new" href="http://www.rsgold-rsgold.com">http://www.rsgold-rsg...
    by runescape money(匿名) on 2007/12/18 5:03:00
  • 回复: 开源的CMS
    <a target="_new" href="http://www.rsgold-rsgold.com">http://www.rsgold-rsg...
    by runescape money(匿名) on 2007/12/18 5:03:00
  • 回复: CCNet 1.0即将发布
    <a target="_new" href="http://www.sky361.com">http://www.sky361.com</a&...
    by runescape gold(匿名) on 2007/12/18 5:00:00
  • 回复: 关于加班
    为什么这年头加班都成了是我们 的义务了?加班不给加班费也就算了,难得早点回去,还要说三道四的,这社会会为什么会发展成这样啊????
    by 小小(匿名) on 2007/12/14 8:18:00
  • 回复: Presentation草稿:面向对象设计的基本原则
    是的,模式要实事求是,应该是解决问题为主 <br>我搜集了原则方面的文章,有空去看看吧 <br><a target="_new" href="...
    by objecttutor(匿名) on 2007/10/31 17:26:00
  • 回复: 开源的CMS
    支持一下
    by qingxingmeng(匿名) on 2007/10/30 18:03:00
  • 回复: .Net的开源项目
    AnyView(网络警)网络监控软件是一款国内目前最专业的企业级的网络监控软件产品。包含局域网上网监控、邮件监控、聊天监控、BT禁止、流量监视、上下行分离流量限制、并发连接数限制、屏幕监视和录象、硬件...
    by 网络监控软件(匿名) on 2007/10/30 12:33:00
  • 回复: .Net的开源项目
    AnyView(网络警)网络监控软件是一款国内目前最专业的企业级的网络监控软件产品。包含局域网上网监控、邮件监控、聊天监控、BT禁止、流量监视、上下行分离流量限制、并发连接数限制、屏幕监视和录象、硬件...
    by 网络监控软件(匿名) on 2007/10/30 12:32:00
  • 回复: 看PPMM
    好看就成 <br>
    by 11(匿名) on 2007/10/27 15:43:00

广告

 
有一个blog胖子不减肥是我很喜欢看的,今天看到一段话,未经授权引用一下。
>>
UNIT TEST又叫单元测试,是针对程序最基本结构单元所进行的测试。而TDD的过程是这样的,写一个测试程序,使其可以运行,重构。在写这个测试程序的时候你考虑的不应该是基于什么结构单元,而是要考虑需要完成的什么功能。实现和重构的时候,具体是不是这个单元完成了这个功能依然不是你应该去考虑的,你考虑的还是——是不是完成了这个功能、是不是代码真的清晰和可工作。你考虑的问题永远是围绕着具体的功能进行的,而不是围绕某种结构进行的。你写这个测试程序的时候,这个结构并不存在,并且今后也可能不存在(由于重构,你在别的结构部分实现了这个功能)。
 
明白这个道理就可以明白TDD实际还是基于需求驱动的,还是一种前瞻性的设计手段。只不过TDD让这个需求更加具体,让其前瞻性也更可以预测,并且在多种方法中给了你进行多种尝试的机会。而当你认为这个测试只是单元测试的时候,无疑你就把程序的结构早早的做了一个固定,其是基于结构的而不是基于需求的,并且由于其基于结构的一面则设计的前瞻性很难得到保证,而就根本性的断绝了你进行多种尝试的可能。设计的前瞻性是指你的设计可以带来可以预测的结果。而软件的结构是动态的,并且随着你必须进行的重构活动这样的结构变更会日常性的存在。如果你的一个测试高度的依靠某种特殊的结构,在这样的经常性重构的环境下,其被经常性修改的几率会大大增加。而由于其结构的不确定性是根本不可能逆转的,所以针对结构进行的测试根本不可能带来结构上的可预测性,而谈不上什么前瞻性了。
<<
 
这段话对TDD作了清澈的分析,TDD不单纯是以测试来驱动代码的编写。
我们还没有实践TDD,不是每个成员都对TDD很认同,并且了解怎么来做,这包括我。但是有一点需要强调——TDD不单纯是以测试来驱动代码的编写,而是对整个开发流程的驱动。
 
 

打印 | 张贴于 2004-08-04 23:10:00 | Tag:拥抱变化

留言反馈

#re: 对TDD的解释 编辑
我对TDD还不是很明白,有没有实际的例子可以参照一下?谢谢。
2005-01-09 15:35:00 | [匿名用户:汪洋]
#re: 对TDD的解释 编辑
解释得精妙。。。
2004-08-05 12:21:00 | [匿名用户:xIkUg[BCG][DFCG][OCN][DCM][CZG]]
#re: 对TDD的解释 编辑
我的看法是
TDD和UP所讲的use case驱动是相辅相成的,都是以需求为基础。

而TDD更偏重与实际的实现。
2004-08-05 11:05:00 | [匿名用户:microhelper]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.1.0