论坛首页 综合技术论坛

TDD很痛苦

浏览 24991 次
锁定老帖子 主题:TDD很痛苦
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-09-04  
尝试了DBUNIT一段时间,最后感觉还是用ant调用sqlplus来执行初始化sql文件来得方便。
0 请登录后投票
   发表时间:2010-09-04  
个人认为
软件规模决定是否使用tdd;项目开始时决定使用tdd,就要坚持到最后。
项目中途再使用tdd,特别痛苦。
0 请登录后投票
   发表时间:2010-09-05  
yizhilong28 写道
个人认为
软件规模决定是否使用tdd;项目开始时决定使用tdd,就要坚持到最后。
项目中途再使用tdd,特别痛苦。

怎么说呢?比如我是一个习惯于TDD的人,尽管是项目中途加入(这个项目在我之前已经开发了快四年),之前没有什么测试框架,更不要说测试用例了。但还是会想办法去构建这样的框架,首先对自己的代码实现TDD。然后用TDD去修改以前的代码,并逐步完善testcase。
相比一直有testcase的情况,这个过程花费了不少时间,但对于一个习惯TDD的人来说,一口气写上几百行的代码没有跑过一次junit,所有的问题集中到集成测试和QA测试才暴露出来,这种恐惧感是完全没办法再接受了。
0 请登录后投票
   发表时间:2010-09-05  
代码质量不是靠什么流程啊, 方法, 测试啊等单一手段能保证的。 实际上, 软件工程还是摆脱不了代码工人的能力。
0 请登录后投票
   发表时间:2010-09-06  
强强爱妍妍 写道
这个跟修炼正派武功一样的,速度慢,但是功力深. scrum就是邪派了,玩虚的. wwccss表跟我争,你敢不敢练TDD?

scrum 用的不好,就非常激进,更具有功利性。会被进度压着走。
0 请登录后投票
   发表时间:2010-09-06  
TDD不适合web项目或者说数据库项目
0 请登录后投票
   发表时间:2010-09-07  
做Tdd的同學,有沒有良好的demo可用?
包括dao測試,service測試,mock,dbunit或sql初始化。
0 请登录后投票
   发表时间:2010-09-08  
blackchoc 写道
其实我只要测试一个方法,但是在此之前我需要做大量的准备工作才可以让我的测试开始工作。

难道你忘了《测试驱动开发》这本书里面第一个测试是怎么开始工作的吗?
Assert.equals(10, five.amount);

作者直接在Dollar类里写上
int amount = 10;

尽快让测试跑起来,然后去搞其它的,走最小的那一步,然后再慢慢走。从写int amount = 10到最后的实现与一开始就完美实现的不同之处就在于,前者的过程你已经测试了不下十次,重构了不下十次,而后者你最终只是把测试跑通了,那已经不是TDD了。
0 请登录后投票
   发表时间:2010-09-09  
RCFans 写道
blackchoc 写道
其实我只要测试一个方法,但是在此之前我需要做大量的准备工作才可以让我的测试开始工作。

难道你忘了《测试驱动开发》这本书里面第一个测试是怎么开始工作的吗?
Assert.equals(10, five.amount);

作者直接在Dollar类里写上
int amount = 10;

尽快让测试跑起来,然后去搞其它的,走最小的那一步,然后再慢慢走。从写int amount = 10到最后的实现与一开始就完美实现的不同之处就在于,前者的过程你已经测试了不下十次,重构了不下十次,而后者你最终只是把测试跑通了,那已经不是TDD了。



TDD 拿这样的例子, 不用也罢。
0 请登录后投票
   发表时间:2010-09-09  
RCFans 写道
blackchoc 写道
其实我只要测试一个方法,但是在此之前我需要做大量的准备工作才可以让我的测试开始工作。

难道你忘了《测试驱动开发》这本书里面第一个测试是怎么开始工作的吗?
Assert.equals(10, five.amount);

作者直接在Dollar类里写上
int amount = 10;

尽快让测试跑起来,然后去搞其它的,走最小的那一步,然后再慢慢走。从写int amount = 10到最后的实现与一开始就完美实现的不同之处就在于,前者的过程你已经测试了不下十次,重构了不下十次,而后者你最终只是把测试跑通了,那已经不是TDD了。


冒昧的猜一下,你没用TDD开发过基于数据库的应用吧?
0 请登录后投票
论坛首页 综合技术版

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