1.本发明涉及轨道交通领域领域,特别是涉及一种轨交信号自动测试系统。
背景技术:
2.轨道交通是指运营车辆需要在特定轨道上行驶的一类交通工具或运输系统。最典型的轨道交通就是由传统火车和标准铁路所组成的铁路系统。随着火车和铁路技术的多元化发展,轨道交通呈现出越来越多的类型,不仅遍布于长距离的陆地运输,也广泛运用于中短距离的城市公共交通中。
3.常见的轨道交通有传统铁路(国家铁路、城际铁路和市域铁路)、地铁、轻轨和有轨电车,新型轨道交通有磁悬浮轨道系统、单轨系统(跨座式轨道系统和悬挂式轨道系统)和旅客自动捷运系统等。在中国国家标准《城市公共交通常用名词术语》中,将城市轨道交通定义为“通常以电能为动力,采取轮轨运转方式的快速大运量公共交通的总称。
4.轨道交通系统的子系统主要包括:环境与设备监控系统(bas)、变电所综合自动化系统(pscada)、门禁系统(acs)、屏蔽门系统(psd)、防淹门系统(fg)、智能照明控制系统(knx)、马达控制中心(mcc)、火灾自动报警系统(fas)、自动售检票系统(afc)、闭路电视系统(cctv)、广播系统(pa)和信号系统(sig)等。
5.现有轨道交通信号系统(sig)测试方法主要有:
6.1、人工测试,一般通过人工操作,根据编写的测试用例,手动测试,这种方式虽然灵活,但是比较耗时,而且人工操作不可避免可能出现失误或者遗漏。
7.2、修改代码测试,面对某些测试需求,可能需要修改代码,重新编译后测试,这种方式比较麻烦,需要时间修改编译,测试效率低而且不安全。
技术实现要素:
8.在发明内容部分中引入了一系列简化形式的概念,该简化形式的概念均为本领域现有技术简化,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
9.本发明要解决的技术问题是提供一种不需要人工操作(所述人工操作包括编写测试用例、修改代码、重新编译),尤其是被测试对象软件环境发生变化时不需要人工介入操作的轨交信号自动测试系统。
10.为解决上述技术问题,本发明提供的轨交信号自动测试系统,包括:
11.接口模块,其用于生成虚拟机和模拟器之间的轨交信号测试通信接口,并将轨交信号测试通信接口分别注入虚拟机和模拟模块;
12.脚本模块,其用于根据所述轨交信号测试用例,形成测试脚本,例如人工输入编写测试脚本;
13.控制模块,其用于仿真被测试对象的软件环境,并控制所述轨交信号测试脚本控
制模拟模块执行轨交信号测试;
14.模拟模块,其用于模拟被测试对象的通信环境。
15.可选择的,进一步改进所述的轨交信号自动测试系统,所述控制模块包括:
16.显示模块,其用于显示;
17.虚拟机,其用于仿真被测试对象的软件环境,所述软件环境是除被测对象外的所有和被测对象有直接关系的软件;
18.控制器,其用于整体流程控制,包括但不限于初始化虚拟机、初始化接口、控制虚拟机执行脚本顺序、接收执行结果和控制显示等;第一通信接口,其为所述接口模块生成的轨交信号测试通信接口。
19.可选择的,进一步改进所述的轨交信号自动测试系统,所述模拟模块包括:
20.多个模拟器,其用于模拟与被测对象的标准通信协议,其根据对应通信接口协议完成标准通信协议场景模拟;
21.可选择的,进一步改进所述的轨交信号自动测试系统,每个模拟器包括:
22.第二通信接口,其为所述接口模块生成的轨交信号测试通信接口;
23.数据模拟器,其用于模拟标准通信协议;
24.第三通信接口,其与被测对象的标准通信接口,用于执行通信协议。
25.可选择的,进一步改进所述的轨交信号自动测试系统,所述测试脚本通过lua脚本语言编写,所述虚拟机是lua虚拟机。lua是一种轻量化的脚本语言,其设计目的是为了嵌入应用并为应用程序提供灵活的扩展和定制功能。lua由标准c编写而成,几乎在所有操作系统和平台上都可以编译运行。
26.可选择的,进一步改进所述的轨交信号自动测试系统,所述轨交信号测试通信接口能强制修改软件内部状态,其还用于故障注入。
27.可选择的,进一步改进所述的轨交信号自动测试系统,所述接口模块基于rpc框架采用grpc生成轨交信号测试通信接口。
28.可选择的,进一步改进所述的轨交信号自动测试系统,所述模拟模块能通过不同编程语言编写。
29.可选择的,进一步改进所述的轨交信号自动测试系统,所述控制模块和模拟模块能运行于不同计算机。
30.本发明的轨交信号测试通信接口采用rpc(remote procedure call,远程过程调用)框架通信,因此控制模块和模拟模块能运行于不同计算机上。rpc框架采用grpc来完成,grpc是一个高性能、开源和通用的rpc框架,面向服务端和移动端,基于http/2设计,语言中立,支持多种语言.其次序列化支持pb(protocol buffer)和json,pb是一种语言无关的高性能序列化框架,基于http/2 pb,保障了rpc调用的高性能。并且,由于grpc语言中立的特点,因此各模拟模块可以通过不同的编程语言来实现,进一步增加灵活性。
31.相应的,本发明轨交信号自动测试系统中的所有软件都可以通过编译开关增加gprc接口,实现和仿真相同的通信接口,当某个软件开发完成,就可以将对其的仿真软件替换为真实软件,由于采用grpc框架完成通信,因此本发明的轨交信号自动测试系统可以接受常用的大部分编程语言编写的软件。
32.本发明相对现有技术至少能实现以下技术效果:
33.1、本发明能实现自动化测试,高效、准确、安全、灵活,在保证质量,降低开发成本的情况下快速完成轨交信号系统软件测试,降低软件缺陷带来的商业风险,为用户接受软件提供有力证据,树立用户对软件的信心.
34.2、本发明的脚本开发简单灵活,lua语法比较简单,但是又不失编程语言的灵活性,方便开发人员编写。
35.3、本发明采用模块化设计自由组装,由于采用grpc通信,不再限制各个子模块位置(网络上可连接即可),也不再限制各模拟模块的编写语言,具有更好的扩展性和适用性。
附图说明
36.本发明附图旨在示出根据本发明的特定示例性实施例中所使用的方法、结构和/或材料的一般特性,对说明书中的描述进行补充。然而,本发明附图是未按比例绘制的示意图,因而可能未能够准确反映任何所给出的实施例的精确结构或性能特点,本发明附图不应当被解释为限定或限制本发明的示例性实施例所涵盖的数值或属性的范围。下面结合附图与具体实施方式对本发明作进一步详细的说明:
37.图1是本发明第四实施例原理示意图。
具体实施方式
38.以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容充分地了解本发明的其他优点与技术效果。本发明还可以通过不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点加以应用,在没有背离发明总的设计思路下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。本发明下述示例性实施例可以多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的具体实施例。应当理解的是,提供这些实施例是为了使得本发明的公开彻底且完整,并且将这些示例性具体实施例的技术方案充分传达给本领域技术人员。
39.第一实施例;
40.本发明提供一种轨交信号自动测试系统,包括:
41.接口模块,其用于生成虚拟机和模拟器之间的轨交信号测试通信接口,并将轨交信号测试通信接口分别注入虚拟机和模拟模块;
42.脚本模块,其用于根据所述轨交信号测试用例形成测试脚本;
43.控制模块,其用于仿真被测试对象的软件环境,并控制所述轨交信号测试脚本控制模拟模块执行轨交信号测试;
44.模拟模块,其用于模拟被测试对象的通信环境。
45.第二实施例;
46.本发明提供一种轨交信号自动测试系统,包括:
47.接口模块,其用于生成虚拟机和模拟器之间的轨交信号测试通信接口,并将轨交信号测试通信接口分别注入虚拟机和模拟模块;
48.脚本模块,其用于根据所述轨交信号测试用例形成测试脚本,例如人工编写输入测试脚本;
49.控制模块,其用于仿真被测试对象的软件环境,并控制所述轨交信号测试脚本控制模拟模块执行轨交信号测试;
50.模拟模块,其用于模拟被测试对象的通信环境;
51.其中,所述控制模块包括:
52.显示模块,其用于显示所有可用的测试脚本列表,测试脚本运行结果,测试脚本运行过程中的的日志信息.
53.虚拟机,其用于运行测试脚本,并为脚本提供可调用的接口;
54.控制器,其用于整体流程控制,包括初始化虚拟机、初始化接口、控制虚拟机执行脚本顺序、接收执行结果和控制显示;
55.第一通信接口,其为所述接口模块生成的轨交信号测试通信接口。
56.第三实施例;
57.本发明提供一种轨交信号自动测试系统,包括:
58.接口模块,其用于生成虚拟机和模拟器之间的轨交信号测试通信接口,并将轨交信号测试通信接口分别注入虚拟机和模拟模块;
59.脚本模块,其用于根据所述轨交信号测试用例形成测试脚本;
60.控制模块,其用于仿真被测试对象的软件环境,并控制所述轨交信号测试脚本控制模拟模块执行轨交信号测试;
61.模拟模块,其用于模拟被测试对象的通信环境;
62.其中,所述控制模块包括:
63.显示模块,其用于显示所有可用的测试脚本列表,测试脚本运行结果,测试脚本运行过程中的的日志信息.
64.虚拟机,其用于运行测试脚本,并为脚本提供可调用的接口;
65.控制器,其用于整体流程控制,包括初始化虚拟机、初始化接口、控制虚拟机执行脚本顺序、接收执行结果和控制显示;
66.第一通信接口,其为所述接口模块生成的轨交信号测试通信接口;
67.所述模拟模块包括:
68.多个模拟器,其用于模拟与被测对象的标准通信协议,根据对应通信接口协议完成标准通信协议场景模拟;每个模拟器包括:
69.第二通信接口,其为所述接口模块生成的轨交信号测试通信接口;
70.数据模拟器,其用于模拟标准通信协议;
71.第三通信接口,其与被测对象的标准通信接口,用于执行通信协议。
72.第四实施例;
73.参考图1所示,本发明提供一种轨交信号自动测试系统,包括:
74.接口模块,其基于rpc框架采用grpc生成虚拟机和模拟器之间的轨交信号测试通信接口,并将轨交信号测试通信接口分别注入虚拟机和模拟模块,所述轨交信号测试通信接口能强制修改软件内部状态,其还用于故障注入;
75.脚本模块,其用于根据所述轨交信号测试通信接口生成轨交信号测试脚本,所述测试脚本通过lua脚本语言编写;
76.控制模块,其用于仿真被测试对象的软件环境,并控制所述轨交信号测试脚本控
制模拟模块执行轨交信号测试;
77.模拟模块,其用于模拟被测试对象的通信环境;
78.其中,其中,所述控制模块包括:
79.显示模块,其用于显示所有可用的测试脚本列表,测试脚本运行结果,测试脚本运行过程中的的日志信息;
80.虚拟机,其用于运行测试脚本,并为脚本提供可调用的接口;
81.控制器,其用于整体流程控制,包括初始化虚拟机、初始化接口、控制虚拟机执行脚本顺序、接收执行结果和控制显示;
82.第一通信接口,其为所述接口模块生成的轨交信号测试通信接口;
83.所述模拟模块包括:
84.多个模拟器,其用于模拟与被测对象的标准通信协议,根据对应通信接口协议完成标准通信协议场景模拟;每个模拟器包括:
85.第二通信接口,其为所述接口模块生成的轨交信号测试通信接口;
86.数据模拟器,其用于模拟标准通信协议;
87.第三通信接口,其与被测对象的标准通信接口,用于执行通信协议。
88.所述模拟模块能通过不同编程语言编写,所述控制模块和模拟模块能运行于不同计算机。
89.除非另有定义,否则这里所使用的全部术语(包括技术术语和科学术语)都具有与本发明所属领域的普通技术人员通常理解的意思相同的意思。还将理解的是,除非这里明确定义,否则诸如在通用字典中定义的术语这类术语应当被解释为具有与它们在相关领域语境中的意思相一致的意思,而不以理想的或过于正式的含义加以解释。
90.以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
转载请注明原文地址:https://win.8miu.com/read-250452.html