软件测试中使用 Rational Robot 实现软件自动化测试(三)

发表于:2009-09-03来源:作者:点击数: 标签:软件测试自动化rationalRATIONALRational
软件测试中使用 Rational Robot 实现软件 自动化测试 (三) Robot支持的环境 目前 Robot 对几乎所有流行的应用环境多有良好的支持和工作表现。尤其是对象 HTML、 Java 和 .NET 应用、 Visual Basic,、PowerBuilder,、Delphi、 Oracle 表单 和 MFC 控件(控

软件测试中使用 Rational Robot 实现软件自动化测试(三)

Robot支持的环境

        目前 Robot 对几乎所有流行的应用环境多有良好的支持和工作表现。尤其是对象 HTML、Java 和 .NET 应用、 Visual Basic,、PowerBuilder,、Delphi、 Oracle 表单 和 MFC 控件(控件最常用在 C和 C++ 的应用中)有着非常强大的支持。

        在 Robot 覆盖了几乎所有的应用环境的同时,仍然存在一些用很少被使用的语言和环境创建的程序部分,对于这些环境, Robot 具有一种通用的记录引擎可以捕获几乎所有的基本界面交互。因此可以说,使用 Robot 能过满足几乎所有的测试环境要求。

    测试的验证点

        验证点是一个 Robot 测试脚本中的一个术语,在验证点上你可以检查某些系统表单的行为。

        在 Robot中最常用的验证点是对象属性和对象的数据验证。这些验证点被用于捕获对象的状态和对象测试期间的数据。在 Robot 中创建验证点与选择想得到的验证点和识别想要被测试的对象一样的简单。

        但是很多情况下我们想要的验证点可能并不是眼睛可以看到的控件。就像下面图中显示的,测试者看到的是浏览器中各个元素的结果值,这些结果值 Robot 也可以看到,但测试者却看不到网页上对象的属性,比如网页的 Cookie 属性,但是这些对象属性都可以被 Robot 看见。

    Robot 的测试验证点

dddd

        一旦验证点被捕获了,信息就会被存储在测试数据区域。在执行回放时,测试捕获的数据将与测试数据区域中的数据基线进行比较。如果比较结果有任何的不同,他们将获被标记为"失败"并被记录在测试日志中。

        Robot 还具有对整个网站的断裂链接进行检查的能力,这也是通过设置验证点实现的。

    Robot 对增强、改进测试脚本的支持

        一旦脚步录制完成,在某些情况下,你可以直接执行它。对于一个简单的脚本,可能不需要进行任何的改进工作。然而,多数的测试脚本将从通过改进与增强中受益。改进和增强测试脚本的工作非常简单,就像在程序代码中添加几行代码以处理一些条件逻辑一样简单,这对于有一点开发语言基础的人来说也是很容易的工作。举一个简单的例子,你需要测试在给定的环境中计算机屏幕上是否弹出了一个窗口。在这个例子中,你只需要在测试脚本的代码中添加简单的类型声明以处理窗口是否出现。

    灵活的编程语言

        Robot 使用 SQA Basic 语言对测试脚本进行编辑。SQA Basic 遵循Visual Basic 的语法规则并且为我们提供了非常适合与测试环境的方便的阅读语言代码的方式。通过使用这种语言,即便是很少编程经验的测试人员也能够很容易的理解代码的含义。对于哪些有丰富编程经验的人来说,他们将会发现,SQA 可以非常灵活的进行一些高级的编程,比如利用 COM 对象或者访问Windows 的编程接口。

        SQA Basic 语言是从 Visual Basic 语言中演化而来的,同时它对语法进行了扩展,添加了一些测试专用的命令。这些新的命令扩展了 Robot 对所有 GUI 对象的编程访问能力,同时也使通常的编程任务―象创建一个数据驱动的测试―更加的简单。

    Robot 灵活的满足了客户需要的扩展性

        对于测试人员来说,无法实现自动化测试的一个共同原因是,他们无法测试自定义的控件。自定义的控件通常是被开发人员编写的,或者是从特定的控件供应商买来的以填补开发的缺口,而这些控件的并不一定会保证是在标准的控件环境下被创建的。这些控件使开发人员的工作更加简单的同时,却给测试人员的工作带来了极大的麻烦。

        通常的情况下, Robot的通用录制机制将可以支持多数的自定义的控件。但是也存在着 Robot 本身无法访问到被给的属性或者控件的数据的情况。在这种情况下,也不要感到无助, Robot 具有非常好的扩展接口,这个扩展接口使 IBM Rational 的合作伙伴可以扩展 Robot 的功能,以支持几乎任何的控件。这就可以使测试人员从问题控件中解脱出来,将精力放到测试任务之中。 

原文转自:http://www.ltesting.net