如何使用Selenium测试工具对Ruby on Rails和Ajax应用程序进行功能测试 - 编程入门网
如何使用Selenium测试工具对Ruby on Rails和Ajax应用程序进行功能测试时间:2011-07-25 IBM Christian Hellsten验收测试(也称功能测试)是用来测试手工任务的功能的,但是手工测试这些任务可能很花时间,并 且容易出现人为的错误。在本文中,作者为架构师、开发人员和测试人员展示了如何使用 Selenium 测试 工具来自动化验收测试。通过自动化测试,可以节省时间,并消除测试人员所犯的错误。文中还给出了一 个例子,以演示如何将 Selenium 应用到现实中使用 Ruby on Rails 和 Ajax 的项目上。 Web 应 用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。 但是手工执行的任务容易出现操作人员人为的错误,也比较费时间。因此,尽可能将这些任务自动化,以 消除人为因素,这是一种很好的做法。于是 Selenium 之类的测试工具就有了用武之地。Selenium 帮助 您自动化验收测试,从而可以构建经过更严格测试、因而更为可靠也更易于维护的软件。 验收测 试也称黑盒测试和功能测试,是测试和检验应用程序是否能按照涉众(stakeholder)的功能性需求、非 功能性需求和其他重要需求来运行的一种方法。验收测试是单元测试和组合测试的补充,后两者通常是使 用 xUnit 框架编写的。验收测试也可以使用编程语言来编写,但是 Selenium 和其他类似的工具,例如 Fitnesse,也支持用特定于工具的文档格式编写测试。 验收测试与单元测试和组合测试有以下不同之处: 应用程序是作为一个完整的端到端实体来测 试的,而不是像单元测试和组合测试那样,只是测试一个类或一组类。 验收测试是在用户界面( 例如一个浏览器)上执行的,而不是在 Web 应用程序界面上执行的。 编写测试用例的人不一定知 道应用程序的内部结构,因此也被称作黑盒测试。非技术性用户也可以编写验收测试。 背景知识 在讨论 Selenium 之前,我要介绍关于以下三个话题的一些背景知识,因为这些话题虽然不是本 文的主题,但是和本文密切相关: 持续集成 Ajax Ruby/Ruby on Rails 持续 集成 持续集成的目标是自动化构建和测试过程,以便每天自动运行一次或多次这些过程,而不是 每个月手动地运行一次。使用持续集成的最大好处是,代码的更改会定期地自动被集成。如果系统受损, 没有构建成功,Apache Continuum 和 Luntbuild 之类的持续集成工具可以自动通过发送电子邮件通知团 队。 Ajax Ajax 是 Asynchronous JavaScript and XML 的缩写,这是为相当老的技术新创造的一个 术语。Ajax 背后的主要思想是,由于只需更新部分页面而不是整个页面,所以 Web 应用程序可以更快地 对用户操作做出响应。 Ajax 将更多的复杂性引入到 Web 应用程序中,这一点也反映在测试中。这是因为 Ajax 就像它的名 称所表明的那样,使用 JavaScript 和异步 HTTP 请求来更新页面内容。每个浏览器在实现中与其他浏览 器相比有一些小小的不同。Selenium 是测试和检测这些差异的很好的工具,因为它在大多数流行的浏览 器中都能够运行。 Ruby/Ruby on Rails Ruby 是一种开放源码的解释型脚本语言,用于快 捷、容易地进行面向对象程序设计。它提供了大量的库,而且简单易用,还具有可扩展性和可移植性。该 语言是由 Yukihiro “Matz” Matsumoto 创造的,目的是让程序员将更多的注意力放在手头 的任务上,摆脱语法的烦恼。 Rails 是由 David Heinemeier Hansson 创造的一种全栈的(full -stack)、开放源码的 Ruby Web 框架。Rails 的目标是使现实中的应用程序编写起来需要的代码更少, 并且比 J2EE 和 XML 之类的语言更容易。所有层都能够无缝地一起工作,因此可以使用一种语言编写从 模板到控制流乃至业务逻辑的各种东西。Rails 使用 Y |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |