瞎扯淡 不写测试代码

banana · 发布于 2016年10月16日 · 最后由 pynix 回复于 2016年10月21日 · 1947 次阅读
96

本人来公司差不多三个多月了,从接触这门语言到现在也快半年了,但是,我从来都没写过测试代码,ruby on rails ,公司的主体项目,每当有bug需要修复,或者有了新的需求需要添加功能的时候,基本是未写过测试代码,都是功能本地跑一遍完事,剩下的就交给售后线上测试了…… 在此,希望大家就测试代码的必要性谈一谈

共收到 27 条回复
96

我们公司不仅没有写测试,还没有售后线上测试,直接给用户测试 😅

001e5a

一个产品想持续发展,如果不写测试代码,那就等着看悲剧发生吧

162

我一般CRUD不写测试代码,只写测试代码测试复杂逻辑和用来重现用户报告的Bug然后并修复它

9442

只写集成测试,好过没有,😄

4559

技术债务迟早会还的。

4257

如果只是非常简单的 CRUD,没有复杂的业务逻辑在里面,我一般不写测试,但是如果参杂一些业务进去,那就会写了。

244

我可以谈谈测试的不必要性么......

2973

#8楼 @fsword 这个可以有,记得某大神说过,测试都是给新手准备的,他就不写,不过我还是默默写着测试

15307

#10楼 一语道破了天机么 😂

7009

测试还是有必要的,毕竟以后版本升级,没测试过一遍,怎么敢轻易升

2511

就看技术债和产品消亡(产品线更替比较快),哪个来得更快。

244

#9楼 @small_fish__ 我也写测试,不过我会尽量避免写ROI不高的测试

2575

需要频繁测试,并且手动测试成本大于自动的时候写。我觉得测试的优势就是 快速,可重复,精确,低成本

19766

我觉得测试的最大意义,就是让你对写出的代码充满自信!

96

要写测试,当然也有例外的情况,前提是你已经非常熟练的掌握了怎么写测试。如果你还没有掌握怎么写测试,先写一段时间测试,熟悉后再下结论。 我认为测试驱动开发的效率是大于直接开发实现代码的。

57846d

刚进公司时,负责将代码从Rails 3 升级到 Rails 4,但是他们之前只写了一小部分。于是我重新补写了所有Model,Controller的测试(以前其实我也不写测试,之前的公司太“敏捷”😂 ) 但写了之后,我有下面几个感觉

  1. 不是所有的地方都需要写测试(不知道对不对)
  2. 写测试的好处是,自己会更加全面的去考虑“接口”的设计
  3. 在修改接口时,可以通过测试来保证接口的正确性
  4. 实际上大大加快了开发效率,因为你写的代码总是要测试的,不管是用什么,测试总比人肉快
5173

#8楼 @fsword 这个方法最好,就像谈不要在野地里游泳一样,告诉它水里虫子入脑,最快7天会死。。。。于是。。。

4257

如果新的测试没有测到点子上,那么写的再多也是白搭。

22325

我们也不写测试代码,我们的解决方案是。。。另外写了一个测试脚本,专门用来测试。。。。然后人工补上未测试的部分😂

15139

我司就是这么堆的技术债。

我司的测试很便宜,每两周完成一个Sprint以后,就扔给他们做人工测试。

当然还是遇到过一些小问题的。

  1. 测试用例太多,时间太长。

    我们常规测试用例大概百多个,每个测试要跑几十分钟甚至有些要跑几小时。

    每次Sprint完成以后,五六个QA要测两星期才能测完,反馈结果,然后开发来修复,然后回去再重新测试两星期。

  2. 升级平台几乎不可能。

    我们Ruby 1.8.7 Rails 1.2.3,一点点微小的升级就会让整个系统爆炸,哪怕我只是升到Ruby 1.9.3 Rails 2.3。

  3. 就算是测试也不一定能测出来所有的问题。

    我们做虚拟机控制面板的。

    有一次客户遇到个Bug,我们的面板在调整完内存大小以后把人家的硬盘档删了。

    百分百复现的Bug,QA漏了,因为QA测试用例里没有这一项。

当然现在我们已经不需要QA做测试了。

如果你要问为什么,当然是因为技术债太多还不完公司要倒闭了。

23196

#22楼 @msg7086 rails1.2.3 .....? 不会吧......

9096

其实需要测试的代码最需要的不是测试

15815

Test Driven Design. 当你发现你很难给一个功能添加测试的时候,很可能你没有好的OO Design。另外可靠的测试也是很重要, 所以"Write a test for your test" 🐮

15139

#23楼 @Catherine 也有可能是1.2.5。

vender/rails/railties里的Changelog里是这么写的,

*1.2.5* (October 12th, 2007)

* Correct RAILS_GEM_VERSION regexp. Use =version gem requirement instead of ~>version so you don't get surprised by a beta gem in production. This change means upgrading to 1.2.5 will require a boot.rb upgrade.  [Jeremy Kemper]

* Move custom inflections example so available before route generation.  #6829 [dcmanges, Nate, piotrb]


*1.2.4* (October 4th, 2007)
...
...

转手太多已经不知道啥时候更新的了。

9800

#22楼 @msg7086 从1开始的rails生活。。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册