Ruby 利用 Ruby 元编程 +Rails 构建自动化测试,集思广益!

allengaller · 2012年04月10日 · 最后由 feng88724 回复于 2016年04月19日 · 6243 次阅读

背景:

1.本人在欧洲一家做虚拟机的公司。在写 web 自动化测试框架的设计,用 Ruby + Python + Rails。因为这里比 CSDN 和 ChinaUnix 都舒服,比 Toplanguage 方便,而且靠谱的人多,所以这里发帖集思广益。 2.测试的是虚拟机的性能,说白了就是一串系统操作,测试 IO,网络和磁盘性能等,基本是 Perl 脚本,Ruby 脚本,或者 Python 脚本,都可能有。

我大脑里的设想是: 用 Rails 做一个基于各种表单的 web 前端,让用户自己生成测试脚本,然后 Run,最后在 web 上阅读后台生成的测试报告。

所以,Ruby 元编程,各位,是不是能满足?(就是希望利用脚本生成脚本的思想)

试试看 fitness,不知道有没有 ruby 的

脚本生成脚本不用元编程。。 ERB 就 ok

#2 楼 @hooopo 说的也是。我认为 erb 就像 Django 里的 templates,可以在 html 里完成一定的业务逻辑,可以按照一定的逻辑和后台 Ruby code 直接联系起来。Thank you!

#1 楼 @lihuazhang 很赞的推荐,你是说 fitnesse.org/ 的这个集成测试框架,FIT 的前端。需要 Java 去 Run。确实可以借鉴它的前端设计,很清晰。继续看其后台......

@allengaller Fitness 是个非常不错的测试框架,用 wiki 的形式、以 html 来写测试用例,对不会写专业脚本的测试人员来说非常简单,更重要的是它已经被实际验证很久了 :)

#5 楼 @donnior 你说的对,我在 FitNesse 的官网看了下 tutorial 和 faq,这个项目非常成熟,而且思路就是一个纯粹的自动化测试框架!虽然基于 wiki 的形式,据说可以放到 Python 的测试容器中(如何理解?)。可是没有执行 server script 的能力。如果我没有理解错的话,FitNesse 可以生成 test case,可以 import remote wiki, 还可以创建动态链接,但是不能 run case,也不能输出 report。所以,如果需要自动化测试的 total solution 的话,还是要 Rails 或者 Django 搭建吧?

#6 楼 @allengaller 应该可以,它和 cucumber 应该差不多,用 DSL 描述 testcase,然后后台用 ruby 实现。对于不会编程的测试人员的确很友好。我是在 2 年前用的 fitness,不过当时倒是没觉得好。

@allengaller FitNesse 可以 run test case 啊,运行的结果可以算是 report 吧。它的使用方法好像有好几种,既可以针对某业务系统测试,好像也可以运行本地程序脚本吧(看文档似乎可以,但不大确定),很久以前简单使用过它(现在已经转 selenium 了),帮不上你了,呵呵

#2 楼 @hooopo 作为 Rails 基础设施的 erb,只能拼凑代码,逻辑性很受限制啊。还是需要元编程。

12 楼 已删除

代码检查:https://github.com/bbatsov/rubocop 单元测试:http://rspec.info/

自动化测试还不知道用什么。

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