一种构建测试命令字(AW)的方法及测试序列调度方法,AW采用树型结构描述,在每个AW名称下包括两个分支;其中一分支为用于标识AW的参数列表,表中每个参数由参数标识和对应的参数值两部分组成;另一分支为用来标识AW中预期事件列表,表中每个事件由事件标识和对应的事件处理两部分组成;按照测试流程要求,将AW组成AW测试序列;启动AW测试序列中当前测AW的定时器,该定时器的时间按照该AW参数列表中的超时时长参数取值;通过当前AW自身的超时事件以及接收到的事件,触发当前AW中的事件按照事件处理的定义执行相应的操作。该方法灵活、稳定、适应性强。
【技术实现步骤摘要】
本专利技术涉及通信
,尤其涉及一种测试命令字(Action Word,AW)的统一描述方式和使用方法,并基于此描述提出一种基于事件和定时器处理的AW测试序列调度方法。
技术介绍
测试AW是当前业界自动化测试中的一个重要概念,可以理解为自动化测试过程中的一个执行步骤。AW测试序列是指一些具有先后执行顺序的测试AW组成的列表,列表中的AW有严格的执行顺序,可以认为使用一些AW描述一个流程就得到一个AW序列。对于AW测试执行序列中AW列表顺序执行的控制方法就叫做AW序列调度方式。一般AW是使用脚本解释执行的,而AW本身的描述方法和使用方法也是自动化测试的研究对象。现有的AW描述方法一般使用线性描述,线性描述如下AW名{参数1 参数2...}{AW处理}其中“AW名”唯一标识一个AW,{参数1 参数2...}所描述的参数列表有严格的先后顺序;“AW处理”部分使用脚本实现。调用方式为AW名 参数1 参数2... 此时注意参数1,参数2有严格的先后顺序,不能换位置;对于用线性描述得到的AW组成的测试序列的调度采用的是绝对定时器方法,流程如图1所示。即在第一个AW执行前记录当前主机时间,然后在AW中隔一段时间就取一次主机时间,不断算出这两个绝对时间的差值,如果差值超过本AW的超时时长,流程异常结束,如果还没有超过超时时长,本AW正常执行结束,那么就执行下一个AW。现有技术方案中线性描述的缺点在于1、如果AW增加一个参数必须增加到参数列表的最后,否则会影响前面参数的调用,因为参数列表中的参数有严格的先后顺序,如果将新参数插入参数列表中间,那么会破坏参数列表的严格顺序,使参数取值发生错位。缺点2、如果一个参数不需要显式调用,但他后面的一个参数需要显式调用,那么这个参数也不得不显式调用,因为如果不调用,那么顺序就无法得到保证,例如参数1取默认值,而参数2需要赋新值,这时参数1也不得不将默认值显式的写在调用里面。缺点3、“AW处理”中没有分事件处理,此时如果增加AW的处理功能时,需要增加大量代码,而且耦合度高。且AW之间不能嵌套,可继承性和扩展性不好。
技术实现思路
本专利技术所要解决的技术问题是提供一种统一的能够对AW进行灵活配置和更改的描述方式,以及基于此描述方式实现一种灵活并且稳定性高的AW序列调度方法。本专利技术为解决上述技术问题所采用的技术方案为一种测试命令字的测试序列调度方法,包括如下步骤A、测试命令字采用树型结构描述,在每个测试命令字名称下包括至少两个分支;其中一分支为用于标识所述测试命令字的参数列表;另一分支为用来标识所述测试命令字中预期事件列表;B、按照测试流程要求,将所述测试命令字组成测试命令字测试序列;C、启动测试命令字测试序列中当前测试命令字的定时器,该定时器的时间按照该测试命令字参数列表中的超时时长参数值取值;通过当前测试命令字自身的超时事件以及当前测试命令字接收到的事件,触发当前测试命令字中的事件按照事件处理的定义(规则)执行相应的操作。所述的方法,其中所述参数列表中的每个参数由参数标识和对应的参数值两部分组成,所述参数列表中包括超时时长和AW描述两个必选参数;所述事件列表中的每个事件由事件标识和对应的事件处理两部分组成,所述事件列表中包括一作为必选事件的超时事件。所述的方法,其中所述事件处理列表中的每个事件处理有CONTINUE、OK及ERROR三种返回值;所述的步骤C包括如下具体步骤C1、设置所述测试命令字测试序列中的第一个测试命令字为当前测试命令字;C2、启动所述当前测试命令字的定时器,该定时器的时间按照当前测试命令字的超时时长参数值取值;C3、在当前测试命令字中,若接收到当前测试命令字预期的事件,进入该预期事件的事件处理,并执行对应的操作;若收到非预期的事件,所述测试命令字测试序列执行停止;当定时器超时后,则进入当前测试命令字的超时事件,执行超时事件对应的事件处理;C4、当预期事件以及超时事件的事件处理返回值为CONTINUE时,所述测试命令字测试序列仍然回到本测试命令字继续执行;当预期事件以及超时事件的事件处理返回值为ERROR时,所述测试序列执行停止;C5、当预期事件以及超时事件的事件处理返回值为OK时,判断当前测试命令字是否为所述测试序列的最后一个测试命令字;若当前测试命令字不是所述测试序列的最后一个测试命令字,则停止当前定时器,将所述测试序列中的下一个测试命令字置为当前测试命令字,并重复步骤C2至C5,直至所述测试序列中的最后一个测试命令字; C6、若当前测试命令字是所述测试序列的最后一个测试命令字,所述测试命令字序列执行停止。所述的方法,其中所述方法还包括利用已有的所述测试命令字生成嵌套测试命令字,所述嵌套测试命令字事件处理部分包括至少以下内容事件触发命令、要触发的事件名称,以及要触发事件所属的测试命令字名称,实现在所述嵌套命令字中利用触发命令直接触发已有测试命令字的事件。所述的方法,其中所述嵌套测试命令字事件处理部分还包括传入已有测试命令字的参数列表,将所述嵌套测试命令字的的参数值赋给要触发的已有测试命令字的参数中。一种构建测试命令字的方法,包括如下步骤设置测试命令字为树型结构,使每个测试命令字名称下包括至少两个分支;设置其中一分支为用于标识所述测试命令字的参数列表,所述参数列表中的每个参数由参数标识和对应的参数值两部分组成;设置另一分支为用来标识所述测试命令字中预期事件列表,所述事件列表中的每个事件由事件标识和对应的事件处理两部分组成。所述的构建测试命令字的方法,其中所述参数列表中包括超时时长和AW描述两个必选参数;所述事件列表中包括一作为必选事件的超时事件。本专利技术的有益效果为1.采用的统一的AW描述方法使AW更容易管理和维护,提高了AW描述的通用性和继承性;AW参数的灵活配置更改使AW的调用更加灵活;2.使用这种AW描述实现的自动化测试工具具有很好的兼容性和可扩展性,而且由于AW使用抽象而统一的描述方式,和具体实现方式无关,无论使用什么编程语言都可以将这种描述转换成软件程序,因此AW描述本身具有很好的稳定性。3.使用已有的AW嵌套可以生成一个新的AW,这些AW的功能也同时全部集成在新的组合AW中,可将已有AW作为AW库,新的AW就可以引用已有AW的事件处理,减少重复劳动。4.AW测试序列调度方法在实际执行过程中使用单线程就可以很好地实现,无须复杂的多线程实现,因此该AW测试序列调度方法的稳定性高,提高了自动化测试结果的可信度。6.本专利技术提供的是一种通用的方法,使用这种方法实现的自动化测试工具功能强大,不限于测试3G核心网,还可测试2G核心网、HLR等通信设备。附图说明图1为现有技术线性描述AW组成的测试序列调度方法流程图;图2为本专利技术树性分层描述的AW描述方式示意图;图3为本专利技术AW测试序列调度方法流程图;图4为移动通讯中位置更新流程;图5为用表格方式描述的AW名为SendLocationUpdateReq的AW示意图;图6为用表格方式描述的AW名为RecvLocationUpdateAcp的AW示意图;图7为用表格方式描述的AW名为ClearCommand的AW示意图;图8为用表格方式描述的AW名为LocationUpdateAcpAndReleas本文档来自技高网...
【技术保护点】
一种测试命令字的测试序列调度方法,包括如下步骤: A、测试命令字采用树型结构描述,在每个测试命令字名称下包括至少两个分支;其中一分支为用于标识所述测试命令字的参数列表;另一分支为用来标识所述测试命令字中预期事件列表; B、按照测试流程要求,将所述测试命令字组成测试命令字测试序列; C、启动测试命令字测试序列中当前测试命令字的定时器,该定时器的时间按照该测试命令字参数列表中的超时时长参数值取值;通过当前测试命令字自身的超时事件以及当前测试命令字接收到的事件,触发当前测试命令字中的事件按照事件处理的定义执行相应的操作。
【技术特征摘要】
【专利技术属性】
技术研发人员:姜涛,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。