微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > SilkTest在数据驱动技术中的应用

SilkTest在数据驱动技术中的应用

时间:06-03 来源:互联网 点击:

0 引言   

SilkTest是美国Segue公司开发的一种软件GUI的自动测试工具。在自动化测试领域,Silktest作为近年来的主流回归测试工具,得到了越来越多的关注和使用。SilkTest是业界领先、对企业级应用进行回归测试的产品,可用于测试Web,Java或是传统的C/S结构。SilkTest提供了许多功能,能使用户高效率地进行软件自动化测试。

1 SilkTest的主要特点及工作原理   

1.1 SilkTest主要特点   

SilkTest的主要特点为:   

(1)整合开发环境(IDE)。用户可以用它来开发、编辑、运行、分析和调试4Test文件。

(2)真正的对象识别。

(3)内置的全年全天候(24×7×365)无需人为干预测试时的恢复系统(Recovery System)。

(4)完全分布式测试。可以针对C/S应用进行测试,可使硬件资源有效使用。

(5)可扩展、高便携性、可编辑、易于维护的脚本语言(4Test Language)。

(6)用于重用性更好、更易于测试及脚本维护的GUI提取层(GUI abs Traction Layer)。

1.2 SilkTest的工作原理   

在SilkTest看来,被测试软件(AUT)由许多GUI对象组成。用户在进行测试时通过键盘/鼠标与这些对象交互。具体应用时,SilkTest通过面向对象的概念,(类/属性/方法)识别这些GUI对象;测试时模拟用户的操作,与这些GUI对象交互,通过SilkTestrepository自动记录用户操作过程中对各个GUI对象的操作,然后将这些操作转换成4Test的脚本,写入脚本程序中。当对软件做了修改并重新运行这个测试时,SilkTest就可以利用测试回放功能把测试前所做的输入操作重新应用到本次测试中,并自动比较软件对本次测试和以前测试的响应是否相同,如果不同,就表明对软件的修改产生了新的错误,实现自动测试的目的。

2 SilkTest在数据驱动测试中的应用   

数据驱动技术实行的就是测试脚本和数据的分离技术,使得测试脚本成为可以驱动所有类似测试用例组的通用脚本,使测试用例的修改和维护更加容易,简化了回归测试。

2.1 测试环境   

使用SilkTest的集成开发环境IDE,在开发基于应用服务器的分布式应用软件过程中,往往需要对服务器和IDE工具之间的协同工作能力进行测试,以保证开发出的应用程序最终可以正确地安装到应用服务器上并正常工作,其典型步骤如图1所示。

如图1所示,首先,在IDE中将服务器端组件部署到应用服务器上①。这需要在IDE中进行一系列的手工操作;然后,需要在IDE中生成或配置与服务器端组件相对应的客户端组件③;最后,从IDE中运行客户端组件,进行客户端与服务器端交互操作测试,并产生测试结果②。

2.2 SilkTest在数据驱动中的具体应用   

考虑到上述测试的部署、配置和运行的操作主要在集成开发环境中进行,因此可以通过使用SilkTest录制操作来实现测试的自动化。SilkTest将所记录的图形用户界面对象转换成4Test语言对象。由于4Test语言是面向对象的,所以可以对4Test语言脚本进行各种修改,也可以用变量代替录制测试步骤过程中使用的实际值,从而实现数据驱动的自动测试。在测试IDE工具软件时,不同测试用例组的操作之间具有极大的相似性,因此存在采用数据驱动的方式来进一步优化用SilkTest录制测试操作的可能性。也就是说,录制一个典型的测试流程,然后通过对SilkTest录制的脚本进行编程修改,将其改造成可以驱动全部测试用例的通用驱动程序。

(1)用SilkTest实现数据驱动的回归测试的流程,如图2所示。

(2)具体的录制修改过程。根据SilkTest的要求,在用SilkTest录制测试步骤之前,应当首先录制与测试过程中的鼠标或键盘事件相关AUT的各个GUI控件。用SilkTest记录这些控件时,只需要将鼠标依次在GUI控件上划过即可。SilkTest会将这些控件转换成相应的4Test语言对象。SilkTest在记录控件的同时,也记录了它们与父控件之间的隶属关系。所记录的GUI控件对象及其隶属关系称为测试框架(Frame)。SiIkTest还会自动为所记录GUI控件命名,但是这些名称通常是由控件名和序号组成的,不易于理解,因此需要将所记录的控件用易于理解和记忆的名称重新命名,以便于今后的开发和维护。

在测试框架录制完成之后,需要录制手工执行的典型测试步骤。SilkTest会将记录下来的手工操作步骤转换成4Test语言的脚本。下面的代码是记录配置服务器连接操作的一段4Test语言代码示例:

在上述代码中,用4Test语言记录了在部署配置对话框中输入服务器名、端口号、登录用户名和密码等内容,并点击“连接”按钮与服务器进行连接。应当注意的是,代码中使用录制时输入的具体值作为各个方法的参数,SilkTest运行测试时会自动将这些值填充在部署配置对话框的相应位置上。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top