铁路信号计算机联锁系统的自动化测试系统的制作方法

文档序号:6304192阅读:447来源:国知局
铁路信号计算机联锁系统的自动化测试系统的制作方法
【专利摘要】本发明公开了一种铁路信号计算机联锁系统的自动化测试系统,包括测试用例执行器和测试用例生成器。测试用例执行器至少包括脚本执行器、上位机模拟器和输入输出板模拟器。脚本执行器用于读入、解析和执行测试用例脚本,上位机模拟器用于完成模拟联锁上位机的通信功能,输入输出板模拟器用于完成模拟输入输出板的通信功能;测试用例生成器接收测试场景脚本和实际站场数据并生成测试用例脚本。本发明能节省测试人力和时间、提高测试效率和准确率。
【专利说明】铁路信号计算机联锁系统的自动化测试系统
【技术领域】
[0001]本发明涉及一种铁路信号计算机联锁系统的测试系统,特别是涉及一种铁路信号计算机联锁系统的自动化测试系统。
【背景技术】
[0002]铁路信号计算机联锁系统是一种为了保证铁路行车安全的设备,它可以接受调度人员的操作命令,并结合采集的各种设备状态信息进行复杂的逻辑运算后,控制铁路信号机的灯光显示和道岔设备的动作。
[0003]铁路信号计算机联锁系统在研发过程中和每个实际项目使用之前都必须经过严格的测试,并且每次修改软件或配置数据后,都要重新测试一遍软件。目前铁路信号计算机联锁系统的测试,主要依靠工程经验丰富的测试人员手工测试,由于采用测试人员的手工测试,使得现有计算机联锁测试过程中存在人力投入大,测试时间长,对测试人员要求高,测试过程易出错,重复工作量大等一系列问题。

【发明内容】

[0004]本发明所要解决的技术问题是提供一种铁路信号计算机联锁系统的自动化测试系统,能节省测试人力和时间、提高测试效率和准确率。
[0005]为解决上述技术问题,本发明提供的铁路信号计算机联锁系统的自动化测试系统包括测试用例执行器和测试用例生成器。
[0006]所述测试用例执行器至少包括脚本执行器、上位机模拟器和输入输出板模拟器。
[0007]所述脚本执行器用于读入、解析和执行测试用例脚本,所述测试用例脚本用于描述联锁测试过程。
[0008]所述上位机模拟器用于完成模拟联锁上位机的通信功能,所述联锁上位机的通信功能包括用于接收联锁下位机发送的联锁状态数据以及将联锁操作命令发送给所述联锁下位机。
[0009]所述输入输出板模拟器用于完成模拟输入输出板的通信功能,所述输入输出板的通信功能包括接收所述联锁下位机发送的继电器控制命令和发送继电器状态数据給所述联锁下位机。
[0010]所述测试用例生成器接收测试场景脚本和实际站场数据,根据实际站场数据中的实际使用的设备对所述测试场景脚本中的设备进行替换生成所述测试用例脚本。
[0011]进一步的改进是,所述测试场景脚本和所述测试用例脚本都采用可扩展标记语言(Extensible Markup Language, XML)格式语句描写。
[0012]进一步的改进是,所述测试用例执行器还包括用户界面,所述用户界面提供测试人员观察测试过程中站场状态变化的过程的功能和提供测试人员手动测试的功能。
[0013]进一步的改进是,所述测试用例执行器还包括数据管理包,所述数据管理包用于实现联锁相关的各种数据模型,并在各种数据模型的基础上提供获取数据和设置数据的功倉泛。
[0014]进一步的改进是,所述测试用例执行器所包含的数据来源包括:所述上位机模拟器接收到的所述联锁状态数据,所述输入输出板模拟器接收到的所述继电器控制命令,所述脚本执行器设置的模拟数据。
[0015]进一步的改进是,所述测试用例脚本包括如下4大类命令或语句:设置联锁输入数据和上位机操作命令,比较联锁输出数据和联锁状态数据,控制所述脚本执行器的运行参数,初始化所述联锁下位机命令。
[0016]本发明能够实现铁路信号计算机联锁系统的自动化测试,能够取得如下有益效果:
[0017]测试场景可以重复使用,能大大降低重复工作量。
[0018]节省了大量的人力和时间,并且对测试人员没有过高的要求,提高了测试效率。
[0019]测试过程可重现且不易出错,提高了测试的准确性。
[0020]测试结果易分析。
【专利附图】

【附图说明】
[0021]下面结合附图和【具体实施方式】对本发明作进一步详细的说明:
[0022]图1是铁路信号计算机联锁系统的结构示意图;
[0023]图2是本发明实施例的测试用例执行器的结构示意图;
[0024]图3是本发明实施例的测试用例生成器的结构示意图。
【具体实施方式】
[0025]本发明实施例是针对铁路信号计算机联锁系统的结构特点和测试工作的特点专门设计的一套综合自动化测试系统,如图1所示,是铁路信号计算机联锁系统的结构示意图;铁路信号计算机联锁系统结构上主要分为联锁上位机101,联锁下位机102,输入输出板103,继电器电路104。
[0026]联锁上位机101负责接收操作人员的操作命令,并把命令下发给联锁下位机102,同时接收联锁下位机102发送的各种状态数据并显示给操作人员。联锁上位机101与联锁下位机102通过以太网通信。
[0027]联锁下位机102主要负责完成逻辑运算,并通过现场总线将控制命令发送给输入输出板103,或者接收输入输出板103发送的继电器电路104状态数据。
[0028]输入输出板103负责实际的采集和控制继电器电路104动作。
[0029]如图2所示,是本发明实施例的测试用例执行器I的结构示意图;如图3所示,是本发明实施例的测试用例生成器2的结构示意图。本发明实施例铁路信号计算机联锁系统的自动化测试系统包括测试用例执行器I和测试用例生成器2。
[0030]所述测试用例执行器I的结构按功能分成五个包,分别为:用户界面3,数据管理包4,脚本执行器5,上位机模拟器6和输入输出板模拟器7。
[0031]所述用户界面3米用WPF (Windows Presentation Foundation)技术来实现站场图形的显示,显示需要的动态数据从数据管理包4中获取,主要提供测试人员观察测试过程中站场状态变化的过程的功能和测试人员手动测试的功能,并且可以选择测试用例脚本8中的某个或者某类脚本进行测试。其中,WPF是微软推出的用户界面框架,属于NETFrameW0rk3.0的一部分;它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
[0032]所述数据管理包4作为整个测试用例执行器的核心,主要实现了联锁相关的各种数据模型,并在此基础上提供获取数据和设置数据的功能。数据管理包4中所包含的数据主要来自上位机模拟器6接收到的联锁状态数据和输入输出板模拟器7接收到的联锁下位机102输出的继电器控制命令,以及脚本执行器5设置的各种模拟数据。数据管理包4同时为其它四个包提供所需数据。
[0033]所述脚本执行器5用于读入、解析和执行测试用例脚本8即负责加载和运行脚本,所述测试用例脚本8用于描述联锁测试过程。所述测试用例脚本8包括如下4大类命令或语句:设置联锁输入数据和上位机操作命令,比较联锁输出数据和联锁状态数据,控制所述脚本执行器5的运行参数,初始化所述联锁下位机102命令。
[0034]所述脚本执行器5还输出测试报告9。
[0035]所述上位机模拟器6用于完成模拟联锁上位机101的通信功能,所述联锁上位机101的通信功能包括用于接收联锁下位机102发送的联锁状态数据以及将联锁操作命令发送给所述联锁下位机102。
[0036]所述输入输出板模拟器7用于完成模拟输入输出板103的通信功能,所述输入输出板103的通信功能包括接收所述联锁下位机102发送的继电器控制命令和发送继电器状态数据給所述联锁下位机102。
[0037]所述测试用例生成器2负责完成测试场景脚本10到测试用例脚本8的转换工作,所述测试用例生成器2接收测试场景脚本10和实际站场数据11,根据实际站场数据11中的实际使用的设备对所述测试场景脚本10中的设备进行替换生成所述测试用例脚本8。为简化测试用例生成器的开发工作,测试场景脚本10和测试用例脚本8基本类似,只是在测试场景脚本10中出现具体的设备名称时,只填写设备种类名称即可;测试用例生成器2负责根据实际的实际站场数据11将测试场景脚本10中的设备种类名称修改为实际站场数据11中的实际使用的设备名称即可将测试场景脚本10转换为测试用例脚本8。
[0038]本发明实施例中,所述测试场景脚本10和所述测试用例脚本8都采用XML格式语句描写。测试场景脚本10由工程经验丰富的人员手工编写一次即可,在不同的项目中可以复用此测试场景脚本10。
[0039]本发明实施例为一种通用算法,能够采用C#语言或者Java语言来实现,也能采用其它编程语言来实现。
[0040]以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
【权利要求】
1.一种计算机联锁系统自动生成测试用例的方法,其特征在于,包括如下步骤: 步骤一、形成站场基本数据,站场基本数据由多个基本数据文件组成,每一个基本数据文件对应于一类轨旁设备的所有联锁逻辑相关基本数据,每一个基本数据文件由多个采用XML文件描述的设备元素组成,每一设备元素对应于一个轨旁设备的所有联锁逻辑相关基本数据; 步骤二、形成测试模板文件,所述测试模板文件由多个测试模板集组成,每一个测试模板集对应于一类功能相关测试集;各类功能的所述测试模板集由多个测试模板子集组成,各所述测试模板子集对应于一类功能中各子功能的相关测试集;各所述测试模板子集由多个采用XML文件描述的测试模板元素组成,每一个测试模板元素描述了一类联锁逻辑的测试场景; 步骤三、根据所述站场基本数据和所述测试模板文件自动生成测试用例,包括如下分步骤: 步骤31、加载所述测试模板文件; 步骤32、依次循环所述测试模板文件并依次遍历所述测试模板文件中的每一个测试模板元素所对应的测试场景; 步骤33、检测所述测试模板元素的语法格式,取值范围,逻辑关系,确保生成的测试用例能被正确识别; 步骤34、对每一个所述测试模板元素都生成一个单独的测试用例集文件,该测试用例集文件中包含其对 应的所述测试模板元素的测试场景下针对同类设备的所有的测试用例;通过每一个所述测试模板元素生成所对应的测试用例集文件的步骤包括如下的步骤35至步骤310 ; 步骤35、所述测试模板元素的属性中的设备类型值指明了待测设备的类型,所述待测设备的类型为适合所述测试模板元素的测试场景的设备类型,通过所述测试模板元素的属性中的设备类型值获取所述站场基本数据中的所述待测设备的类型所对应的所述基本数据文件; 步骤36、依次循环所述待测设备的类型所对应的所述基本数据文件从而获取待测设备元素,使得该基本数据文件中的每一个待测设备元素都至少包括一个测试用例覆盖; 步骤37、为每个所述待测设备元素所对应的待测设备生成一个原始测试用例; 步骤38、根据所述待测设备的类型所对应的所述基本数据文件对各所述原始测试用例进行设备名的替换; 步骤39、根据所述待测设备的类型所对应的所述基本数据文件对各所述原始测试用例进行期望状态值的替换; 步骤310、依次循环所述待测设备的相关设备的类型所对应的基本数据文件,重复步骤37至步骤39,使每一个所述相关设备都生成一个测试用例; 步骤311、保存生成的所有测试用例,生成运行日志。
2.如权利要求1所述的方法,其特征在于:步骤一中的所述轨旁设备的类型包括信号机、道岔或区段。
3.如权利要求1或2所述的方法,其特征在于:所述设备元素包括设备ID、待测试的设备类型、待测试的设备名、控制区域和相关设备。
4.如权利要求1所述的方法,其特征在于:各所述测试模板集所对应的功能类型包括进路功能、道岔功能或区段功能。
5.如权利要求1或4所述的方法,其特征在于:所述测试模板元素包含:测试ID,待测试的设备类型,测试输入值,测试步骤,待操作的相关设备,设备操作命令以及期望的返回值。
6.如权利要求1所述的方法,其特征在于:步骤38中根据所述待测设备的类型所对应的所述基本数据文件对各所述原始测试用例进行设备名的替换的方法包括如下步骤: 若所述基本数据文件中的所述待测设备的类型和所述原始测试用例中的设备类型一致,则所述原始测试用例中所对应的设备为所述待测试设备,则所述原始测试用例中的设备类型的值替换为所述待测设备元素的设备名称; 若所述基本数据文件中的所述待测设备的类型和所述原始测试用例中的设备类型不一致,则所述原始测试用例中所对应的设备为所述待测试设备的相关设备,则所述原始测试用例中的设备类型的值替换为所述基本数据文件中的相关设备元素的设备名称。
7.如权利要求1所述的方法,其特征在于:步骤39中根据所述待测设备的类型所对应的所述基本数据文件对各所述原始测试用例进行期望状态值的替换的方法包括如下步骤: 若所述基本数据文件中的所述待测设备的类型和所述原始测试用例中的设备类型一致,则所述原始测试用例中所对应的设备为所述待测试设备,则所述原始测试用例中的期望状态值替换为所述待测设备元素的期望状态值; 若所述基本数据文件中的所述待测设备的类型和所述原始测试用例中的设备类型不一致,则所述原始 测试用例中所对应的设备为所述待测试设备的相关设备,则所述原始测试用例中的期望状态值替换为所述基本数据文件中的相关设备元素的期望状态值。
【文档编号】G05B23/02GK103885439SQ201410108026
【公开日】2014年6月25日 申请日期:2014年3月21日 优先权日:2014年3月21日
【发明者】陈云, 闫坤 申请人:上海富欣智能交通控制有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1