一种用于关键字驱动的导航方法技术

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

【技术实现步骤摘要】

本专利技术涉及自动化测试技术,更具体地说,涉及一种适于关键字驱动的中心数据库的组建方法。
技术介绍
在对电信设备或软件进行测试的过程中,通常是使用Key-Word Driven(关键字驱动)技术,它是基于Rational公司的Robot工具平台而实现的,通常应用于GUI(图形用户界面)的自动化测试中。在关键字驱动技术中,测试人员会使用类似Excel工作表的表格,以输入关键字(Key-Word)的方式来建立测试用例。这个方法的整个过程(包含功能)都是由关键字驱动的,关键字控制了整个测试过程。表一所示是一个示例性的测试用例。表一 其中,第一列是关键字,用于说明要执行的动作;第二到第四列,是执行第一列的动作所必需的参数;第五列用于表示该步骤是否通过。如图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等)的特性,如解释执行、可嵌入、可扩展等特性,为自动化测试技术奠定了基础;同时,各种产品(如电信设备或软件)不仅提供图形界面,同时也提供命令行接口或人机接口,也为产品的自动化测试技术奠定了基础。为便于对本专利技术的理解,下面对本文中使用的一些术语作一个简单的介绍,具体如表二所示表二 由前述内容可知,本专利技术的目的是要改进现有的关键字的导航方案,使得新增关键字时不必修改导航脚本。本专利技术的方案,是将AW(关键字)、NKey(导航关键字)、AW(关键字)实现函数的对应关系从驱动脚本中剥离出来,通过CDB(中心数据库)来实现,使得新增或修改关键字及其与导航关键字、关键字实现函数之间的对应关系时,只需修改中心数据库即可,而不必修改驱动脚本。本专利技术中的驱动脚本的作用在于完成自动化测试执行前的初始化工作如运行参数的载入,测试用例的载入,导航脚本中静态脚本的执行、自动化测试执行的启动等等。如图2所示,本专利技术中,导航脚本由两部分组成(1)一部分为静态脚本,即初始化脚本,主要用于完成中心数据库的加载,并通过脚本语言(如TCL)动态创建命令的特性,来创建导航脚本的动态脚本;(2)另一部分为动态脚本文档来自技高网
...

【技术保护点】
一种用于关键字驱动的中心数据库的组建方法,其特征在于,包括以下步骤:根据关键字驱动的要求确定至少一个关键字;根据关键字驱动的要求确定至少一个可适用于所有关键字的导航关键字;针对每一个关键字与每一个导航关键字的组合,根据关键字驱动的要求确定一个唯一对应的关键字实现函数;根据所述各个关键字、导航关键字、以及关键字驱动函数之间的关系,建立一个以关键字和导航关键字为索引的关键字驱动函数索引表;利用所述关键字驱动函数索引表的信息,建立一个用于关键字驱动的中心数据库。

【技术特征摘要】
1.一种用于关键字驱动的中心数据库的组建方法,其特征在于,包括以下步骤根据关键字驱动的要求确定至少一个关键字;根据关键字驱动的要求确定至少一个可适用于所有关键字的导航关键字;针对每一个关键字与每一个导航关键字的组合,根据关键字驱动的要求确定一个唯一对应的关键字实现函数;根据所述各个关键字、导航关键字、以及关键字驱动函数之间的关系,建立一个以关键字和导航关键字为索引的关键字驱动函数索引表;利用所述关键字驱动函数索引表的信息,建立一个用于关键字驱动的中心数据库。2.根据权利要求1所述的方法,其特征在于,其中根据关键字驱动的要求确定i个关键字、n个可适用于所有关键字的导航关键字;对应于任一个关键字与n个导航关键字的n种组合,有n个对应的关键字实现函数;对应于i个关键字,则有i×n个对应的关键字实现函数;其中i、n均为正整数。3.根据权利要求3所述的方法,其特征在于,所述关键字驱动函数索引表的为如下形式[AW1]NKey1=OriginFunc11NKey2=OriginFunc12NKey3=OriginFunc13……NKeyn=OriginFunc1n[AW2]NKey1=OriginFunc21NKey2=OriginFunc22NKey3=OriginFunc23……NKeyn=OriginFunc2n……[AWi]NKey1=OriginFunci1NK...

【专利技术属性】
技术研发人员:林培兴
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1