选择正确的GUI测试自动化工具(2)

发表于:2015-01-08来源:uml.org.cn作者:不详点击数: 标签:
因此你可以怎样确信你已经识别了一个将使你能够构建一个系统并利用优秀的编程实践实现它的工具呢?让我们来看看在任何优秀的工具中都很重要的12个功

  因此你可以怎样确信你已经识别了一个将使你能够构建一个系统并利用优秀的编程实践实现它的工具呢?让我们来看看在任何优秀的工具中都很重要的12个功能。

  功能检查表

  1). 脚本语言

  本文中描述的其他所有功能的一个先决条件是工具必须有一种包含了常见编程构想的脚本语言。至少,它应该:

  ·使你能够编辑已录制的脚本

  ·支持变量和数据类型

  ·支持矩阵,列表,结构,或其他复合的数据类型

  ·支持条件式的逻辑(IF和CASE语句)

  ·支持循环 (FOR, WHILE)

  ·使你可以创建和调用函数

  如果工具使用的是象VB或C一样的常用语言,你会获得一个附加的好处:很容易找到这些语言的书籍或培训课程,并且在你组织中的大多人可能已经知道它们。

  语言越强大,你潜在拥有的控制就越多。成熟的脚本语言使你能够创建更加成熟的脚本。当然,拥有一个复杂语言也使创建比所测软件更复杂的自动化测试变为可能。因此寻找一门可以带给你所需的力量和灵活性的语言,并且为使用这一先进的功能明智地设计你的测试。

  2). UI元素识别器 element identifiers

  为了编写真正的可以测试一些东西的测试脚本,你应该确信测试工具能够把UI上的元素识别为对象,而不是试图通过坐标指向它们。

  如果你正在测试一个Windows的应用程序,并且开发人员正在使用MFC (Microsoft Foundation Class library) 控件的话,那么大多数可用的测试工具就都没有什么问题。然而,如果你的应用程序是使用Java Swing控件(a.k.a. JFC,或 Java Foundation Class library)编写的话,有些工具会比其它的工具工作地更好。在评估期间,确信工具可以识别多种典型窗口中的UI元素。

  有些UI元素根本不是真正的控件,这是真的,它们只是一些当你点击它们时可以作些事情的位图。使用位图UI元素比使用那些不能和任何自动化测试工具一起运行的真正的控件更好。如果你的软件是这种情况的话,在工具评估时把开发人员一起叫来以便他们可以第一时间看到为什么使用标准的控件对于提高软件的可测试性是很重要的。

  3). 可重用的库文件Reusable libraries

  设想你正在测试一个允许你查询数据库中记录的应用程序。许多产品的功能只可以在有一组可用的查询结果的情况下工作,因此大部分的测试都要包含执行一个查询所需的步骤。现在试想一下轻微地改变一下步骤的顺序:你需要更新每个脚本。

  可供选择的方法是创建一个执行查询的函数或子程序。这个函数变成了一个可重用库文件的一部分。每个脚本调用这个函数比重新定义那些步骤更好。如果你在一个地方(函数库中)定义了事件的进展,你将使你所有的脚本更加好维护,这样胜于在需要执行这些操作的每个脚本中定义它们。

  为了寻找一个支持可重用库的工具,有两件重要的事情需要做。首先,要确保你用工具创建的脚本能够轻松地调用你放在库文件中的函数。如果工具只允许你调用在当前脚本中创建的子程序那是不足够的。第二,确信函数可以带参数。例如,如果你创建了一个登陆的函数,你想要在每次调用函数的时候指定用户名和密码(而不是在函数中嵌入这些信息)。

  4). 外部的库文件Outside libraries

  除了创建你自己的库文件之外,你通常会发现访问外部的库文件是非常有用的。在Windows里,这意味着你应该能够调用.dll文件。举个例子,思考一下一个已构建的与关系数据库一起运行的C/S系统。所测试的软件使用了数据库私有的API(Application Program Interface)。如果自动化测试可以使用相同的API,它们可以变得更加强大。他们可以检查不允许访问的用户界面。例如,它们可以检查一个已更改的值是否已经被写到数据库中,而不仅仅只是在屏幕上更改了。即便UI没有给权限给它们记录,它们都可以检查交易是否成功并且完全被记录了。一般说来,这些测试可以比通过验证UI上的值更加准确地判断“成功”或是“失败”。

  如果你正在一个Windows系统上测试,你也应该有访问Windows API的权限。Windows API 使你能够获得系统信息,这是非常困难的或者其他方法不可能获得的。例如,在你的自动化脚本中获取或设置注册表的键值的时候是非常有用的。

原文转自:http://www.uml.org.cn/Test/200608111.htm