论坛首页 综合技术论坛

测试驱动开发

浏览 9113 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-26   最后修改:2010-02-27

        到现在项目进行了接近50%了.
        项目编码到中途时,项目负责人对我们提出意见,测试优于代码开发.
        在代码开发中,对我感触最大的是,在代码进行中,由于自己对自己开发模块的设计不足,导致开发途中对项目实现的多次修改,由于项目功能实现考虑不够周全,对代码频繁改动,对数据迁移文件频繁改动,虽然rails对数据库的变更很方便,但是仍然浪费了不少时间,降低了效率.
        如果采取测试优先的方式,我想最大的好处莫过于,对于模块是一个从模块接口和功能实现入手,再细分代码的实现.这样做会是开发,有一个由功能到实现,由概括到细节的过程,从而再一定程度上减少返工,提高效率.
        不过,测试驱动开发,是需要测试要有很高的质量,而且,对于项目经验不足,可能会导致不知道如何下手去写.
        作为一个开发人员,大家都知道,往往修改代码和调试的时间占据了代码开发的大部分时间,所以测试写的好,可以很好的进行控制代码修改和调试,而不用担心会过于注重细节的实现忽略代码的功能.
        rails的consol和ruby的irb是很不错的调试工具,用的好,对于查找错误,修改错误很有帮助.

   

 

   发表时间:2009-11-28   最后修改:2009-11-28
mock1234 写道
不知道如何写测试这是很常见的问题。

但是其实也不算什么问题,你刚入行的时候不是也不知道如何写出代码吗?

其实先写测试是一个过程问题,或者是一个态度问题,而不是一个技术问题。

不要把调试跟TDD搞混了。TDD是一种设计手段,而单元测试以及调试都是事后对代码说三道四,而不是事前设计。

mock1234讲的很有道理.测试是一个过程和态度的问题.TDD是一种设计手段.
因为自己项目经验的不足,而且以前也没有写过测试.所以这次要求测试驱动开发感觉有些吃力.
很少关注过测试,听了mock1234的话,翻看了一些关于测试的讨论.
TDD最大的弊端,我想就是把程序员的工作定义为流水线上的装配工人,而且有一种把程序员引入为测试而开发的误区.
测试的修改也是一个很大的工作量,总的来说,测试如果真的占据了开发的主导位置,将会大大降低程序员的效率和工作激情和创造力.
引用一位前辈的话:所以到底什么是TDD?什么才是有效的TDD?真正的TDD应该是:Thinking Drive Development。
0 请登录后投票
   发表时间:2009-11-28   最后修改:2009-12-01
提示:选择您需要装饰的文字, 按上列按钮即可添加上相应的标签
0 请登录后投票
   发表时间:2009-11-28  
terryh 写道
测试驱动开发是建立在详细的文档之上的。所以对于没有时间认真写文档的项目不推荐测试驱动。

这狗屁论点的论据又在哪里嘛,说出来大家学习一下嘛。
0 请登录后投票
   发表时间:2009-11-29   最后修改:2009-12-01
提示:选择您需要装饰的文字, 按上列按钮即可添加上相应的标签
0 请登录后投票
   发表时间:2009-11-29  
楼上说的流程是TDD吗?
0 请登录后投票
   发表时间:2009-11-29   最后修改:2009-12-01
提示:选择您需要装饰的文字, 按上列按钮即可添加上相应的标签
0 请登录后投票
   发表时间:2009-11-29  
你都不了解tdd,就来分享你所谓的tdd,不是瞎掰嘛
0 请登录后投票
   发表时间:2009-11-29   最后修改:2009-12-01
提示:选择您需要装饰的文字, 按上列按钮即可添加上相应的标签
0 请登录后投票
   发表时间:2009-11-29   最后修改:2009-11-29
做IPD就好好说做IPD
非要给IPD改个名字叫TDD──好吧,你说的不是TDD,你说的是“测试驱动开发”
不光知道TDD的人要说你瞎掰,知道IPD的人也要说你瞎掰

“鱼翅这东西煮久就泥了”
“你煮的那是面条,不是鱼翅…”
“我知道,我没见过真正的鱼翅,我说的是我中午吃的鱼翅,煮久就泥了”
你叫别人怎么接嘛
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics