一种联锁系统测试用例自动生成方法技术方案

技术编号:38044921 阅读:8 留言:0更新日期:2023-06-30 11:11
本发明专利技术提出了一种联锁系统测试用例自动生成方法,包括以下步骤:S1、根据输入路径配置文件,获取所有的输入文件;S2、获取输入文件中通用的测试用例,并分别对每个通用的测试用例中的各个步骤下的所有测试对象进行实例化;S3、对所有测试对象进行实例化后,结合测试用例实例化对应的数据对每个通用的测试用例进行实例化,生成针对每一个特定站场的测试用例。本发明专利技术生成的特定应用的测试用例,具有很广泛的应用性,可以结合自动测试方法,实现全流程的联锁系统测试自动化。流程的联锁系统测试自动化。流程的联锁系统测试自动化。

【技术实现步骤摘要】
一种联锁系统测试用例自动生成方法


[0001]本专利技术涉及联锁软件测试
,尤其涉及一种联锁系统测试用例自动生成方法。

技术介绍

[0002]对轨道信号系统,联锁系统是保证列车行车安全的重要保障。随着我国轨道行业的迅速发展,在铁路,城市轨道,城际铁路的各种制式的信号系统设计中,将越来越多的轨旁设备纳入到联锁系统的管理范围中,对应的,使实际运营的场景更为复杂,联锁系统数据逻辑设计的正确性,是联锁系统能否在复杂运营场景下正确实现安全功能的基础。对于联锁系统软件的逻辑设计,就需要有精确、高效的联锁测试,对联锁系统软件逻辑设计有效性进行把控。
[0003]要正确、全面的对联锁系统软件进行测试,需要依据测试用例,对相应的联锁系统的需求及功能,结合相应的场景进行逐个覆盖。因此,针对不同制式,不同功能选择的联锁系统,完整有效的测试用例文件是对联锁系统软件测试的必然要求。联锁系统复杂的功能意味着传统人工编制测试用例的方式面临测试场景复杂易遗漏,大量重复工作工作量巨大的问题。

技术实现思路

[0004]本专利技术提出了一种联锁系统测试用例自动生成方法,能够替代传统人工编制测试用例,做到测试用例生成的规范化和程序化,从而极大的提高测试准备工作的效率、提高测试用例的正确性,缩短测试时间,同时在生成用例的过程中也能够对联锁数据进行初步的校验。
[0005]为了达到上述目的,本专利技术提出了一种联锁系统测试用例自动生成方法,包括以下步骤:
[0006]S1、根据输入路径配置文件,获取所有的输入文件
[0007]S2、获取输入文件中通用的测试用例,并分别对每个通用的测试用例中的各个步骤下的所有测试对象进行实例化;
[0008]S3、对所有测试对象进行实例化后,结合测试用例实例化对应的数据对每个通用的测试用例进行实例化,生成针对每一个特定站场的测试用例。
[0009]进一步地,所述S1包括以下步骤:所述输入路径配置文件包括每一个输入文件的文件路径,以及输入文件的类型标识,通过读取输入路径配置文件的特定类型,可以获取到生成用例所需要的所有输入文件的内容。
[0010]进一步地,所述输入文件分为三类:站场数据类文件,查询类文件和通用的测试用例文件;
[0011]所述站场数据类文件用于描述对应测试站场的联锁关系及接口信息,包括:联锁表、通信文件,以及功能列表文件,用以描述对应测试站场的联锁关系及接口信息;
[0012]所述查询类文件用于定义对应的搜索方法,以在站场数据类文件中查找到指定设备名称,包括:名称对照文件、关键字定义文件,以及测试查询映射文件;
[0013]所述通用的测试用例文件定义了联锁系统测试所用的所有通用的测试用例,每一个测试用例中定义了测试步骤,测试用例每一步骤下的详细操作,以及测试步骤是否具有循环属性,以及对应步骤的操作下,各个周期预期的参数变化。
[0014]进一步地,所述步骤S2包括以下步骤:
[0015]测试用例在生成时,对定义在通用的测试用例文件中的测试用例逐个进行提取,获取到用例后,对当前用例的测试对象逐个进行遍历,每一个测试对象都会单独生成一个实例化用例;
[0016]在每一个实例化用例在生成过程中,需要以当前测试对象为基准,对测试用例的每一步骤操作,和每一步骤操作后的参数追踪进行实例化。
[0017]进一步地,所述步骤S2具体包括以下步骤:
[0018]S2.1、根据所述输入文件,获取所有通用的测试用例;
[0019]S2.2、遍历所述通用的测试用例;
[0020]S2.3、获取当前通用的测试用例中包含的所有测试对象;
[0021]S2.4、判断当前通用的测试用例中第一个步骤下的所有操作对象及追踪参数的设备名称是否已经是实例化参数名称,如果是,则直接原样输出,而后执行步骤S2.6;否则,执行步骤S2.5;
[0022]S2.5、将操作对象及追踪参数的设备名称替换成“参数映射”的字符串,并针对运用场景进一步处理;
[0023]S2.6、重复执行步骤S2.4

S2.5,将当前通用的测试用例中各个步骤下的所有操作对象及追踪参数的设备名称进行实例化;
[0024]S2.7、重复执行步骤S2.2

S2.6,依次对各个通用的测试用例中的设备名称实例化。
[0025]进一步地,所述步骤S2.5中针对运用场景进一步处理的方法,包括以下步骤:
[0026]逐个查找在测试查询映射文件“参数映射名称”列中所有以“参数映射”的抽象形式出现的实例化参数名称;
[0027]对查找得到的“参数映射”,在特殊的场景下需要进行特殊的处理:
[0028]1)对查找的“参数映射”取特定的某一个参数或某几个连续的参数,用小括号“()”修饰,填写数字n或数字组合n

m,对查找的参数映射取特定的某一个参数或某几个连续的参数;如果n的数值小于m,则顺序的获取到第n到第m个参数;如果n的数值大于m,则倒序的获取到第n到第m个参数;
[0029]2)对道岔设备,行业内一般对处于定位位置的道岔不加特殊修饰,对处于反位位置的道岔加小括号“()”修饰,对带动道岔加大括号“{}”修饰,对防护道岔加中括号“[]”修饰;对于一些测试场景中只需要获取道岔的名称,不需要道岔具体位置信息时,配合“<WWZ>”字符串,表示仅保留道岔名称;对于一些测试场景,需要获取具体道岔的位置或道岔相反位置,则对于参数的名称,以“<DFW>”或“<DFWF>”进行修饰,对道岔结合位置进行实例化生成;
[0030]3)对包含方向的参数,行业内一般对涉及运行方向区分上下行,对于需要区分上
下行方向的参数,在参数名称前加以“<TFX>”或“<FFX>”修饰,确定参数的方向是上行或下行,结合方向对参数实例化生成;
[0031]4)先对参数生成进行条件判断,满足判断条件后决定对应参数的生成。增加条件判断的查询格式为:“基准参数_参数所在列_目标参数列_条件判断列"查询条件"”,与普通的参数查找相比,增加了在条件判断列的指定条件查找;当以基准参数查找时,首先会在条件判断列判断查找条件是否满足,即条件判断列的内容是否与“查询条件”中定义的字符串一致,当查询条件满足时按照上述定义的方法进行查找,否则不取出任何元素;
[0032]5)对多个查找到的“参数映射”之间,可以进行对应的逻辑运算,包括:并集运算,差集运算,交集运算,条件判断,条件取反判断,取前方、后方设备运算。
[0033]进一步地,所述查找所有以“参数映射”的抽象形式出现的实例化参数名称的方法,包括以下步骤:
[0034]每一个“参数映射”的查找方法均定义在测试查询映射文件中的“映射查询”中,查询的格式为:“基准参数_参数所在列_目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种联锁系统测试用例自动生成方法,其特征在于,包括以下步骤:S1、根据输入路径配置文件,获取所有的输入文件;S2、获取输入文件中通用的测试用例,并分别对每个通用的测试用例中的各个步骤下的所有测试对象进行实例化;S3、对所有测试对象进行实例化后,结合测试用例实例化对应的数据对每个通用的测试用例进行实例化,生成针对每一个特定站场的测试用例。2.如权利要求1所述的联锁系统测试用例自动生成方法,其特征在于,所述S1包括以下步骤:所述输入路径配置文件包括每一个输入文件的文件路径,以及输入文件的类型标识,通过读取输入路径配置文件的特定类型,可以获取到生成用例所需要的所有输入文件的内容。3.如权利要求1所述的联锁系统测试用例自动生成方法,其特征在于,所述输入文件分为三类:站场数据类文件,查询类文件和通用的测试用例文件;所述站场数据类文件用于描述对应测试站场的联锁关系及接口信息,包括:联锁表、通信文件,以及功能列表文件,用以描述对应测试站场的联锁关系及接口信息;所述查询类文件用于定义对应的搜索方法,以在站场数据类文件中查找到指定设备名称,包括:名称对照文件、关键字定义文件,以及测试查询映射文件;所述通用的测试用例文件定义了联锁系统测试所用的所有通用的测试用例,每一个测试用例中定义了测试步骤,测试用例每一步骤下的详细操作,以及测试步骤是否具有循环属性,以及对应步骤的操作下,各个周期预期的参数变化。4.如权利要求1所述的联锁系统测试用例自动生成方法,其特征在于,所述步骤S2包括以下步骤:测试用例在生成时,对定义在通用的测试用例文件中的测试用例逐个进行提取,获取到用例后,对当前用例的测试对象逐个进行遍历,每一个测试对象都会单独生成一个实例化用例;在每一个实例化用例在生成过程中,需要以当前测试对象为基准,对测试用例的每一步骤操作,和每一步骤操作后的参数追踪进行实例化。5.如权利要求4所述的联锁系统测试用例自动生成方法,其特征在于,所述步骤S2具体包括以下步骤:S2.1、根据所述输入文件,获取所有通用的测试用例;S2.2、遍历所述通用的测试用例;S2.3、获取当前通用的测试用例中包含的所有测试对象;S2.4、判断当前通用的测试用例中第一个步骤下的所有操作对象及追踪参数的设备名称是否已经是实例化参数名称,如果是,则直接原样输出,而后执行步骤S2.6;否则,执行步骤S2.5;S2.5、将操作对象及追踪参数的设备名称替换成“参数映射”的字符串,并针对运用场景进一步处理;S2.6、重复执行步骤S2.4

S2.5,将当前通用的测试用例中各个步骤下的所有操作对象及追踪参数的设备名称进行实例化;S2.7、重复执行步骤S2.2

S2.6,依次对各个通用的测试用例中的设备名称实例化。
6.如权利要求5所述的联锁系统测试用例自动生成方法,其特征在于,所述步骤S2.5中针对运用场景进一步处理的方法,包括以下步骤:逐个查找在测试查询映射文件“参数映射名称”列中所有以“参数映射”的抽象形式出现的实例化参数名称;对查找得到的“参数映射”,在特殊的场景下需要进行特殊的处理:1)对查找的“参数映射”取特定的某一个参数或某几个连续的参数,用小括号“()”修饰,填写数字n或数字组合n

m,对查找的参数映射取特定的某一个参数或某几个连续的参数;如果n的数值小于m,则顺序的获取到第n到第m个参数;如果n的数值大于m,则倒序的获取到第n到第m个参数;2)对道岔设备,行业内一般对处于定位位置的道岔不加特殊修饰,对处于反位位置的道岔加小括号“()”修饰,对带动道岔加大括号“{}”修饰,对防护道岔加中括号“[]”修饰;对于一些测试场景中只需要获取道岔的名称,不需要道岔具体位置信息时,配合“<WWZ>”字符串,表示仅保留道岔名称;对于一些测试场景,需要获取具体道岔的位置或道岔相反位置,则对于参数的名称,以“<DFW>”或“<DFWF>”进行修饰,对道岔结合位置进行实例化生成;3)对包含方向的参数,行业内一般对涉及运行方向区分上下行,对于需要区分上下行方向的参数,在参数名称前加以“<TFX>”或“<FFX>”修饰,确定参数的方向是上行或下行,结合方向对参数实例化生成;4)先对参数生成进行条件判断,满足判断条件后决定对应参数的生成。增加条件判断的查询格式为:“基准参数_参数所在列_目标参数列_条件判断列"查询条件"”,与普通的参数查找相比,增加了在条件判断列的指定条件查找;当以基准参数查找时,首先会在条件判断列判断查找条件是否满足,即条件判断列的内容是否与“查询条件”中定义的字符串一致,当查询条件满足时按照上述定义的方法进行查找,否则不取出任何元素;5)对多个查找到的“参数映射”之间,可以进行对应的逻辑运算,包括:并集运算,差集运算,交集运算,条件判断,条件取反判断,取前方、后方设备运算。7.如权利要求6所述的联锁系统测试用例自动生成方法,其特征在于,所述查找所有以“参数映射”的抽象形式出现的实例化参数名称的方法,包括以下步骤:...

【专利技术属性】
技术研发人员:杨平辛帆谢林张国茹陈灏捷蔡崇霞张代玉曾云
申请(专利权)人:卡斯柯信号有限公司
类型:发明
国别省市:

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

1