论坛首页 入门技术论坛

ruby test的实际意义问题

浏览 5175 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-04-30  
学ror一段时间了,发现无论是纯ruby还是rails实际功能模块的代码量都不会太大,目前我写过的最长的一个method也就是20行左右的样子。但是无论programming ruby还是agile web development with rails的书中都有篇幅专门介绍了test,我始终不是很理解这个功能/模块的作用究竟是什么(觉得很鸡肋)。


之前也用过PVS,ALLOY之类的东西做pre-coding的logical verification,觉得它们能帮助做很多人难以迅速实现的验证,确实是必要且值得的。但是ruby的test代码量基本都是功能模块的数倍,做的工作却都是人几乎能够一眼判定的(e.g. programming ruby second edition中文版48页的例子),那么,它的真正意义是什么呢?

换言之,我觉得必要的/有用的test是帮助你验证复杂逻辑/情况,而不是像上面提到的两本书中给出的那些示例那样的程序员可以在三秒钟判断出结果的验证。我觉得或许是我应用时间还短,没有接触到复杂test的例子吧。有没有在这方面有切身体会的朋友能谈谈感想?谢谢。
   发表时间:2007-05-04  
为什么没人理我T_T

不会是所有人都不写test吧??
0 请登录后投票
   发表时间:2007-05-04  
其实每一个程序员都经过你的这个过程.

勉强自己用试用 -- 体会 -- 再用 -- 再体会

你会发现,测试驱动非常有用,  并从中受益
0 请登录后投票
   发表时间:2007-05-04  
open2ye 写道
其实每一个程序员都经过你的这个过程.

勉强自己用试用 -- 体会 -- 再用 -- 再体会

你会发现,测试驱动非常有用,  并从中受益


呵呵,我就是想来问问那些已经从中收益的还有已经有比较深刻体会的人,受到的溢出究竟是什么?

如我所说的,用PVS或者ALLOY那样的东西去做pre-coding的logical validation是能够帮助你确定项目不会在写到一半的时候发现逻辑错误从而导致re design或者大量的修改代码。

ruby的测试模块功能上看应该是很强大的,但几本教程上面给出来的例子让人看了之后的感觉就是:用这个测试的结果就是花费比encoding本身更长的时间去测试/证实自己几分钟甚至几秒钟就能够想明白/确认的结论。

我目前能够想到的唯一受益就是今后看到这段test代码可以知道,这个地方我验证过了。那么干脆就在source code里面加两句注释么:

# => tested. variable safe. no confliction.

这个样子不比用test模块方便得多么?即使用连贯语言描述设计思路,恐怕也要比编写测试代码速度快吧?
0 请登录后投票
   发表时间:2007-05-06  
你可以先学学敏捷开发,如果你会java,可以先看看java方面的,
可以看 O'REILLY 出版的, 非常好.

看完后,可以做一些应用, 你就会体会到 TDD带来的好处:)

转变一种思想不是一个容易的过程,不断尝试努力,
记住一个:国外比中国先进好多年,那些人提出了这个,而且有
许多公司都用这个,就应该有它的好处,别着急怎么去否定它,
先学习它,学明白了再去否定也不迟:)
0 请登录后投票
   发表时间:2007-05-06  
lovelymmx 写道
open2ye 写道
其实每一个程序员都经过你的这个过程.

勉强自己用试用 -- 体会 -- 再用 -- 再体会

你会发现,测试驱动非常有用,  并从中受益


呵呵,我就是想来问问那些已经从中收益的还有已经有比较深刻体会的人,受到的溢出究竟是什么?

如我所说的,用PVS或者ALLOY那样的东西去做pre-coding的logical validation是能够帮助你确定项目不会在写到一半的时候发现逻辑错误从而导致re design或者大量的修改代码。

ruby的测试模块功能上看应该是很强大的,但几本教程上面给出来的例子让人看了之后的感觉就是:用这个测试的结果就是花费比encoding本身更长的时间去测试/证实自己几分钟甚至几秒钟就能够想明白/确认的结论。

我目前能够想到的唯一受益就是今后看到这段test代码可以知道,这个地方我验证过了。那么干脆就在source code里面加两句注释么:

# => tested. variable safe. no confliction.

这个样子不比用test模块方便得多么?即使用连贯语言描述设计思路,恐怕也要比编写测试代码速度快吧?


完全晕倒,没有力气解释了。
0 请登录后投票
   发表时间:2007-05-06  
不错不错
很爽的
0 请登录后投票
   发表时间:2007-05-18  
dongbin 写道

完全晕倒,没有力气解释了。


呵呵

看看本期程序员  有很多测试驱动的文章


"一红一绿扫扫地"  这个经典
0 请登录后投票
   发表时间:2007-05-20  
open2ye 写道
dongbin 写道

完全晕倒,没有力气解释了。


呵呵

看看本期程序员  有很多测试驱动的文章


"一红一绿扫扫地"  这个经典


我倒是想看,也得买的到才行啊。隔着亚欧大陆,想买本杂志难啊
电子版才出第二期,等出第五期的时候估计整个项目早就结束了。
0 请登录后投票
   发表时间:2007-05-20  
刚刚看到的短信,简单评论一下。我是真不知道为什么有这种结果。就算我白痴,也有求知的权力吧?说实话以我对国内软件业的了解(当然可能有些片面/偏颇),能有规范的注释跟开发文档就很不错了,写测试的可能都占不到3%,就是因为自己之前也从来没有写过test code,现在被要求写,开始学习,觉得有点困扰,所以才来发帖,希望讨论后集思广益,没想到遇到这种事,sigh~~

在此感谢open2ye跟yananay两位的回复,希望有机会深入讨论下这个问题。我也知道test这个东西存在肯定尤其合理性,只是如我上面所说的,在现阶段完全体会不到它存在的价值。希望有这方面经验的能够实际谈谈自己的体会,大家共同学习。


JavaEye管理员 写道
您的帖子:ruby test的实际意义问题 被JavaEye用户民主投票评为新手贴,减积分10分。发贴前请仔细阅读 JavaEye版规和提问的智慧,如有异议,可以给管理员发站内短信申诉,或者等待封锁解除后,可以在海阔天空版申诉,申诉内容请提交论坛置顶的申诉帖,不可以发在版面,否则隐藏扣分。


1)我发帖前绝对看过版规;

2)我不认为发的帖子属于垃圾贴。就是因为对test这个领域比较陌生,希望听听有经验的人的评价,看看别人,特别是那些有经验的人,都有什么样的心得体会。因为怕没把自己的观点表达清楚,还特意又回帖补充过自己的想法。

3)如果真较真地去评判是否应该扣分,我倒是觉得6楼dongbin的“完全晕倒,没有力气解释了。”这种回复才是垃圾,知之为知之,不知为不知,不懂可以默默地看,不屑回答可以选择忽略,什么叫没力气解释?没力气解释却有力气发这种无聊的回复?

4)如果不是因为csdn没有ror版,如果不是因为ruby-forum里面夹杂的意大利语法语德语贴看不懂着急闹心,我绝对不会跑到这里注册ID。说实话我很欣赏版规中所说的问前先自己动手解决问题的建议,实际上我也是一直这么做的,不知道参与投票的都有谁,我是真不理解为什么这贴就成了垃圾贴。

5)我对积分这种概念一点都不在乎,只是觉得这种评判结果某种程度上说是对人的一种侮辱。
0 请登录后投票
论坛首页 入门技术版

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