测试 大家有没有对自动化测试方法比较了解的,推荐一下?

hlxwell · 2013年03月07日 · 最后由 dw512 回复于 2016年01月14日 · 6065 次阅读

自己想了解学习一下,大家是怎么样

  1. 用 ruby 或者 javascript 写测试脚本
  2. 然后在 selenium 或者 capybara 这样的单独跑的工具,然后最好能够通过 headless 跑在 jenkin 上,然后又有什么工具可以把 jenkin 里的每次测试。
  3. 是用什么工具去管理 bug 的,就是 bug tracking 工具

然后你们公司有没有专门一个人写测试脚本,或者录制测试脚本的人?还是任然徒手测试,每次都要点点点的。

先谢了。估计测试这一块大家比较喜欢测 unit,因为方便 debug。 还有就是重复准备数据也是非常懊恼的事情。加入项目和自动化测试的程序是分开的无法去调用数据库清空的话,还是非常麻烦的。

测试 web 应用吗?社区阿里人应该不少吧,阿里用的 watir,做的挺好的。

@xazaj 那无论怎么样复杂的应用都能用 watir 测试吗?ie 也没问题吗?你们测试 web 覆盖率可以达到多少,就是说自动测完后不需要手动再去测了的。

如果不想生活在痛苦中,ui 自动化测试不要超过 20%...

Rspec 跟着 Model 写。capybara 或者 cucumber 做集成测试,一般他们能把大多数的页面都覆盖掉。单独的 Views 层测试,在我的流程中意义不大。如果能倒把业务都写在 Model 层,那 Controller 测试也是没有必要的。管理工具如果小团队用 basecamp,podio,github 或者 bitbucket,如果有团队分工比较细,就架个 jira 吧。

@everett 其实集成测试已经够了。很多小组其实都是手动测试,QA 都是写好功能列表然后手点点测试,效率底下。 我发现 github 上 https://github.com/brynary/webrat 这个 webrat follow 的要比 watir 的人多好多。但是 webrat 也没听多少人提起过。

不过 railscasts 上全部都是关于 webrat 的,而且 webrat 更新也比较勤快似乎

#6 楼 @hlxwell 为什么不用 Capybara?

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 来做的,但是这样导致的问题是测试很慢...

#9 楼 @hlxwell 啊 我想起来了 婷婷现在就是写 JS 脚本来测的……

宝哥回家生孩子去了 目前进度缓慢……

@everett 是的,unit 测试对于程序员反复加载数据调试是非常有用的。我的意思其实是 QA 级别的测试,要求从用户角度去测试,如果他们跑过了界面上的测试,基本上软件可以上架。但是 unit 层测试跟程序员关系更大一点。你讲的也对,写测试真的帮助程序员在脑子模糊的时候,不会把程序搞坏了。

@aisensiy 是啊。capybara 测试挺好的,selenium 你可以通过调用远程的服务器上的 selenium standalone 进程去测试,这样还能在各种环境上同时测试呢。如果你们有一个厉害的能写测试脚本的人来说还是非常好使的。而且这个测试项目完全可以独立出去。比如 https://github.com/thuss/standalone-cucumber

这个就非常有用了。

@xds2000 java 的呀。不过 thanks :)

@raven 婷婷真不容易啊。他写 js 的什么脚本啊。selenium 脚本吗?

#8 楼 @raven hello,你这个图的效果很好很炫啊,是怎么搞的,我最近也在使用 rspec+capybara+selenium-webdriver 做 web ui 的 automation,但是还没和 Jenkins 或者 Travis ci 集成,想看看你是怎么搞的

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