深入解读Ruby自动化测试作用

一个好的自动化测试方式对于测试员来说是相当重要的。下面我们向大家介绍的是关于Ruby自动化测试的一些方法介绍,希望对大家有所帮助。

自从我开始着手研究 Watir,就慢慢对自动化测试有了新的认识,这些认识也促使着我的研究越来越深入。12 年之前,Brian Marick 曾告诉过我开源的开发人员应该将自己的认识和观点分享给他人,这样也能让社区更清楚他们工作的目的。那我也来分享一下我的认识吧。

自动化测试系统存在三个关键因素:语言、驱动程序和测试工具。您编写测试用例及扩展测试系统时都需用用到语言,所以编程语言曾一度令我着迷,如 Perl、Python 和 Ruby。而且我还发现测试人员往往更能将各种编程语言运用得得心应手。尽管我有充分的理由偏爱Ruby自动化测试,但是其他一些较好的自动化测试系统却使用的是其他的编程语言。事实上在过去的几年里,我用过 Perl、Python 和 VB 建立测试框架,因为这些通常是客户端已使用的语言。另外,相比商用测试工具套件常使用的私有语言,我更侧重使用全功能的编程语言,可能因为我对私有语言已失去了耐心。

选择语言的范围很广,但是寻找一个合适的驱动程序就相对困难很多。驱动程序是用于您应用程序驱动的,就像 Watir 是一款浏览器的驱动程序,适用于网络应用程序的驱动。驱动程序可以对语言的选择起到决定性作用。几年前,我针对命令行应用程序使用的驱动是 Expert,其相对应的语言是 TCL,所以对应的工具套用的也是 TCL 语言。我开发 Watir,是因为我想用 Ruby 的浏览器驱动程序。使用 Ruby 的 Watir 是我们针对网络应用程序测试的解决方案。

测试系统的第三个关键因素即测试工具,它主要负责执行测试用例,以及收集、报告结果。在我们开发初期,我们都是用 Test::Unit,这是一个基于Ruby自动化测试的测试工具,可用于单元测试,同时也可用于功能测试。近期,也有些 Watir 用户开始使用 Rspec 或 Cucumber,但是也有些人不喜欢使用现有的测试工具,而更喜欢自己构建。

我是在开发商用测试工具套件(如 SilkTest 和 WinRunner)时有的这些认识。尽管这些套件包经常被认定为工具,但我发现他们实际上是压缩了一系列的集成工具。它们的使用预期往往不能满足测试人员的实际需求。就像数据驱动测试期间,我们需要打散原有的套件,然后按一种更加合理的配置重新组装。所以我需要测试人员对测试系统内每个单独的工具都能清楚地了解。

许多新的 Watir 使用者在区分 Watir(驱动程序)结点和 Ruby(语言)起点时会有困难,这是因为他们对这两者的功能未能清楚地理解。我得知一些教 Java 的老师不喜欢学生去使用 IDE(如 Eclipse 或 Netbeans),而更希望他们能学习使用一些需要的工具,如编辑工具和压缩工具,以了解它们的功能。同样的,我也希望测试人员能更清楚地了解测试系统内不同工具和部件的功能。

相关推荐