掌桥专利:专业的专利平台
掌桥专利
首页

联锁数据测试方法及装置

文献发布时间:2023-06-19 18:37:28


联锁数据测试方法及装置

技术领域

本发明涉及轨道交通技术领域,尤其涉及一种联锁数据测试方法及装置。

背景技术

在轨道交通的信号系统中,联锁系统是负责行车进路建立的核心系统,也是保证轨道交通行车安全,提高运行效率的必要系统。在联锁系统中,联锁数据是适应不同线路条件保障联锁系统正常工作的必要组成部分。由于联锁数据关系复杂,导致联锁数据出错概率较高,进而直接影响联锁系统的安全,因此需要对联锁数据进行测试。

在传统联锁数据测试方法中,通常需要工作人员在测试环境中操作轨道交通信号系统中的每一条进路,以测试联锁数据的联锁逻辑是否正确。由于联锁数据的数据量庞大,人工测试工作量较大,测试效率低下,而且会有因失误而造成测试结果出错等问题,致使通过联锁数据测试的联锁系统无法保证轨道交通行车安全以及行车效率。

综上所述,现有联锁数据测试方法存在测试效率较低等不足。

发明内容

本发明提供一种联锁数据测试方法,用以解决现有技术中联锁数据测试效率较低的缺陷,实现提高测试效率和准确率。

本发明提供一种联锁数据测试方法,包括:

获取联锁数据中的每一条进路的信息;所述进路的信息,包括所述进路所属的站场、排列所述进路对应的按钮和排列所述进路对应的信号机的第一状态;

针对每一条所述进路,基于所述进路所属的站场和排列所述进路对应的按钮,获取排列所述进路对应的信号机的第二状态;

基于所述第一状态和所述第二状态,获取所述进路的测试结果。

根据本发明提供的一种联锁数据测试方法,所述基于所述进路所属的站场和排列所述进路对应的按钮,获取排列所述进路对应的信号机的第二状态,包括:

读取所述站场的联锁控制图;

基于预设的配置信息,确定所述联锁控制图中所述按钮的位置;

基于所述按钮的位置,生成对所述按钮的目标操作指令;

响应于所述目标操作指令,获取所述第二状态。

根据本发明提供的一种联锁数据测试方法,所述响应于所述目标操作指令,获取所述第二状态,包括:

响应于所述目标操作指令,获取联锁子系统中排列所述进路对应的信号机的响应数据和/或所述站场的联锁控制图中排列所述进路对应的信号机的显示状态。

根据本发明提供的一种联锁数据测试方法,所述针对每一条所述进路,基于所述进路所属的站场和排列所述进路对应的按钮,获取排列所述进路对应的信号机的第二状态之前,还包括:

基于所述进路所属的站场,对所述站场的站场图进行截图,并设置设备控制信息,获取所述站场的联锁控制图。

根据本发明提供的一种联锁数据测试方法,所述基于所述第一状态和所述第二状态,获取所述进路的测试结果,包括:

在所述第一状态与所述第二状态一致的情况下,将所述进路的测试结果确定为正确,在所述第一状态与所述第二状态不一致的情况下,将所述进路的测试结果确定为错误。

根据本发明提供的一种联锁数据测试方法,所述基于所述第一状态和所述第二状态,获取所述进路的测试结果之后,还包括:

基于各所述进路的测试结果,输出所述联锁数据的测试结果。

本发明还提供一种联锁数据测试装置,包括:

第一获取模块,用于获取联锁数据中的每一条进路的信息;所述进路的信息,包括所述进路所属的站场、排列所述进路对应的按钮和排列所述进路对应的信号机的第一状态;

第二获取模块,用于针对每一条所述进路,基于所述进路所属的站场和排列所述进路对应的按钮,获取排列所述进路对应的信号机的第二状态;

第三获取模块,用于基于所述第一状态和所述第二状态,获取所述进路的测试结果。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述联锁数据测试方法。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述联锁数据测试方法。

本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述联锁数据测试方法。

本发明提供的联锁数据测试方法,自动读取待测试联锁数据,通过预先配置联锁逻辑,自动获取联数据锁测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的联锁数据测试方法的流程示意图;

图2是本发明提供的联锁数据测试方法的设计思路示意图;

图3是本发明提供的联锁数据测试方法的技术架构示意图;

图4是本发明提供的联锁数据测试方法的软件核心架构示意图;

图5是本发明提供的联锁数据测试方法的组件定义示意图;

图6是本发明提供的联锁数据测试装置的结构示意图;

图7是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1-图7描述本发明提供的联锁数据测试方法及装置。

图1是本发明提供的联锁数据测试方法的流程示意图,如图1所示,本发明实施提供的联锁数据测试方法的执行主体可以为联锁数据测试装置,该方法包括:步骤101、步骤102和步骤103。

步骤101,获取联锁数据中的每一条进路的信息;进路的信息,包括进路所属的站场、排列进路对应的按钮和排列进路对应的信号机的第一状态。

具体地,进路是在站内,列车、调车机车或车列由一个地点到另一个地点所运行的经路。在联锁中,需要明确进路的范围,即进路的始端和终端,表明道岔、轨道区段与进路,以及进路与进路之间的关系。

具体地,联锁数据是适应不同线路条件保障联锁系统正常工作的必要组成部分,是用于配置联锁系统使其具有保证轨道交通行车安全及行车效率的功能的数据。

本发明实施例中,待测试联锁数据可以通过预先配置的方式人工存储至联锁数据测试系统内数据库指定目录下。待测试联锁数据可以通过读取联锁表和/或采驱表等获取。联锁数据测试系统通过读取联锁表和/或采驱表的信息,获取进路的信息,生成具体车站的待测试联锁数据。待测试联锁数据的数量可以是一个或多个,本发明实施例中对此不作具体限定。待测试联锁数据可以包括至少一条记录。每一条记录,用于描述一条进路的信息。每一条记录可以包括站名、进路编号、进路、排列进路按下按钮、信号机的名称、信号机的显示、道岔、敌对信号、轨道区段、接近锁闭、其他联锁对象、保护区段、自动触发进路触发区段和自动通过进路功能等字段。

对于每一条进路,进路所属的站场是指进路所处的站场名称,不同进路可以处于同一站场。排列进路对应的按钮是指排列进路时按下的按钮,分别为对应进路列车进站时按下的按钮和出站时按下的按钮。进路对应的信号机的第一状态是指对应进路信号机的正确结果的状态,可以显示为灭绿、灭黄、室外绿灯或室外黄灯等状态。

具体地,待测试联锁数据是需要测试的联锁数据。本发明实施例可以适用于单项测试和进路测试。单项测试包括道岔岔封/岔解和道岔单锁/单解等测试项;进路测试分为CBTC(基于通信的列车自动控制系统,Communication Based Train Control System)模式和降级模式两种模式,测试主要内容包括进路办理、进路内道岔单独操纵、变换道岔位置、信号关闭及重开、进路取消等测试项。

步骤102,针对每一条进路,基于进路所属的站场和排列进路对应的按钮,获取排列进路对应的信号机的第二状态。

具体地,基于进路所属的站场和排列进路对应的按钮,基于联锁逻辑可以判断进路对应的信号机的状态变化,获取排列进路对应信号机的第二状态。

示例性地,排列进路对应的信号机的第二状态包括灭绿、灭黄、室外绿灯或室外黄灯等状态。

步骤103,基于第一状态和第二状态,获取进路的测试结果。

具体地,本发明实施例中,对待测试联锁数据测试的过程是判断待测试联锁数据能否满足联锁数据测试用例所体现的联锁逻辑情况,判断每一条排列进路对应的信号机的第一状态和信号机的第二状态是否一致。因此应对每一个联锁数据测试用例均使待测试联锁数据对应一个测试结果。测试结果包括通过和不通过。

可以通过预先配置的方式将包含判断排列进路对应的信号机的第一状态和第二状态是否符合联锁逻辑的方法的文件存储在联锁数据测试系统内的指定目录下。对于不同的进路可以用不同的判断方法,也可以用同一判断方法,取决于实际情况中对对应进路的要求。

可选地,如图2所示,基于联锁数据测试结果生成测试日志,测试日志保存在联锁数据测试系统的指定目录下。测试日志文件可以是表格的格式,也可以是其他格式。测试日志包括所有执行动作和验证结果、测试时间、被测对象版本、被测对象项目名称、被测对象路径、PC(个人计算机,)名称和测试项目名称等。验证结果用规定的符号表示,验证结果包括正确和错误。PC是执行测试所需要的设备,可以是计算机,也可以是具有存储和运算功能的其他设备。

可选地,基于各项目生成的测试日志,可转换成最终的测试记录单,测试记录单包括测试结果、被测对象版本和测试时间。测试记录单可以根据需要对已有测试记录模板进行调整。

本发明实施例通过获取联锁数据中每一条进路的信息,获取进路对应信号机的第一状态基于进路所属的站场和排列进路对应的按钮,获取进路对应的信号机的第二状态,基于进路对应的信号机的第一状态和第二状态获取进路的测试结果。通过预先配置联锁逻辑,自动获取联数据锁测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

基于上述任一实施例的内容,基于进路所属的站场和排列进路对应的按钮,获取排列进路对应的信号机的第二状态,包括:

读取站场的联锁控制图。

需要说明的是,联锁控制图需预先存储至联锁数据测试系统内数据库指定目录下。基于预先配置的文件,执行本发明提供的联锁数据测试方法的装置可以根据进路的信息,确定进路所属的站场,根据站场的名称在预先存储截图的指定目录中检索,确定该站场的联锁控制图,获取该联锁控制图并载入MMI。

具体地,根据预先配置的文件,该装置可以读取指定目录下预先存储的该进路联锁控制图。联锁控制图是根据车站信号平面布置图所展示的线路、道岔、信号机、轨道区段等情况,按照规定的原则和格式生成的控制图,用于表示进路、道岔、信号机之间的基本联锁内容。联锁控制图以进路为主体,逐条地把排列进路需要按压的按钮、防护该进路的信号机的名称和显示、进路要求检查锁闭的道岔编号和位置、进路对应检查的轨道区段名称和所排进路敌对的信号均表示在联锁控制图中。用户对联锁控制图执行相应的操作,可以获得基于联锁逻辑计算得出的对应的结果,结果可以显示在联锁控制图中。

基于预设的配置信息,确定联锁控制图中按钮的位置。

联锁数据测试装置对联锁控制图进行识别,对联锁控制图中的图元进行获取,识别联锁控制图中的图元,基于预先配置的图元信息对联锁控制图中的图元信息进行判断,确定其中的表示可操作的按钮的图元和表示信号机的图元。

具体地,配置信息需预先存储至联锁数据测试系统内数据库指定目录下。配置信息包括图形界面数据配置信息、控制人机界面菜单信息、控制人机界面操作元素信息、联锁数据表配置信息和驱动数据表配置信息等。通过配置图形界面的设备像素锚点,以此为参照物,定位其他设备坐标。

具体地,预先配置设备坐标文件Icondev,首先确定信号机朝向,即确定信号机向左或向右,再确定信号机高柱或矮柱,对于一个按钮计算坐标文件坐标与实际坐标之间的偏差值,以此偏差值计算其他按钮位置坐标。

示例性地,对于一个按钮,其X轴第一增量为固定值,固定值为8,针对信号机高矮柱,当信号机为矮柱时设置X轴第二增量为0,根据XML配置坐标以内部画图的方式计算其他设备的坐标。朝向右侧的信号机,为矮柱,文件原始位置为:X轴144,Y轴612,XML配置坐标为X轴152,Y轴670,其差值为X轴8,Y轴58,其他朝向右侧的信号机均按照此方式计算坐标位置。根据该坐标验证方法,锚点坐标配置完成后,可以进行锚点坐标位置验证,验证准确时可以根据变量生成其他设备位置坐标。

示例性地,对于一个按钮,其X轴第一增量为固定值,固定值为8,针对信号机高矮柱,当信号机为半高柱时设置X轴第二增量为4,根据XML配置坐标以内部画图的方式计算其他设备的坐标。朝向右侧的信号机,为矮柱,文件原始位置为:X轴1480,Y轴800,XML配置坐标为X轴1492,Y轴858,其差值为X轴12,Y轴58,其他朝向右侧的信号机均按照此方式计算坐标位置。根据该坐标验证方法,锚点坐标配置完成后,可以进行锚点坐标位置验证,验证准确时可以根据变量生成其他设备位置坐标。

示例性地,对于一个按钮,其X轴第一增量为固定值,固定值为8,针对信号机高矮柱,当信号机为高柱时设置X轴第二增量为8,根据XML配置坐标以内部画图的方式计算其他设备的坐标。朝向右侧的信号机,为矮柱,文件原始位置为:X轴160,Y轴200,XML配置坐标为X轴176,Y轴258,其差值为X轴16,Y轴58,其他朝向右侧的信号机均按照此方式计算坐标位置。根据该坐标验证方法,锚点坐标配置完成后,可以进行锚点坐标位置验证,验证准确时可以根据变量生成其他设备位置坐标。

基于按钮的位置,生成对按钮的目标操作指令。

具体地,基于按钮的位置,通过预设的配置信息,判断按钮的功能,按照预设的联锁逻辑生成对按钮的操作指令。操作指令是对目标按钮执行的操作作出的指令,根据指令执行相应操作。可执行的操作包括点击按钮、调出子菜单或调出子菜单后点击子菜单中的选项等。

响应于目标操作指令,获取第二状态。

具体地,根据生成的对按钮的目标操作指令,该装置可以模拟人工操作的方法,执行相应的操作,获取排列进路对应的信号机的第二状态。模拟人工操作的方法,是指基于预先配置的信息,获取目标按钮的信息和状态,判断基于联锁逻辑对该按钮的操作,由软件移动光标或其他可执行的操作方式,进行相应的操作。

本发明实施例通过读取站场的联锁控制图,基于预设的配置信息,确定联锁控制图中按钮的位置,基于按钮的位置,生成对按钮的目标操作指令响应于目标操作指令,获取第二状态。通过预先配置联锁逻辑,自动获取联数据锁测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

基于上述任一实施例的内容,响应于目标操作指令,获取第二状态,包括:

响应于目标操作指令,获取联锁子系统中排列进路对应的信号机的响应数据和/或站场的联锁控制图中排列进路对应的信号机的显示状态。

具体地,排列进路对应的信号机的第二状态,可以通过该排列进路对应的信号机的响应数据和/或联锁控制图中该信号机的显示状态指示。排列进路对应的信号机的响应数据可以记录在测试结果中,用以显示该信号机的状态;基于该排列进路对应的信号机的响应数据,根据软件的显示逻辑,联锁控制软件读取该响应数据按照读取的数据显示为亮灯或灭灯。

示例性地,站场的联锁控制图中排列进路对应的信号机的显示状态包括灭绿、灭黄、室外绿灯或室外黄灯等状态。

本发明实施例通过响应于目标操作指令,获取联锁子系统中排列进路对应的信号机的响应数据和/或站场的联锁控制图中排列进路对应的信号机的显示状态,通过预先配置联锁逻辑,自动获取联数据锁测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

基于上述的联锁数据测试方法,针对每一条进路,基于进路所属的站场和排列进路对应的按钮,获取排列进路对应的信号机的第二状态之前,还包括:基于进路所属的站场,对站场的站场图进行截图,设置设备控制信息,获取站场的联锁控制图。

具体地。通过基于进路所属的站场,对站场的站场图进行截图,设置设备控制信息,获取站场的联锁控制图。用户可以使用操作系统自带的截图工具进行截图,也可以使用其他截图工具截图,截图时要注意截图界面不能有除待截图窗口外的其他内容。

本发明实施例通过响应于目标操作指令,获取联锁子系统中排列进路对应的信号机的响应数据和/或站场的联锁控制图中排列进路对应的信号机的显示状态,通过预先配置联锁逻辑,自动获取联锁数据测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

基于上述任一实施例的内容,基于第一状态和第二状态,获取进路的测试结果,包括:在排列进路对应信号机的第一状态与第二状态一致的情况下,将进路的测试结果确定为正确,在排列进路对应信号机的第一状态与第二状态不一致的情况下,将进路的测试结果确定为错误。

具体地,对于每一条进路,可以判断排列该进路对应信号机的第一状态与第二状态是否一致。若一致,则判断该排列进路联锁数据测试结果为正确;若不一致,则判断该排列进路联锁数据测试结果为错误。

示例性地,排列进路对应的信号机的第一状态与第二状态一致表现为同为灭绿、同为灭黄、同为室外绿灯或同为室外黄灯等状态,在此情况下,将进路的测试结果确定为正确。若第一状态与第二状态不一致,在此情况下,将进路的测试结果确定为错误。

本发明实施例通过在排列进路对应信号机的第一状态与第二状态一致的情况下,将进路的测试结果确定为正确,在排列进路对应信号机的第一状态与第二状态不一致的情况下,将进路的测试结果确定为错误。通过预先配置联锁逻辑,自动获取联数据锁测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

基于上述任一实施例的内容,基于第一状态和第二状态,获取进路的测试结果之后,还包括:基于各进路的测试结果,输出联锁数据的测试结果。

具体地,基于各进路的测试结果,对每一条排列进路对应的信号机的第一状态和第二状态进行统计,对基于每一条排列进路对应的信号机的第一状态和第二状态获得的测试结果进行统计,排列进路对应的信号机每一条进路的全部统计结果作为测试结果输出。

测试结束后会生成的测试日志,测试日志可以是Excel格式,也可以是其他可以表示测试结果的格式。日志文件包含所有的执行动作和验证结果,正确使用“√”,错误使用“×”,还包括测试时间,被测对象版本、被测对象项目名称、被测对象路径、PC名称、测试项目名称等。根据各项目生成的测试日志,可转换成最终的测试记录单,可以根据不同需要可对已有的测试记录模板进行调整。测试记录单内包括测试结果外还包含被测对象版本和测试时间。

本发明实施例通过基于各进路的测试结果,输出联锁数据的测试结果。通过预先配置联锁逻辑,自动获取联锁数据测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

为了清楚地讲解本发明实施例,下面提供一个基于本联锁测试方法实施例,以说明本发明实施例的实施方式,本测试实施例执行的是本发明的方法。因此,在前述各实施例中的联锁数据测试方法中的描述和定义,可以用于本发明实施例的理解。

本实施例可以基于一个联锁数据测试工具(程序)执行,该工具可以用于执行本联锁数据测试的方法。

下面结合图3具体说明该工具的技术架构。

技术架构是实现各功能的技术方案,是基于Windows的。

应用代码:应用代码是由遵守Tcl/Tk语言的Tcl/Tk文件组成。

Tcl/Tk interpreter Tcl/Tk解析器:Tcl/Tk解析器允许在目标Windows上执行Tcl/Tk脚本。

工具核心是可以运行在PC机的Windows系统上,具体地,可以运行在Windows7系统上或Windows10系统上,被测对象CI和MMI都是运行于Windows的应用软件。

第三方库:

BWidget:是用Tcl/Tk编写的库,它提供了Tk高级窗体小部件Tk高级窗体小部件包括按钮、下拉列表框、滚动窗口和菜单等。

TWAPI:Tcl Windows API是Windows通过各种接口提供控制的库,测试工具使用的接口有Win32 API和COM接口。

CAWT:有Tcl的COM自动化是Windows COM接口应用上提供控制的库,主要是办公套件,办公套件可以是Word或Excel等。CAWT用于自动导入电子表格数据,生成日志文件。

Capture2Text:可以帮助用户在操作电脑的时候对一些不能直接复制的文字进行识别,软件中主要的识别方式就是截图识别,将想要识别的文字、按钮状态、指示灯状态截图下来之后进行识别操作。

核心架构是该工具工作的重要过程,包括从用户配置,读取输入文件,生成测试数据,导入测试项目,执行测试,输出测试结果的全过程,核心软件架构如图4所示。

该工具包含以下组件:配置器、排序器、执行器、通信器、检查器、记录器、工具核心、用户图形界面和工具核心界面。下面结合图5具体说明该工具各组件的功能或工作原理。

配置器:配置组件的目的是为工具应用软件提供应用数据和配置。配置组件在Tk窗口显示所选图片视图;图片视图反映原始大小和图片位置;显示图片可滚动以达到完整图像;当用户在图片上单击左键,配置组件会返回光标位置;配置组件设有用户调色板定义,这可以用测试工具进行显示检查;配置组件为每个视图定义一个配置数组,包括对象类型、对象名称、对象位置、对象类型由用户定义如信号机,轨道区段,有岔轨道区段等、对象类型“锚点”预留用于在视图上放置锚点、对象类型“信号机”预留用于在视图上设定信号机位置;配置组件可以从一个Excel文件中上载数据;配置组件数据上载是用户通过向其公开的脚本来定义的;配置组件具有通过对象名获取视图的功能;配置组件具有从两架信号机获取同样视图的功能;配置组件具有从两个锚点获取同样视图的功能;配置组件具有在视图上对所有对象的x和y坐标设置偏移量的功能。在获取对象位置时应用偏移量,例如由于标题栏需要调整图片视图的偏移量。

排序器:排序器在输入文件中读取测试项目文件,执行测试项目文件的顺序操作;排序器在根据测试项目背景启动相应分配的应用。如果测试项目是在MMI和LSTEST上定义操作,排序器使这些应用可用于测试工具;排序器立即执行操作,执行下一个操作前要等待上一操作的结果;如果出现程序冻结、错误或非正常情况,排序器可停止测试项目运行;排序器可从一个给定系统和测试项目背景下重启测试项目的执行。在场景背景下,指的是从测试点开始。

执行器:执行在测试过程中相应的命令操作,例如启动被测软件,按压相应按钮办理进路,操纵道岔,取消进路等所有需要执行的操作,来完成整个测试任务。

通信器:组件通信器可定义套接字客户/服务器和管道通信;通信通道没有阻塞模式、缓冲行;客户阅读器执行安全收到的命令行,向命令发送器返回结果;命令发送器的通信函数等待命令结果,返回命令结果;通信函数可执行Windows应用,控制标准输入输出通道(stdin/stdout),记录exe id,以备将来使用;与Windows可执行程序的通信是通过stdin和stdout通道来执行的;组件通信器使用返回的stored_id来中止执行中的可执行文件;组件通信器可将专用命令从工具核心传送至被测软件。

检查器:检查器具有验证组件提供检查屏幕显示的功能,例如:在执行命令操作时,按压某个按钮,工具会进行截图,对比按压之前和按压之后的区别,已确认按钮是否按压成功。

记录器:全局“日志”函数用于在场景中在日志文件中写入文本。记录测试结果和错误数量,输出Excel格式电子表格;如果不存在日志文件,就生成日志文件,否则现有日志文件用于编写日志文本;日志文件名是根据创建日期yyyy_mm_dd_hh_mm_ss.xlsx来命名;记录在文件中的文本文件以日期作前缀,格式为y:m:d:m:s:ms;场景文件中的命令“END OFTEST”以测试结论(通过、失败及故障和错误的数目)结束日志文件,关闭文件。

工具核心:工具核心执行测试项目以便捷的方式记录测试结果:如果运行成功,测试结果要有明确显示,不成功的情况要定位错误位置;工具核心是由组件配置器、排序器、执行器、通信器、检查器和记录器组成的;组件核心执行测试项,这些操作是定义在本地执行的;组件核心发送测试命令,在执行后续操作前等待反馈结果;组件核心使用配置的数据执行测试项目操作,在日志文件中记录结果。

用户图形界面:工具核心用户界面:配置、开始、运行、停止、重置等控制按钮来管理测试。界面是用Tk语言开发的,支持GRID+包;在配置模式下,该模式允许用户配置项目:配置MMI数据,截图数据,项目数据,配置适配器,XML比例配置,被测对象版本号配置等,用以完成整个项目的配置;在测试模式下,此模式用于运行测试生成测试日志和记录:选择要运行的测试项,可以对正在运行的测试项进行操作,从日志文件生成测试记录;以上这两种模式是互斥的:配置模式的用户操作在测试模式下不可用,测试模式的用户操作在配置模式下不可用。

工具核心界面:主窗口,运行该测试工具,可打开主界面,主界面配置有菜单,可打开文件,配置文件,切换测试界面,工具核心界面介绍如下:

文件:新建,新建一个TG项目;打开,打开TG项目;保存,保存TG项目;另存为,将TG项目保存在新的目录;关闭,关闭项目。

编辑:编辑命令包括撤销、重复、剪切、复制、粘贴和删除的。

配置:MMI配置,图形界面数据配置;菜单配置,控制人机界面菜单;截图配置,控制人解(机)界面操作元素;联锁数据表配置,被测对象进路、道岔、信号机、区段元素;驱动数据表配置,设备驱动对象位置元素。

测试:只有切换到测试界面才可有效使用。

问号:提供帮助和部分可执行命令的简便操作。

主界面还提供:保存、复制、粘贴、返回、前进快捷菜单。

Configuration窗口,可在配置和测试窗口间切换,启机后默认为配置界面选项

视图:提供加载、生成、数据、移除快捷子菜单,可以快速切换到已配置的图形界面、重新生成数据、查看已生成的数据、移除视图功能。

XML比例:可以配置图形界面设备像素锚点,以此为参照物,定位其他设备坐标。

控显版本:可配置被测对象版本。

适配器:可配置被测对象在PC端的路径,用以工具自动启动被测对象。

该联锁测试实施例包含以下步骤:测试环境搭建、新建项目、测试准备、测试配置、测试执行、测试记录和纠错及问题处理。

测试环境搭建的具体过程可以如下:

将测试核心应用放在PC上,PC系统可以是WindowsXP、Windows7或Windows10等。该应用不需要安装。该工具是根据坐标识别各元素位置,识别的元素包括信号机、道岔和区段等。该工具可以用于分辨率为1920*1080和1366*768的PC或外接显示器,将显示器设置为所需的分辨率。

启动测试工具,在工具主界面进行各项配置,配置所需各个文件。

文件菜单内有子菜单,子菜单包括:新建,用于新建一侧测试项目;打开,用于打开一个测试项目;保存,用于保存测试项目;另存为,用于将测试项目保存在新的目录中;关闭,用于关闭项目。

特别地,首次测试时需要新建一个项目,之后的测试中,可以打开配置过的项目,选择另存为,重新进行配置,可以节约配置时间,提高测试效率。

新建项目的具体过程可以如下:

在菜单内选择文件-新建项目,在弹出的对话框输入新建项目名称,保存位置,新建项目成功后会在项目目录下生成6个文件夹,该文件结构是固定的。文件夹包括:data文件夹,用于存放配置生成的数据文件;input文件夹,用于存放输入文件,包括联锁表、采驱表、配置截图和人机界面文件等;Template文件夹,用于存储测试记录模板;tests文件夹,用于存储测试项目文件;tests images文件夹,用于存储测试过程中的验证图片,包括按钮、屏蔽门和信号门等;tests results文件夹,用于存储测试日志和测试报告。

测试准备的具体过程可以如下:

将数据表格放入input文件夹,包括联锁表和输入输出表格等;将测试记录模板放入Template文件夹;将测试项目文件放入tests文件夹;将人机界面文件放入input文件夹下的xml文件夹,包括界面显示文件、菜单命令操作配置文件和协议文件等;将config文件放入input文件夹。

测试配置的具体过程可以如下:

截图配置:可以使用截图工具截图,截取的图片保存在input文件夹下的images文件夹下,图片格式为JPG。人机界面截图,统一命名为window,用于控制人机界面操作;可选地,设备状态截图,统一命名为relay,用于操作设备状态;可选地,输入输出数据表截图,统一命名为in out data,用于查看设备动作状态;可选地,临时限速操作窗口截图,统一命名为limit speed init,用于设置和取消临时限速。截图完成后可以对截图逐一配置,配置后生成配置文件screenConf,存储在data文件夹下。

XML配置:选择被测对象人机界面上下轨道最左端和最右端的两架信号机,基于界面显示文件Icondev内该信号机坐标进行配置。可以使用相应命令定位,验证坐标定位是否准确。定位可以微调,定位到信号机中心。文件配置完成后将生成配置文件xmlScale存储在data文件夹下。

MMI配置:MMI为图形绘制文件,包含设备元素坐标,包括信号机、道岔和区段等。选择input文件夹内下的xml文件夹下的Icondev文件,按压生成按钮,根据配置的XML坐标锚点生成所有设备坐标。生成的坐标文件CM_MMI,存储在data文件夹下。

适配器配置:配置被测对象在PC端的路径,用于工具自动启动被测对象。文件配置完成后生成配置文件adapters,存储在data文件夹下。

操作菜单配置:用于配置工具在被测对象人机界面时需要打开和操作的设备菜单,包括鼠标右键设置信号机的亮灭信息、鼠标右键设置道岔的定位、反位或四开和设置区段的占用情况等。文件配置完成后生成配置文件MENU,存储在data文件夹下。

Config文件配置:用于为适配工具读取联锁数据表和输入输出表,数据表为Excel格式。data regexp配置,用于匹配数据格式,包括信号机、区段、道岔、站台门和紧急关闭等的命名方式;device_attr配置,用于配置联锁表合输入输出表的格式信息;other_objectsr配置,用于配置其他联锁对象数据信息,包括站台门、紧急关闭和扣车等;protection_sectionr配置,用于保护区段数据信信息;automatic folding section配置,用于配置自动折返和全自动折返等数据信息;special approach section配置,用于配置特殊接近锁闭区段数据信息;special signalr配置,用于配置特殊信号机,包括一些跨站的虚拟信号机;template configr配置,用于测试记录单输出配置,在记录单发生变化时配置。

联锁数据表配置:联锁数据表导入时依次读取CBTC联锁表、降级模式联锁表、引导信号表、折返进路信号表;联锁表导入成功后在data文件夹下生成testData_automatic_folding_back_routes(自动折返进路数据)、testData_calling_on_routes(引导进路数据)、testData_non_CTC_routes(降级模式进路数据)、testData_points(道岔数据)、testData_routes(进路数据)、testData_sections(区段数据)、testData_signals(信号机数据)、testData_stations(站名数据)。

输入输出数据表配置:用于输入输出配置,具体到各个设备在输入输出数据表中的具体位置。生成配置文件testData_CBI_i_o,存储在data文件夹下。

版本配置:用于被测对象版本号的配置。配置完成后将生成配置文件MMI_version,存储在data文件夹下

IP地址配置:被测对象间通信使用的IP地址,工具通过该IP地址获取被测对象间的通信信息,确定各设备状态,完成各设备操作,包括进路办理、操纵道岔、区段占用等。

测试执行的具体过程可以如下:

获取被测对象MMI控制权:在测试界面按压“获取MMI控制权限”按钮即可获得MMI的控制权限,实现工具执行操作的需要。

验证锚点坐标:使用“actions::MMI_select signal_lamp1”命令语句直接定位锚点信号机坐标。对偏差在XML配置中进行微调。

选择测试范围:测试范围的选择是以文件呈现的,完整测试时直接选择该文件,分段测试在该文件内填入分段范围,特定测试在该文件内填入特定设备。具体地,测试范围指全部设备和进路,全场有20个道岔,可以选择全部测试,也可以选择分段测试1-10,也可以选择某几个特定道岔,如P001,P008,P018等。其他设备例如:进路、信号机、区段,均可实现上述方式的选择。

选择测试内容:测试内容以单独的文件呈现,方便选择和测试,可以选择所有测试内容,也可选择部分测试内容,还可以选择单个测试内容。各测试内容可以选择测试顺序,选择优先测试也可选择滞后测试,测试时可根据实际需要进行选择。测试内容选择完成后在测试界面可现实所选测试项的名称、步骤数量信息。

测试:按压“运行”按钮可开始执行测试,此时工具启动被测对象,按顺序执行所选测试内容,测试过程中可显示被测对象错误数量,因错误导致终止的数量,全局进度等。

测试记录的具体过程可以如下:

测试结束后生成Excel格式的测试日志,日志文件包含所有的执行动作和验证结果,正确使用“√”,错误使用“×”,还包括测试时间,被测对象版本、被测对象项目名称、被测对象路径、PC名称、测试项目名称等。根据各项目生成的测试日志,可转换成最终的测试记录单。测试记录单内包括测试结果外还包含被测对象版本和测试时间。

纠错及问题处理的具体过程可以如下:

工具提供了联锁数据表检查功能,在导入前可以使用该功能对联锁数据表进行检查,提前定位问题点。配置工具过程中可能存在一定的人为配置错误,针对这些错误,在导入联锁表时可以给出错误提示,可以精确定位到某个文件的单元格。所有配置均配置完成后,可导出数据配置报告,可对全局数据进行快速浏览。测试界面可以使用设备检查器检查各设备状态,若测试过程中遇到设备状态未知,可以使用该检查器对该设备状态进行检查。

具体地,在采用上述基于本发明的联锁数据测试方法的工具进行联锁数据测试,与采用人工进行联锁数据测试进行对比后,把测试不同条数的进路所需要的天数作为对比项,比较人工测试和人工+工具测试的测试效率,结果如表1所示。

表1人工测试与人工+工具测试用时对比表

基于上表的测试结果,按站规模40条进路、每年50个集中站计算,每年可节约9.3天/人*50=465天。若站规模进一步加大,效率会进一步提升。

采用上述基于本发明的联锁数据测试方法的工具进行联锁数据测试,与采用人工进行联锁数据测试进行对比后,把测试不同进路识别出问题的数量作为对比项,比较人工测试和人工+工具测试的结果的准确率,结果如表2所示。

表2人工测试与人工+工具测试发现问题数量对照表

基于上表的测试结果可以看出,人工测试发现的NCR,测试工具也发现了相应问题,其中龙峰站和韶光站工具还各多发现了一个人工没有发现的问题,相比人工测试结果,使用本发明提供的工具获得的测试结果能发现更多的问题,提高测试结果的准确率,可以提高产品质量。

基于上述实施例可以看出,对于采用本发明提供的联锁数据测试方法的工具,该工具体积小、无需安装,运行方便;该工具可直接运行在安装有windowsXP\7\10等系统的PC机上;该工具无需连接外部网络,即可完成测试工作;该工具配置及测试均实现窗口化,方便直观,可视性强;该工具无需改动任何代码和数据,实现界面化测试;该工具测试范围选择方便灵活,可全部测试数据,也可部分测试数据,还可独立选择任意测试数据;该工具测试项目以独立文件形式呈现,可全部选择、可部分选择,可单个或多个非顺序选择测试,还可人为控制测试顺序;该工具可同时运行在多台PC端,进行同一个项目或不同项目测试,提高测试效率;该工具可不间断7*24小时执行测试,提高测试效率;该工具可直接控制鼠标和键盘代替人工无差别测试,避免因人工技术水平不同造成的测试差异,还可以避免因人为疲劳造成的问题逃逸,提高测试质量;该工具配置一次后可多次或终身使用,首次使用该工具后,若某项目进行改造升级,可直接使用该工具执行测试;该工具测试项和测试核心相对独立,在测试核心不变的情况下可根据需要灵活变更测试案例,扩展性和兼容性好。

下面对本发明提供的联锁数据测试装置进行描述,下文描述的联锁数据测试装置与上文描述的联锁数据测试方法可相互对应参照。

图6是本发明提供的联锁数据测试方法装置的结构示意图,如图6所示,包括:

第一获取模块601,用于获取联锁数据中的每一条进路的信息;进路的信息,包括进路所属的站场、排列进路对应的按钮和排列进路对应的信号机的第一状态;

第二获取模块602,用于针对每一条进路,基于进路所属的站场和排列进路对应的按钮,获取排列进路对应的信号机的第二状态;

第三获取模块603,用于基于第一状态和第二状态,获取进路的测试结果。

具体地,第一获取模块601、第二获取模块602和第三获取模块603可以顺次电连接。

可选地,第二获取模块602,包括:

第一获取单元,读取站场的联锁控制图;

第二获取单元,基于预设的配置信息,确定联锁控制图中按钮的位置;

第一执行单元,基于按钮的位置,生成对按钮的目标操作指令;

第一获取单元,响应于目标操作指令,获取第二状态。

可选地,第二获取模块602,包括:

第三获取单元,响应于目标操作指令,获取联锁子系统中排列进路对应的信号机的响应数据和/或站场的联锁控制图中排列进路对应的信号机的显示状态。

可选地,第二获取模块602,包括:

第四获取单元,基于进路所属的站场,对站场的站场图进行截图,设置设备控制信息,获取站场的联锁控制图。

可选地,第三获取模块603,包括:

第二执行单元,在第一状态与第二状态一致的情况下,将进路的测试结果确定为正确,在第一状态与第二状态不一致的情况下,将进路的测试结果确定为错误。

可选地,603还包括:

输出单元,基于各进路的测试结果,输出联锁数据的测试结果。

本发明实施例提供的联锁数据测试装置,用于执行本发明上述联锁数据测试方法,其实施方式与本发明提供的联锁数据测试方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。

该联锁数据测试装置用于前述各实施例联锁数据测试方法。因此,在前述各实施例中的联锁数据测试方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。

本发明提供的联锁数据测试装置,自动读取待测试联锁数据,通过预先配置联锁逻辑,自动获取联数据锁测试结果,可以减少对人工操作的要求,可以提高联锁数据测试的准确度。

图7是本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行联锁数据测试方法,该方法包括:获取联锁数据中的每一条进路的信息;进路的信息包括进路所属的站场、排列进路对应的按钮和排列进路对应的信号机的第一状态;针对每一条进路,基于进路所属的站场和排列进路对应的按钮,获取排列进路对应的信号机的第二状态;基于第一状态和第二状态,获取进路的测试结果。

此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的联锁数据测试方法,该方法包括:获取联锁数据中的每一条进路的信息;进路的信息包括进路所属的站场、排列进路对应的按钮和排列进路对应的信号机的第一状态;针对每一条进路,基于进路所属的站场和排列进路对应的按钮,获取排列进路对应的信号机的第二状态;基于第一状态和第二状态,获取进路的测试结果。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的联锁数据测试方法,该方法包括:获取联锁数据中的每一条进路的信息;进路的信息包括进路所属的站场、排列进路对应的按钮和排列进路对应的信号机的第一状态;针对每一条进路,基于进路所属的站场和排列进路对应的按钮,获取排列进路对应的信号机的第二状态;基于第一状态和第二状态,获取进路的测试结果。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120115636124