自己想了解学习一下,大家是怎么样
然后你们公司有没有专门一个人写测试脚本,或者录制测试脚本的人?还是任然徒手测试,每次都要点点点的。
先谢了。估计测试这一块大家比较喜欢测 unit,因为方便 debug。 还有就是重复准备数据也是非常懊恼的事情。加入项目和自动化测试的程序是分开的无法去调用数据库清空的话,还是非常麻烦的。
@xazaj 那无论怎么样复杂的应用都能用 watir 测试吗?ie 也没问题吗?你们测试 web 覆盖率可以达到多少,就是说自动测完后不需要手动再去测了的。
Rspec 跟着 Model 写。capybara 或者 cucumber 做集成测试,一般他们能把大多数的页面都覆盖掉。单独的 Views 层测试,在我的流程中意义不大。如果能倒把业务都写在 Model 层,那 Controller 测试也是没有必要的。管理工具如果小团队用 basecamp,podio,github 或者 bitbucket,如果有团队分工比较细,就架个 jira 吧。
@everett 其实集成测试已经够了。很多小组其实都是手动测试,QA 都是写好功能列表然后手点点测试,效率底下。 我发现 github 上 https://github.com/brynary/webrat 这个 webrat follow 的要比 watir 的人多好多。但是 webrat 也没听多少人提起过。
capybara + selenium + jenkins + campfire + airbrake..
现在 MY ASICS 就这样弄的,
oh. don't forget hubot :p
最近找到一些解决不同配置机器需要设置不同 sleep 的方法 @zhenwu 在弄
@raven 莱文兄你暴露机密信息啦。my asics 是项目里的测试程序,如果说我们只要一个测试 integrational test 的话,那么完全可以单独出来跑的。
最近来文兄干的如何啊。
@hlxwell 两者使用场景不同,我把 rspec 当写复杂逻辑时的辅助工具。编写效率能明显提高。之前写一个支付订阅的功能想了一周还没理清思路,用 rspec 后 一个下午就都出来了。集成测试是面向 QA 和做重构保护的,在一些需求经常改动(进化)的项目中尤其重要。
自动化测试,分两个方面讲,自动化这一块,使用持续集成工具比较容易快速构建,我推荐 jenkins,一个 war 包就起来了。测试这一块,工具方式完全取决于你的目的,很难有一个万全的方案。但基本的测试原则应该建立,比如单元测试放给开发负责,集成测试作为检验标准。集成测试写起来需要时间,精力,大公司才有实力投入这个。用 RUBY 去构建吧,应该不难。另外,给你推荐一个开源的集成测试框架: https://github.com/NetEase/Dagger a Web UI autotest framework based on Selenium and TestNg
capybara 对 selenium 的支持很好啊,integration test 目前就是用 capybara 调 selenium 来做的,但是这样导致的问题是测试很慢...
@everett 是的,unit 测试对于程序员反复加载数据调试是非常有用的。我的意思其实是 QA 级别的测试,要求从用户角度去测试,如果他们跑过了界面上的测试,基本上软件可以上架。但是 unit 层测试跟程序员关系更大一点。你讲的也对,写测试真的帮助程序员在脑子模糊的时候,不会把程序搞坏了。
@aisensiy 是啊。capybara 测试挺好的,selenium 你可以通过调用远程的服务器上的 selenium standalone 进程去测试,这样还能在各种环境上同时测试呢。如果你们有一个厉害的能写测试脚本的人来说还是非常好使的。而且这个测试项目完全可以独立出去。比如 https://github.com/thuss/standalone-cucumber
这个就非常有用了。