软件自动化测试工具的评估与选择(2)

发表于:2012-01-13来源:未知作者:娃娃点击数: 标签:自动化测试
一般而言,这功能不是测试工作的主要组成部分,但却不能缺少,有时必须要测试一个位图或类似的图片,在多数的 Windows 应用程序中会带有一些绘图控件

  一般而言,这功能不是测试工作的主要组成部分,但却不能缺少,有时必须要测试一个位图或类似的图片,在多数的Windows应用程序中会带有一些绘图控件,而在GIS(地理信息系统)应用软件的测试中,这一功能作用尤为重要。

  (1)工具是否提供OCR(optical character recog-nition)功能?

  (2)是否支持图像之间的比较?

  (3)图像比较速度如何?

  (4)在进行比较时,能否屏蔽特定的区域?

  6 测试/错误恢复能力 测试/错误恢复总的来说是自动化测试中最困难的部分,但对自动化测试工具而言是必备功能。而自动化测试工具的这一功能一般决定于它本身能捕获错误的数量,可以识别的错误类型以及如何从错误中恢复等等。这功能的实现一般可以从解决以下问题上得到体现:

  (1)如果测试过程中程序崩溃了怎麽办?

  (2)如果一个程序功能接收不到应该出现的提示或信息怎麽办?

  (3)如果出现错误信息怎麽办?

  (4)如果访问一个网站但返回一个错误信息怎么办?

  (5)如果无法连接数据,如何略过有关的测试?7对象命名映射

  自动化测试工具一般能录制对象的交互活动,测试工具对这些对象的识别是通过屏幕坐标或一个唯一的对象识别标志,如标签、对象ID、索引或名字等进行识别的。

  一旦已经针对应用程序建立了几十乃至上百个对这些对象测试的脚本,如果应用程序发生改变,特别是对象名字或位置、大小发生改变时,测试工具一般不提供对这些对象识别的自动修正。虽然每个工具都提供脚本字符的查找和替换功能,但逐一对脚本进行修改却非易事,如果工具提供集中式数据库,将对象识别信息存放在数据库中,那样的话只需要在数据库中对识别标志进行一次性修改就可以了,但目前几乎找不到提供该功能的测试工具,折中的方法是是用变量存放对象识别标志,并使这些变量在所有测试这些对象的脚本中都能够使用,这类似于C语言中的头文件,将一些公用信息放在一个头文件中,然后在每个需要使用这些信息的脚本前加一句代码包含该头文件即可。

  换句话说,对象命名映射就是是否允许将工具给出的对象名字用其他方式的识别标志代替,如变量等。

  8对象识别能力

  测试工具识别对象一般通过析取对象内部的信息,然后给出对象名字、ID等等,通过这些识别标志在函数调用中定位这些对象。

  测试工具通常会提供一些可以唯一的标志识别对象或窗体有关属性的详细信息,也应该提供一种通过鼠标选定对象,就可以了解该对象有关信息的关联显示或通过某种方式去浏览所有对象ID和属性的方法。大部分测试工具都提供能识别应用程序中的对象并将识别结果用一个目录树来显示的功能,一般而言只是识别能力或效率等的差别而已。

  9脚本语言拓展功能

  在自动化测试中会经常遇到的一个问题就是:工具不是万能的,有些测试利用工具目前提供的功能无法实现测试怎麽办?这涉及测试工具的拓展功能,如果测试工具的脚本语言无法实现这些方面的测试,能否可以使用其他编程语言如C、C++、DEPHI、VB等创建DLL,然后通过脚本调用这些DLL来实现,或者通过调用API等其他方法实现。这个问题一般只会在熟练使用测试工具并将工具的内在功能都已挖掘完毕才会提出,但这需要测试工具支持脚本语言拓展功能才可以。注意一点就是:有些工具提供一些扩展函数的功能,如创建用户自定义函数、方法、类,这只是已有数据类型和函数的组织与集成,而不是这里所说的脚本语言拓展功能。

  10环境支持

  测试工具能应用于何种类型的开发语言?是否支持最近的JAVA版本,支持哪个Oracle等,是否支持Windows和IJnix等操作系统?应尽可能选择语言和操作系统覆盖面比较广测试工具。

  这是一个关键的问题.如果测试工具不支持你的开发环境或应用程序,自动化测试将遇到巨大的困难,甚至失败,将不得不又回到手工测试。

  11 与其他工具的综合

  随着自动化测试的逐渐建立,自动化测试管理将显得越来越重要。自动化测试工具供应商一般都提供各自的一整套解决方案:从测试需求的定义到测试设计、测试结果管理与处理的配套工具,但各个供应商提供的工具功能各有所长。自动化测试中有可能会有针对性地购买不同供应商的不同模块应用于同一个项目中,测试工具如能解决工具之间的综合问题,则对可以对测试发现的BUG信息进行集中的分析和管理,实现不同工具、不同项目的数据共享,节省投资和提供效率。考虑问题如下:

  (1)工具的测试脚本是否可以在其他管理工具中运行?

  (2)是否可以将一个BUG信息写入到其他管理工具中?

  (3)是否能提供与WORD、EXCEl或其他工具的接口?

  12 费用

  价钱是目前国内很多公司采购工具都比较看重的因素。但相对而言,测试工具的价格大体上相差不大,即使有差别在功能上也有对应的差别。价格的差异会体现在功能的差别上,例如Visula Test就可能比Rational Robot、Win.Runner和QA Run便宜好几倍,但是功能上也会有比较大的差异,一般而言,"一分钱一分货"。

  在资金投入上,除了购买工具外,还需要每年支付工具价钱10%到20%的技术服务费。有些工具可能价钱比别的工具价钱稍微便宜,但技术服务费却高一点,从长远来看。其总投入可能不比其他便宜或甚至能更高。 13易用性

  这是一个非常主观的问题,国外曾经有人做过比较:用不同水平的测试工程师分成两个组,通过逐一和随机地选择和使用测试工具,结果是在大多数情况下,测试者对工具的易用性都没有统一的结论。随着测试者的经验累积和考虑问题的出发点(可拓展性、脚本可维护性、与其他工具的综合能力、数据驱动等)不同会得出不同的答案。值得注意的是,一般机构得出评价结论往往是在接触或试用工具三个月左右,在这期间上述因素还没有得到充分的考虑,此外易用性评价还应包括功能支持、调试能力、屏幕输出、在线帮助和用户手册等等。 综合评估上述论各个因素时可以将每一个因素进行评分排序,评分结果分1~n个等级,评价最高为n分,最低为1分。对每个评估因素,可以根据对公司本身对其侧重性加一个加权系数,评价表的右侧空白列添加其他的评估因素,得出上面的评分表,最终评价总分最高者为最优。其中评分依据如下:

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