Rational 公司邀请我看了看它们的新产品,Rational PobotJ。它们邀请我有两个原因。一个原因很明显,就是由于我长时间进行测试自动化的工作,了解大量的人们正确使用(以及误用)这些测试工具的方式。第二个原因就是由于我从来没有使用过Rational Robot或者该公司的Test Manager模型,所以凭借我的自动化背景可以清晰地洞察出他们是如何设计软件测试自动化解决方案的。 简介 Rational 公司邀请我看了看它们的新产品,Rational PobotJ。它们邀请我有两个原因。一个原因很明显,就是由于我长时间进行测试自动化的工作,了解大量的人们正确使用(以及误用)这些测试工具的方式。第二个原因就是由于我从来没有使用过Rational Robot或者该公司的Test Manager模型,所以凭借我的自动化背景可以清晰地洞察出他们是如何设计软件测试自动化解决方案的。
我拿到了一份Rational RobotJ的β版,然后就急于开始研究Rational 的最新工具会给软件测试带来什么样的变化。多年来,我已编写了很多Rational Visual Test自动化脚本,我很想看看这个工具在测试基于Web的应用程序领域中会取得什么样的成就。
我花了几分钟安装该工具,到处点击来熟悉界面的内容,主要是想看看这到底是个什么东西,最后我决定先使用一下工具栏中的Record new RobotJ script 按钮。这东西到底怎么样,我暗自思忖,且看看它会创建出什么样的冗长脚本来,既可以准确地记录我的操作,还可以保持同步,以保证回放功能确实好使。当使用记录和回放(record-and-playback)工具时,我稍稍有点嘲讽心理。
虽然更喜欢旧式优秀的匆匆编写代码的方式,但是我还是渴望了解这个工具的更多功能。不过,使用记录器是了解有关自动化工具以及正确使用该工具的最佳方式之一。您马上就会发现,记录器不仅仅曾经是(现在也是)深入学习RobotJ的伟大工具,它也是Rational所希望的帮助人们创建大量测试脚本的最佳方式。它也确实做得很棒!
背景 我曾经听到过有关测试自动化的传言,据说Rational 准备发布一种新产品,主要用于测试HTML与基于Java 的web 应用程序。而且,考虑到面向对象编程语言的特有优点,准备使用Java 作为其编程语言。我很想看到它的面世,越快越好。这肯定是一种新型有关编程的玩具语言,我已经等不及要使用它了。
多年来我一直选择Rational Visual Test 编写软件测试自动化的脚本。它使用类似Visual Basic 的语言,编程进行起来简单直接,同时它也具备使用指针处理复杂数据结构的高级功能,这也使它成为一种真正的语言。Visual Test 甚至在版本6.0中加入了测试网页的功能。该功能确实好使,而且一直在发挥着作用,但是在测试工具中加入此功能的最初目的是用来测试Microsoft 的Windows 程序的。Visual Test 一直努力成为终极的、无所不能的软件测试自动化工具,而且可以肯定地说,多年来它一直如此。
现在,我仍然使用VT ,即使对于那些非测试的解决方案。但是,当一种主要用于测试web应用程序的新型工具即将发布的时候,我确实想看看它到底能够实现什么功能,而且我也十分喜欢使用Java 作为脚本语言。
我一直尽力将良好的编程实践教授给我的学生和客户,同时还有创建类似面向对象脚本的方法,以及使用并不是那么面向对象的语言完成数据隐藏、封装和简单形式的继承。这些方法都十分有效,但是如果使用面向对象语言的话,就不仅仅是鼓励使用这些方法那么简单了,而是可以加强进行这些实践。这就是我为什么喜欢RobotJ 使用Java 作为其脚本语言的原因了。
测试 我想我还是从简单的地方开始吧:单击一些链接来看看它在屏幕显示不下时是否较好地处理了浏览器窗口的滚动以及页面加载的滞后时间是否较长。但是,随后我又从另一个角度进行了一下思考:如果测试驾驶一辆承诺具有强大发动机和超速悬挂装置的新型轿车,我能仅仅坐在那里来验证转弯信号是否好使吗?或者来检验车载音响中的噪声程度吗?好,是的,确实如此。但是除此之外,我肯定想要亲自驾驶它,经过大量的弯道,同时收听广播中的Talk of the Nation。
显然,我不会第一次驾驶就经过太多的弯道,因为我不想撞到墙上。我只想让我记录的源代码确实可以进行工作;我还是对记录的脚本有点怀疑,不知道它是否能够正常工作。于是,我单击了记录按钮,并且按照下述步骤进行操作:
|