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

发表于:2012-01-13来源:未知作者:娃娃点击数: 标签:自动化测试
数据驱动测试一用变量取代在脚本代码中固定的名字、地址、数据等,通常通过变量从外部(文件、电子表格、数据库等)读取数据的测试,数据驱动自动化测试通常是开发自动化测试工具的最终目标。[1] 映射一(1)识别在不同组,或相同组内对应项的过程。(2)是(

  数据驱动测试一用变量取代在脚本代码中固定的名字、地址、数据等,通常通过变量从外部(文件、电子表格、数据库等)读取数据的测试,数据驱动自动化测试通常是开发自动化测试工具的最终目标。[1]

  映射一(1)识别在不同组,或相同组内对应项的过程。(2)是(1)的一个表示。(3)一个关联的多元性。(4)在数学上,将每个定义域集合元素(输入)均指派为值域集合上某个元素(输出)的函数。一个一对一映射将每个定义域元素均指派为值域中一个唯一元素。可能存在未被映射的值域元素。一个到上映射将每个域元素至少指派为一个定义域元素。几个定义域元素可映射为同一个值域元素。一个双映射同时为一到一和到上的。每个定义域元素被确切映射为值域上的一个元素,而每个域元素至少被影射为定义域上的一个元素。[2]

  脚本一以文件形式保存,具有正规语法的数据和/或指令,通常用于测试执行自动工具中。测试脚本可以实现一个或多个测试用例、导航、设置或清除设置及比较。用于手工测试执行的测试脚本为策划过程。[3]

  录制/回放一某些测试执行工具的一种功能,将测试输入记录(捕获)为脚本,然后执行软件时可以回放这个脚本。[3]

  随着软件规模和复杂程度的增加,在软件测试工作需要更多时间的同时,项目周期却比以前大大缩短,如何在有限的时间内完成软件测试工作,尽最大的可能暴露软件中隐含的缺陷,是软件测试工作中亟待解决的问题,而软件测试自动化将是获取可接受的测试覆盖率的一种有效途径,也是软件测试发展的必然趋势,然而,"工欲善其事必先利其器",成功的自动化测试离不开一个合适的测试工具,自动化测试工具的购置涉及资金、资源和人员等多方

  面的因素,是一项系统工程(1)。一般而言,自动化测试工具的选择与购置大致遵循下面的程序:

  评估与选择是自动化测试工具购置活动的主要环节之一,前四个阶段主要是定义需求并确定侯选工具集,本阶段要对工具的各个功能特性进行逐一比较和综合评估,从候选工具中找出质量和性能价格比等方面综合评分最佳的工具。

  测试自动化是一项长期的努力,测试工具的选择应从长远发展的角度出发,综合全面考虑工具的特性。

  1 录制/回放(Record and Playck)

  在自动化测试工作中,该功能是绝大多数专业测试人员开始自动化测试尝试的第一步,他们通常会先录制一个简单的脚本(这类似MicrosoftWord中录制宏一样),然后回放、阅读和研究这些脚本。在日后的测试中逐渐会减少直接的录制/回放,而改用直接编写脚本或用工具内置功能测试对象、数据库等,但这是自动化测试所走的第一步,如果工具不能识别应用程序对象而无法进行对手工测试的录制和回放,日后测试自动化的实现将会遇到巨大困难而导致失败。在评估中应认真考虑工具的这一功能,主要从以下几个方面评价录制/回放功能:

  (1)录制/回放一个手工测试是否简单容易?

  (2)是否支持底层捕获,如鼠标拖动、精确屏幕定位等:

  (3)在录制/回放中能否正确地识别对象?

  (4)录制形成的脚本是否易于阅读与理解?

  2 Web测试

  网络的快速发展.使基于WEB的应用越来越多,而且已经成为应用程序开发的一种趋势,从长远发展的角度考虑,测试工具应提供基于WEB的测试功能而不仅仅只提供基于C/S模式的功能。C/S应用程序与基于WEB应用程序的测试有很大的差别:C/S应用程序其客户都是已知并定义好的,而且网络操作系统也是已知的,但测试基于WEB的应用程序却远远不同:客户可能来自不同的地方(如美国、中国乃至非洲等),使用不同的浏览器,不同的屏幕分辨率,不同的语言,不同的连接速率和不同的操作系统(Mac、L,inux、Windows等),因而建立一个基于WEB应用的测试环境成本远远高于C/S模式。在评估测试工具时,需要考虑工具是否支持超文本表格、框架页面、I)COM、不同平台的浏览器、网站映像和连接等,在评估中,以下几个特性要考虑在内:

  (1)工具能否提供页面装载的提示信息?

  (2)是否可以设置工具让其等待页面图片装载完毕?

  (3)能否判定测试页面中的超连接是否存在?

  (4)能否测试WEB页面对象功能,如对象的使能状态、是否包含数据等?

  (5)是否允许按标题去查找WEB页面上的某一种类型对象或定位到特定的对象?

  (6)能否从页面上提取数据?如标题,隐藏的表格单元元素等。

  3数据功能

  一般而言,应用程序都有接收和存储数据功能。为了测试这些应用程序,我们需要设计和产生这些数据输人到应用程序中。在自动化测试中,若工具提供这个功能,则在测试中我们可以定义数据产生规则,让工具自动产生大量这些数据对应用程序进行测试,该功能在测试数据库应用程序尤其有用。在另一方面,该功能在日后创建可用于多个开发项目的,基于数据驱动的自动化测试脚本库时非常有用,因而自动化测试工具应能产生和操纵这些数据,其需要或应该满足的特性如下: (1)能自动地产生测试数据;

  (2)数据可以指定数据类型;

  (3)能否从其他文件或电子数据表中创建和读取数据:

  (4)可以随机存储这些数据。 4对象映射(Object Mapping)功能

  如果软件工程师在开发软件时所用的都是一些标准而非定制的对象,就不需要自动化测试工具提供这一功能,但实际上几乎每个应用程序都包含一些非标准的控件或对象,目前市面上的多数工具都能支持应用程序中使用的标准控件,如Pushbut-tons、Edit boxes、Checkboxes、Radio buuons等,但对一些定制的控件却无能为力,如果工具提供对象映射功能,则当一个定制控件表现类似于一个标准控件时,可以通过映射功能,让其归类为这一类控件。对象映射功能的实现通常考虑以下问题:

  (1)指定一个定制控件行为或表现类似与某一类标准控件,能否映射成该类控件?

  (2)映射的控件是否支持该类标准控件的所有方法?

  (3)能否增加定制控件到工具的控件集里? 5图像测试

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