首页> 中国专利> 一种用于关键字驱动的中心数据库的组建方法

一种用于关键字驱动的中心数据库的组建方法

摘要

本发明涉及自动化测试技术,为达到新增AW(关键字)时不必修改导航脚本的目的,本发明提供一种用于关键字驱动的中心数据库的组建方法,其中采用由静态脚本和动态脚本组成的导航脚本,并在中心数据库内存储关键字、导航关键字、及关键字实现函数之间的相互关系,然后,由静态脚本完成中心数据库的加载,并根据所需的关键字来创建相应的动态脚本;再由所述动态脚本根据所述关键字和导航关键字,通过查找所述中心数据库来获取对应的关键字实现函数;同时,所述动态脚本将测试逻辑中的关键字的参数传给所述关键字实现函数;通过执行所述关键字实现函数,即可完成相应的测试功能,并将结果返回给测试逻辑。本发明中的方法可提高开发效率,降低导航脚本的维护成本。

著录项

  • 公开/公告号CN1851695A

    专利类型发明专利

  • 公开/公告日2006-10-25

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200510100755.X

  • 发明设计人 林培兴;

    申请日2005-10-24

  • 分类号G06F17/30(20060101);

  • 代理机构44217 深圳市顺天达专利商标代理有限公司;

  • 代理人郭伟刚;易钊

  • 地址 518129 广东省深圳市龙岗区布吉坂田华为总部办公楼

  • 入库时间 2023-12-17 17:46:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-16

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20100324 终止日期:20171024 申请日:20051024

    专利权的终止

  • 2017-10-17

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20170925 变更前: 变更后: 申请日:20051024

    专利申请权、专利权的转移

  • 2010-03-24

    授权

    授权

  • 2006-12-27

    实质审查的生效

    实质审查的生效

  • 2006-10-25

    公开

    公开

说明书

技术领域

本发明涉及自动化测试技术,更具体地说,涉及一种适于关键字驱动的中心数据库的组建方法。

背景技术

在对电信设备或软件进行测试的过程中,通常是使用Key-Word Driven(关键字驱动)技术,它是基于Rational公司的Robot工具平台而实现的,通常应用于GUI(图形用户界面)的自动化测试中。

在关键字驱动技术中,测试人员会使用类似Excel工作表的表格,以输入关键字(Key-Word)的方式来建立测试用例。这个方法的整个过程(包含功能)都是由关键字驱动的,关键字控制了整个测试过程。

表一所示是一个示例性的测试用例。

                                       表一

  COLUMN1  KeyWord1  COLUMN2  Field/Screen Name  COLUMN3  Input/Verification Data  COLUMN4  Comment  COLUMN5  Pass/Fail  Start_Test:  Screen  Main Menu  Verify Starting Point  Enter:  Selection  3  Select Payment Option  Action:  Press_Key  F4  Access Payment Screen  Verify:  Screen  Payment Posting  Verify Screen accessed  Enter:  Payment Amount  125.87  Enter Payment Data  Payment Method  Check  Action:  Press_Key  F9  Process Payment  Verify:  Screen  Payment Screen  Verify Screen remains  Verify_Data:  Payment Amount  $125.87  Verify updated data  Current Balance  $1,309.77  Status Message  Payment Posted  Action:  Press_Key  F12  Return to Main Menu  Verify:  Screen  Main Menu  Verify return to Menu

其中,第一列是关键字,用于说明要执行的动作;第二到第四列,是执行第一列的动作所必需的参数;第五列用于表示该步骤是否通过。

如图1所示,关键字驱动技术的运作机制如下:

(1)测试人员以Excel建立如表一所示的测试用例文件,例如可命名为KeyWords_Web.xls;测试用例文件由关键字(如Enter、Action、Verify等)及其参数组成。

(2)测试用例运行时,驱动脚本(Drive TSL script)会运行初始化脚本(LogonTSL script),为整个测试作初始化工作,并载入控制文件(Run.txt),以获取当前要运行的测试用例(*.xls,例如前述KeyWords_Web.xls)。

(3)驱动脚本(Drive TSL script)在初始化工作完成后,启动控制脚本(Controller TSL script),由控制脚本来负责解析整个测试用例文件的关键字,例如Enter、Action、Verify等,并根据这些关键字来调用与之对应的实现脚本(User Defined TSL script)。

(4)Utility脚本(即实现TSL脚本)实际执行每个测试动作,并且使用其它列作为参数,执行完后将结果回传给控制脚本。当控制脚本执行到最后一行,整个测试用例就结束执行。

(5)当控制文件(Run.txt)中的所有用例文件(*.xls)都已运行完毕,则本次测试过程结束。

由上述可知,在对电信设备或软件进行测试的过程中,现有的关键字驱动技术有以下缺点:

(1)主要应用于GUI自动化测试,并基于Rational公司的Robot工具平台而实现,(a)它的跨平台(特指操作系统)移植性比较弱,(b)跨工具平台移植性也比较弱,(c)而且不适合应用于通信设备类产品的自动化测试。

(2)缺少中心数据库(CDB),AW(关键字)本身就是NKey(导航关键字),关键字、导航关键字、关键字实现函数之间的对应关系在驱动脚本中实现,并由驱动脚本完成关键字的导航,因此,新增关键字及其与导航关键字、关键字实现函数之间的对应关系时,必须修改驱动模块;同时,如果关键字、导航关键字、关键字实现函数之间的对应关系发生改变时,也需要修改驱动模块。从而会导致:(a)自动化测试过程中的开发成本较高,(b)关键字将会有大量的冗余;(c)需要维护多个版本的驱动模块,维护成本高。

(3)无法实现不同产品/版本间测试用例的移植;

(4)关键字的实现方式只能通过脚本来实现;无法通过其它编程语言如C、pascal等来实现。

发明内容

针对现有技术的上述情况,本发明要解决的技术问题在于如何改进AW(关键字)的导航方案,使得新增关键字时不必修改导航脚本。

为解决上述技术问题,本发明的方案是提供一种用于关键字驱动的中心数据库的组建方法,其中包括以下步骤:

根据关键字驱动的要求确定至少一个关键字;

根据关键字驱动的要求确定至少一个可适用于所有关键字的导航关键字;

针对每一个关键字与每一个导航关键字的组合,根据关键字驱动的要求确定一个唯一对应的关键字实现函数;

根据所述各个关键字、导航关键字、以及关键字驱动函数之间的关系,建立一个以关键字和导航关键字为索引的关键字驱动函数索引表;

利用所述关键字驱动函数索引表的信息,建立一个用于关键字驱动的中心数据库。

本发明中,由于在中心数据库内存储有关键字、导航关键字、及关键字实现函数之间的相互关系,在通过关键字驱动导航时,可由静态脚本完成中心数据库的加载,并根据所需的关键字来创建相应的动态脚本;再由所述动态脚本根据所述关键字和导航关键字,通过查找所述中心数据库来获取对应的关键字实现函数;同时,所述动态脚本将测试逻辑中的关键字的参数传给所述关键字实现函数;通过执行所述关键字实现函数,即可完成相应的测试功能,并将结果返回给测试逻辑。

本发明中,可确定i个关键字,n个可适用于所有关键字的导航关键字,其中i、n为正整数;对应于其中任一个关键字与n个导航关键字的n种组合,有n个对应的关键字实现函数;对应于i个关键字,则有i×n个对应的关键字实现函数。

采用本发明的方案之后,通过中心数据库,在维护关键字及其与导航关键字、关键字实现函数之间的对应关系时,只需修改中心数据库即可,而不必再修改导航脚本,从而提高了关键字数据驱动自动化测试的开发效率,并且降低了关键字驱动自动化测试的后续维护成本,同时可避免关键字的冗余,避免维护多个版本的导航脚本;另外,具有相同功能的测试工具或测试仪器的配置和控制也可定义一套相同的关键字来实现。

而且,由于采取了上述技术方案,通过导航关键字就可将关键字导航到不同测试工具或测试仪器的关键字实现函数,也可将关键字导航到不同产品或同一产品的不同版本的关键字实现函数,从而为测试脚本在不同产品或同一产品不同版本间的移植奠定了基础。

另外,由于在本发明中的导航脚本是通过脚本语言(如TCL脚本语言、Python语言)来实现的,而脚本语言具备跨平台(特指操作系统)及跨工具平台的特性,因此,本发明的方案能提高跨平台移植性和跨工具平台移植性,从而更适合应用于通信设备类产品的自动化测试。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是现有技术中关键字驱动技术的运作机制示意图;

图2是本发明中的导航脚本的结构示意图;

图3是本发明中导航脚本的初始化流程图;

图4是本发明中测试逻辑的执行过程示意图。

具体实施方式

本发明的实现,是基于现有技术的各项发展,例如,脚本语言(如TCL、PYTHON等)的特性,如解释执行、可嵌入、可扩展等特性,为自动化测试技术奠定了基础;同时,各种产品(如电信设备或软件)不仅提供图形界面,同时也提供命令行接口或人机接口,也为产品的自动化测试技术奠定了基础。

为便于对本发明的理解,下面对本文中使用的一些术语作一个简单的介绍,具体如表二所示:

                                 表二

 英文名称  中文名称  定义 TestCluster  测试集  1)、若干测试逻辑的相同测试环境配置和组网配置;  2)、测试集是测试环境在逻辑上的划分;  3)、测试集是组成测试环境的最小实体。 TestLogic  测试逻辑  1)、若干测试用例的相同的测试流程,即测试流程相同、测试  数据不同的一组测试用例的脚本描述;  2)、测试逻辑可以在不同的测试环境下运行; AW  关键字  1)、测试动作,表示测试逻辑的一个测试步骤;  2)、组成测试逻辑的最小实体;  3)、本文中AW就是Key-Word,都表示关键字的意思。  关键字函数  由导航脚本生成,属导航脚本,用于完成关键字到关键字实现  函数的导航  关键字实现函数  关键字的功能实现函数,用于完成相应的测试功能; TCL  工具命令语言  一种解释执行的脚本语言 NKey  导航关键字  通过导航关键字,关键字可以由不同产品或不同产品不同函数  来实现。通过NKey,关键字才能找到相应的关键字实现函数 CDB  中心数据库  存储关键字、NKey、关键字实现函数之间的关联关系 NScripts  导航脚本  是驱动模块,通过导航脚本根据Nkey,将关键字导航到不同的  关键字实现函数

由前述内容可知,本发明的目的是要改进现有的关键字的导航方案,使得新增关键字时不必修改导航脚本。

本发明的方案,是将AW(关键字)、NKey(导航关键字)、AW(关键字)实现函数的对应关系从驱动脚本中剥离出来,通过CDB(中心数据库)来实现,使得新增或修改关键字及其与导航关键字、关键字实现函数之间的对应关系时,只需修改中心数据库即可,而不必修改驱动脚本。本发明中的驱动脚本的作用在于完成自动化测试执行前的初始化工作如运行参数的载入,测试用例的载入,导航脚本中静态脚本的执行、自动化测试执行的启动等等。

如图2所示,本发明中,导航脚本由两部分组成:(1)一部分为静态脚本,即初始化脚本,主要用于完成中心数据库的加载,并通过脚本语言(如TCL)动态创建命令的特性,来创建导航脚本的动态脚本;(2)另一部分为动态脚本,即关键字函数,它用于根据导航关键字来完成关键字的导航,执行关键字实现函数,并将结果返回给测试逻辑。具体实施时,导航脚本可以通过脚本语言(如Python)或编译语言(如C)来实现。

如图3所示,导航脚本在初始化阶段加载中心数据库,并且根据中心数据库内定义的关键字以及关键字与导航关键字、关键字实现函数之间的对应关系,利用脚本语言(如TCL)的可以动态生成命令的特性,生成关键字函数,即动态脚本;然后以关键字函数作为导航脚本的一部分,完成关键字到关键字实现函数的导航的功能。

如图4所示,测试逻辑在执行过程中:由静态脚本完成中心数据库的加载,并根据所需的关键字来创建相应的动态脚本;再由所述动态脚本根据所述关键字和导航关键字,通过查找所述中心数据库来获取对应的关键字实现函数;同时,所述动态脚本将测试逻辑中的关键字的参数传给所述关键字实现函数;通过执行所述关键字实现函数,即可完成相应的测试功能,并将结果返回给测试逻辑。本文中的加载是指把中心数据库所有内容加载到计算机内存中或连接到数据库;查找是指在中心数据库内查找某条记录。

具体实施时,按以下步骤处理,先根据关键字驱动的要求确定i个关键字,再确定n个可适用于所有关键字的导航关键字,其中i、n均为正整数;对应于其中任一个关键字与n个导航关键字的n种组合,可确定n个对应的关键字实现函数;对应于i个关键字,则可确定i×n个对应的关键字实现函数;然后,根据各个关键字、导航关键字、以及关键字驱动函数之间的关系,建立一个以关键字和导航关键字为索引的关键字驱动函数索引表;利用这个关键字驱动函数索引表的信息,就可建立一个用于关键字驱动的中心数据库。

具体实施时,中心数据库的存储是通过文本文件的方式来表示,具体由关键字、导航关键字、以及关键字实现函数组成。

中心数据库的其中一种实施方式如下所示:

[AW1]

   NKey1=OriginFunc11

   NKey2=OriginFunc12

   NKey3=OriginFunc13

     ……

   NKeyn=OriginFunc1n

[AW2]

    NKey1=OriginFunc21

    NKey2=OriginFunc22

    NKey3=OriginFunc23

      ……

    NKeyn=OriginFunc2n

……

[AWi]

    NKey1=OriginFunci1

    NKey2=OriginFunci2

    NKey3=OriginFunci3

      ……

    NKeyn=OriginFuncin

其中,方括号“[]”中的内容表示第1、第2、...、第i个关键字,即AW1、AW2、AW3、...、AWi;每一个等号“=”左边的内容表示第1、第2、第3、...、第n个导航关键字,等号“=”右边的内容表示该关键字的第1、第2、第3、...、第n个关键字实现函数。

其中,关键字AW1有n种关键字实现函数,n为正整数;通过导航关键字NKey1,AW1将导航到关键字实现函数OriginFunc11;通过导航关键字NKey2,AW1将导航到关键字实现函数OriginFunc12;通过导航关键字NKey3,AW1将导航到关键字实现函数OriginFunc13;……;通过导航关键字NKeyn,AW1将导航到关键字实现函数OriginFunc1n。

同样,关键字AW2有n种关键字实现函数,通过导航关键字NKey1,AW2将导航到关键字实现函数OriginFunc21;通过导航关键字NKey2,AW2将导航到关键字实现函数OriginFunc22;通过导航关键字NKey3,AW2将导航到关键字实现函数OriginFunc23;……;通过导航关键字NKeyn,AW2将导航到关键字实现函数OriginFunc2n。

同样,关键字AWi有n种关键字实现函数,其中i为正整数,通过导航关键字NKey1,AWi将导航到关键字实现函数OriginFuncil;通过导航关键字NKey2,AWi将导航到关键字实现函数OriginFunci2;通过导航关键字NKey3,AWi将导航到关键字实现函数OriginFunci3;……;通过导航关键字NKeyn,AW2将导航到关键字实现函数OriginFuncin。

中心数据库第二种实施方式如下所示:

[Class1]

FIELDS,    NKey1,     NKey2,     NKey3,......,     NKeyn

AW1,   OrigFun11,OrigFunc12,OrigFunc13,......,OrigFunc1n

AW2,   OrigFun21,OrigFunc22,OrigFunc23,......,OrigFunc2n

[Class2]

FIELDS,    NKey1,     NKey2,     NKey3,......,     NKeyn

AW3,   OrigFun31,OrigFunc32,OrigFunc33,......,OrigFunc3n

AW4,   OrigFun41,OrigFunc42,OrigFunc43,......,OrigFunc4n

……

其中,方括号“[]”中的内容仅用于表示分类,以便于后续中心数据库的维护,除此之外没有其它含义;FIELDS是保留字;FIELDS所在的列(即第一列)表示关键字;FIELDS所在行表示导航关键字,导航关键字之间以逗号分隔;其他内容表示关键字实现函数。

其中,关键字AW1有n种关键字实现函数,通过导航关键字NKey1,AW1将导航到关键字实现函数OriginFunc11;通过导航关键字NKey2,AW1将导航到关键字实现函数OriginFunc12;通过导航关键字NKey3,AW1将导航到关键字实现函数OriginFunc13;……;通过导航关键字NKeyn,AW1将导航到关键字实现函数OriginFuncln。

同样,关键字AW2有n种关键字实现函数,通过导航关键字NKey1,AW2将导航到关键字实现函数OriginFunc21;通过导航关键字NKey2,AW2将导航到关键字实现函数OriginFunc22;通过导航关键字NKey3,AW2将导航到关键字实现函数OriginFunc23;……;通过导航关键字NKeyn,AW2将导航到关键字实现函数OriginFunc2n。

同样,关键字AW3有n种关键字实现函数,通过导航关键字NKey1,AW3将导航到关键字实现函数OriginFunc31;通过导航关键字NKey2,AW3将导航到关键字实现函数OriginFunc32;通过导航关键字NKey3,AW3将导航到关键字实现函数OriginFunc33;……;通过导航关键字NKeyn,AW3将导航到关键字实现函数OriginFunc3n。

同样,关键字AW4有n种关键字实现函数,通过导航关键字NKey1,AW4将导航到关键字实现函数OriginFunc41;通过导航关键字NKey2,AW4将导航到关键字实现函数OriginFunc42;通过导航关键字NKey3,AW4将导航到关键字实现函数OriginFunc43;……;通过导航关键字NKeyn,AW4将导航到关键字实现函数OriginFunc4n;

由上述具体实施方式可知,通过中心数据库,在维护关键字及其与导航关键字、关键字实现函数之间的对应关系时,只需修改中心数据库即可,而不必再修改导航脚本,从而提高了关键字数据驱动自动化测试的开发效率,并且降低了关键字驱动自动化测试的后续维护成本,同时可避免关键字的冗余,避免维护多个版本的导航脚本;另外,具有相同功能的测试工具或测试仪器的配置和控制也可定义一套相同的关键字来实现。

而且,由上述具体实施方式可知,通过导航关键字就可将关键字导航到不同测试工具或测试仪器的关键字实现函数,也可将关键字导航到不同产品或同一产品的不同版本的关键字实现函数,从而为测试脚本在不同产品或同一产品不同版本间的移植奠定了基础。

具体实施时,其中的中心数据库可以通过关系数据库来实现,例如通过Oracle、Sybase、Sql Server等来实现。另外,对于中心数据库内的关键字、导航关键字、关键字实现函数之间的对应关系,可通过关系数据库内的表格(或称Table或View更妥)来实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号