软件测试自动化框架简介
据文件中;④在编辑数据文件时,必须注意测试脚本所要求的传输格式,否则会在处理脚本时产生错误。如由专门的技术人员对其进行维护,依赖于数据驱动脚本的自动化测试框架实现起来更简单、快捷。但是,维护工作困难,而且还需要保持这种数据驱动的模式,这样,即便长时间的维持也会导致失败。
3.关键字驱动的自动化测试
关键字驱动的自动化测试(也称为表驱动测试自动化),是数据驱动自动化测试的变种,可支持由不同序列或多个不同路径组成的测试。它是一种独立于应用程序的自动化框架,在处理自动化测试的同时也要适合手工测试。关键字驱动的自动化测试框架建立在数据驱动手段之上,表中包含指令(关键词),而不只是数据。这些测试被开发成使用关键字的数据表,它们独立于执行测试的自动化工具。关键字驱动的自动化测试是对数据驱动的自动化测试的有效改进和补充。
关键字驱动的自动化测试的整个过程所包含的功能都是由关键字驱动的,关键字控制了整个测试过程。下面以“Post a Payment”为例,说明这种自动化测试方法是如何运作的(表1)。
优劣分析
关键字驱动的自动化测试框架是一种截然不同的思想,它把传统测试脚本中变化的与不变的东西进行了分离,这种分离使得分工更明确,并且避免了它们相互之间的影响。 这种模型的开发和实现与传统的测试流程相比可能是困难的,最耗时的,因为,我们正在努力地将我们的测试和自动化工具以及应用程序本身的变化完全隔离开来。为了实现这个目标,最重要的是要增强自动化工具所提供的组件功能,例如,错误纠正、避免和数据同步。但是这样的投资是一次性的,一旦开发结束并投入使用,它给我们带来的效益是巨大的,是自动化测试框架中最容易维护和使用的,而且可以反复运用于各种应用中,长期发挥作用。
另外,现在已经有一些符合需求的商业化产品可供使用,减少了实现这种框架的困难。利用关键字驱动的自动化测试框架,测试人员不需要录制测试脚本,而是设计测试脚本。
4.混合的自动化测试框架
结合以上几种自动化测试框架的比较,目前最为成功的自动化测试框架应是综合使用数据驱动和关键字驱动的自动化测试框架:以数据驱动的脚本作为输入,通过关键字驱动框架的处理得到测试结果,完成自动化测试过程。这样可以使数据驱动的脚本利用关键字驱动框架通常所提供的库和工具。这些框架工具可以使数据驱动的脚本更为紧凑,而且也不容易失败。
关键字驱动的自动化测试框架模型
下面将介绍一种以关键字驱动自动化测试框架思想为指导的自动化测试实现方案——关键字驱动的自动化测试模型,它是由SAS Institute的Carl Nagle开发的。图2描述了该测试模型的结构。
这个模型主要由核心数据驱动引擎、组件函数、支持库和应用映射表组成。自动化测试首先由初始脚本开始执行,这个脚本把高层测试表传递给高层驱动器,高层驱动器在处理这些表的过程中,遇到中层测试表后就调用中层驱动器,中层驱动器处理中层表时也作类似的处理。当低层驱动器处理低层表时,它尝试着使应用与测试保持同步。当低层驱动器遇到对某一个组件的低层关键字组件时,它判断这个组件的类型并调用相应的组件函数模块来处理这个指令操作。所有这些元素都要依靠映射表中的信息,它是自动化测试模型和被测应用程序的桥梁。
●应用映射表
应用映射表是自动化测试模型中最关键的组件之一。在进行测试设计之前,测试人员首先对应用中的每一个对象定义一套命名规范,并利用映射表把这些名字和自动化工具识别的对象名联系起来,使工具能准确地定位和操纵对象。我们的测试脚本只需进行单点维护。在上面的例子中,如果按钮的名字或显示文字发生了变化,那么脚本中所有涉及这些名字的地方都要进行修改。如果我们建立这样一个映射,用逻辑对象SavePushButton表示真实的确认保存的按钮对象,那么这个例子就可以写成“Click SavePushButton”。当按钮的名字或显示文字改变时,只需要快速修改一下映射表中对应的识别方法就可以了,而不用修改脚本(表2)
●组件函数
组件函数是实现用户对界面对象操作指令的函数,一个组件对象的类型对应一个组件函数库。例如对于一个文本框对象,测试人员可能会对它执行多种操作:输入文本、验证文本框的值、验证文本框的某些属性等,实现这些操作行为的函数就被放在文本框的组件函数库中。一般的测试工具都提供了这样的函数,而我们可以在其中加入额外的代码来检测错误、纠正错误和帮助同步,这类代码是实现无人职守的自动化测试所必需的。
组件函
- 软件测试术语整理(08-07)
- 基于软件测试技术的FPGA测试研究(07-16)
- alpha测试和beta测试(07-01)
- 黑盒测试方法揭密(01-14)
- 完整黑盒测试的五个阶段与操作步骤(01-20)
- LM-STAR 基于NI 软件测试系统节省百万成本(02-27)