论坛首页 软件开发和项目管理版 TDD

测试如何驱动开发

浏览 20136 次
该帖已经被评为良好帖
作者 正文
最后更新时间:2007-09-30
qlqsh 写道
不好意思,新手,问一下啊。

LZ的Test2和Test3的区别在哪里?

听“抛出异常的爱”的解释似乎就是为了多测试一遍?

满足Test2的最简单的实现是直接return预期的结果
而同时满足Test2和Test3的最简单的实现,则是我真正想要的
   
0 请登录后投票
最后更新时间:2007-10-05
[quote=gigix]满足Test2的最简单的实现是直接return预期的结果
而同时满足Test2和Test3的最简单的实现,则是我真正想要的[/quote]

kert beck 说的三角法
   
0 请登录后投票
最后更新时间:2007-12-27
我理解gigix的三个Test,实际上是将文字语言描述的需求翻译成测试用例描述的需求。
Test 1 对应的文字描述是“要按单词来操作一个句子”。
Test 2 对应的文字描述是“按单词反转这个句子”。
Test 3 结合Test 2 描述是“按单词反转任意一个句子”。

如果在更粗的粒度上,Test 1 感觉是可有可无的,但Test 2和Test 3反到是必须的。
不知道我理解的对不对?
   
0 请登录后投票
最后更新时间:2007-12-27
没有test1叫扩大测试颗度
也是敏捷的一种实践
我是写的
不过总是被重构掉.....
因为.....这种东西多了就遮盖了逻辑.
不写eclipse就没办法生成简单的类.
我都是对着红线点击生成类或方法的.
   
0 请登录后投票
最后更新时间:2007-12-29
只能说是一个没有完成的测试驱动开发的Test Case
因为仅凭这个测试用例无法完成一个完整的功能的开发
   
0 请登录后投票
最后更新时间:2008-05-17
ozzzzzz 写道
gigix 写道
hostler 写道
ozzzzzz 写道
TDD的做法并不是要你在最早就准备好一个完整的测试系统,而是要你通过写准对需求的测试,也就是针对功能的测试,来因对性的完成你的代码。这是一个由需求,转换为针对测试,在因对的代码的过程。

      那ozzzzzz怎么看gigix 关于testShouldSplitSentenceIntoWords这个测试?

这个测试就是所谓的“设计过程”
实际上照我真实的想法,我是不想写这个测试的,因为这个需求实在太简单了
不过为了说明这里确实有“设计”的存在……
我把一个大的问题分解成两个小的问题,先用测试驱动解决第一个,再用测试驱动解决第二个
就是这样

其实这里就引出一个问题,也就是TDD也有粒度问题,并且很多时候这个粒度问题并不比需求中粒度问题简单,需要我们小心控制。虽说XP要求我们小步快跑,但是这个小步也是有粒度要求的。


一般我都会抽象出接口来,对接口进行TDD测试!
   
0 请登录后投票
最后更新时间:2008-06-14
ozzzzzz 写道
测试是测试,测试驱动是测试驱动,别把两个东西搞混了。说白了测试驱动还是需求驱动,而测试则需要考虑更多的东西。gigix的做法在tdd看来很棒,但是在测试角度看则很不完整。

那按你的想法,测试完整应该考虑到每种情况,那代码量也将增加不少,测试的时间也增加了。
我的观点还是测试基本功能较好,那样节省时间和代码量,不知你怎么看带这个问题,还请说详细点
   
0 请登录后投票
最后更新时间:2008-06-30
yananay 写道
要根据需求来写测试。
gigix的例子应该把需求写详细了,这样大家就明白了。

而 taowen 那个,根本就不是TDD的方式。完全就是过度需求。

例如客户只是想要一个过冬的棉袄,而且耐用就可以了。
你的测试只要保证它能过冬,而且耐用就足够了。

如果你非要给客户一个能过冬的,刀枪不入的,内置MP3,而且即使
到外太空也能使用的棉袄,那真是闲得没事干了。


透彻。
测试驱动开发只是改变一下开发顺序而已,把测试具体化了。具体方法才是关系。按照原来的编程思路,只是通过提供一个测试环境而以
   
0 请登录后投票
最后更新时间:2008-07-06
呵呵,新手,学习ing ^_^!
个人认为:如果开发产品(如word),健壮性是很重要的指标,应用taowen的方法,
而如果开发有业务过程的项目时,测试主要应该满足其需求目标,同时考虑成本因素gigix的方法更好一些。
   
0 请登录后投票
论坛首页 软件开发和项目管理版 TDD

跳转论坛:
JavaEye推荐