一种通信协议一致性自动化测试方法与流程

文档序号:14574481发布日期:2018-06-02 01:07阅读:200来源:国知局
一种通信协议一致性自动化测试方法与流程

本发明涉及列车通信测试领域,更具体地,涉及一种通信协议一致性自动化测试方法。



背景技术:

随着轨道交通领域的快速发展,轨道交通产品的功能越来越复杂,对轨道交通产品的可靠性要求也越来越高。软件作为轨道交通产品重要的组成部分,软件的质量和可靠性直接影响到轨道车辆的可靠性。系统内各部件的通信协议一致性作为系统软件测试的前提,通过对通信协议的一致性测试能够有效地发现系统内部件间软件中的协议缺陷或故障, 是确保系统质量的首要保证。

机车传动、网络、显示器等部件间的通信协议测试,以往没有进行专门测试,都是结合功能测试一起进行,没有一个第三方专门的测试工具进行通信协议的测试。而通信协议不一致,必将带来系统运行紊乱,后果不堪设想。

目前轨道交通车辆部件的测试还存在以下缺陷:

(1)当前设计人员在开发出某款产品后,将其放置在实际的产品使用条件下测试,才能判断已开发产品的控制逻辑和功能是否满足客户的需求。在实际的运行调试过程中,设计人员发现错误,进行逻辑修正,手动记录故障信息。采用这种方式,周期长、成本高、效率低。况且,对于复杂昂贵的控制对象进行工作调试试验,风险也是非常大的。

(2)在实际进行系统测试验证前,必须基于系统部件间的通信协议进行校对,保证系统内各部件之间通信协议正确。图1为目前列车MVB通信示意图,之前更多的是在实际MVB通信条件下,采用部件间双方在源码基础上进行验证的方法。采用该方法可以满足对系统内部件间的通信协议进行手动测试验证。

(3)当由于用户的需求变更,带来的部件间通信协议的变更,此时必须要求系统内各个部件都采纳新的通信协议进行设计更新。但是机车车辆系统内部件很多,需求文件即使正确传递到每一个部件设计人员,往往由于设计人员没有在短时间内对变更的软件进行全部测试,所以不能完全保证更新之后的软件的通信协议完全正确以及带来的软件功能的正确性。而由于用户现场的质量压力要求必须快速完成软件变更,并发布现场进行动车试验。如不经过一套完整的通信协议测试,直接在实际路况下进行实验,存在较大的质量风险。

如果在现场变更或质量事故后要求设计人员变更软件的时间较短,不能完全对变更软件进行功能测试,但若存在变更协议,必须针对变动后的软件在系统内各部件间进行通信协议的测试。因此,非常有必要研究一种针对同类产品的通信协议一致性测试方法,在测试环境建设过程中,做到协议维护工作量小、测试环境模型的通用,保证在有限时间里,对各部件间进行协议一致性的测试。同时,考虑时间压力,必须进行通信协议一致性的自动化测试。

目前关于车辆系统部件间通信协议的测试方法,主要是针对系统内两两单个部件进行通信协议的校对。分别通过在部件控制软件上强制信号,模拟该设备与连接部件设备的通信数据,进行通信协议测试,这种测试方法需要部件软件设计人员在程序源码上替换已有的接口变量,新增协议上的信号变量,在新增的变量上进行字数据或布尔数据的强制。通过一端强制端口数据,另外一端部件也必须在程序源码上进行观测,判断接收端数据是否与发送端信号大小或布尔状态一致。反过来,当接收信号的部件需要与另外一端部件发送数据验证时,同样需要在程序源码上更改。而对于软件测试来讲,系统测试属于黑盒测试,部件的程序源码是不提供的,也不可能在源码基础上改动进行通信协议的测试。

同时,由于通信协议一般来讲,信号量很大,在源码上改动,待通信协议测试结束之后,容易出现没有完全恢复待测试软件状态,造成不必要的变量定义在程序源码中。势必更加影响了软件的质量,可靠性降低。



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷,提供一种通信协议一致性自动化测试方法,解决了由于协议变更带来各个部件间通信协议不一致造成的质量隐患,提前将问题在测试环境中暴露并有效解决。从而对于后端的功能联合测试提供通信协议的基础保障。

为解决上述技术问题,本发明的技术方案如下:

一种通信协议一致性自动化测试方法,用于测试列车各部件通信协议的一致性,列车各部件通过MVB方式连接,待测的列车各部件均设有通用协议信号映射模块,所述通信协议一致性自动化测试方法包括以下步骤:

S1:各部件与测试环境端工控机建立连接:

待测的列车各部件通过以太网(ETH)连接到交换机,交换机通过以太网(ETH)连接到用于进行通信协议一致性测试的测试环境端工控机;

S2:产生测试信号:

测试环境端工控机产生测试信号,所述测试信号为ETH数据流,所述ETH数据流为能通过以太网传输的数据流,其中一个待测列车部件接收该ETH数据流并通过其通用协议信号映射模块将ETH数据流转换为MVB(多功能车辆总线)数据流;

S3:传输测试信号:

该待测列车部件将MVB数据传输到另一个待测列车部件,另一个待测列车部件再将MVB数据传输到下一个待测列车部件,如此,依次将MVB数据传输到第N个待测列车部件,第N个待测列车部件收到MVB数据流后通过其通用协议信号映射模块将MVB数据流转换为ETH数据流,之后将ETH数据流传输到测试环境端工控机;

S4:通信协议一致性测试:

测试环境端工控机收到ETH数据流后,将接收的测试信号与发送的测试信号比较,测试当前协议是否正确,从而生成测试报告。

在一种优选的方案中,步骤S2中,测试环境端工控机通过已知的通用协议信号映射协议,在对应的测试信号上进行赋值操作,即构造Mp_MVB_Out数据流,Mp_MVB_Out数据流为ETH数据流。

在一种优选的方案中,所述测试环境端工控机发送的是Mp_MVB_Out数据流,测试环境端工控机接收的是Mp_MVB_In数据流,Mp_MVB_Out数据流和Mp_MVB_In数据流均为ETH数据流。

在一种优选的方案中,所述待测列车部件发送的是MVB_Out数据流,待测列车部件接收的是MVB_In数据流,MVB_Out数据流和MVB_In数据流均为MVB数据流。

在一种优选的方案中,所述方法还包括:测试环境工控机既通过手动测试或自动测试的方式进行测试,进行自动化测试时,测试环境工控机内部通信连接自动化执行工具,进行自动化测试;软件测试人员通过给定的测试环境工控机与待测列车部件间的映射通信协议,进行软件测试设计,针对被测车型设计测试用例。由于相同平台下映射协议相近,采用自动化测试执行时,测试脚本可以在不同车型的通信协议一致性测试上满足通用性应用需求。

在一种优选的方案中,所述方法还包括:在自动化执行工具中根据测试用例编制对应测试脚本,调用脚本执行测试用例,通过上位机软件显示执行状态和执行进度,执行完成后,上位机自动显示每条用例的测试结果和所有测试过程的测试报告。

与现有技术相比,本发明技术方案的有益效果是:

本发明提出通信协议一致性自动化测试方法,用于测试列车各部件通信协议的一致性,列车各部件通过MVB方式连接,待测的列车各部件均设有通用协议信号映射模块。本发明采用测试环境端工控机与待测的列车各部件进行数据通信,将所有的信号强制与结果判定都放在测试环境端软件上处理,避免在被测列车各部件程序源码的变动。同时可以添加车辆上更多的部件进行通信协议一致性测试,从而实现车辆内多个部件设备的通信协议一致性联合测试。通过这种方法,能够实现对存在变更的通信协议进行快速验证,解决了由于协议变更带来各个部件间通信协议不一致造成的质量隐患,提前将问题在测试环境中暴露并有效解决。从而对于后端的功能联合测试提供通信协议的基础保障。同时,采用该方法,能有效解决用户现场时间有限控制条件下,对系统软件变更带来的压力,保证在现场不会出现重大质量事故,缩短了调试周期,降低调试的风险,提高产品的可靠性。本发明可用于被测产品对象的逻辑程序设计部门使用,方便设计部门根据测试结果进行故障的查找和排除等。

附图说明

图1为列车MVB通信示意图。

图2为本发明通信协议一致性自动化测试方法的流程图。

图3为本发明通信协议一致性自动化测试方法的关联关系图。

图4为待测的列车各部件与测试环境端工控机接口示意图。

图5为测试环境端工控机与两个待测列车部件间数据流图。

图6为本发明通信协议一致性自动化测试方法的详细流程图。

图7为实施例2中测试环境端工控机与两个待测列车部件间数据流图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1-6所示,一种通信协议一致性自动化测试方法,用于测试列车各部件通信协议的一致性,列车各部件通过MVB方式连接,待测的列车各部件均设有通用协议信号映射模块,所述通信协议一致性自动化测试方法包括以下步骤:

S1:各部件与测试环境端工控机建立连接:

待测的列车各部件通过以太网(ETH)连接到交换机,交换机通过以太网(ETH)连接到用于进行通信协议一致性测试的测试环境端工控机;

S2:产生测试信号:

该待测列车部件将MVB数据传输到另一个待测列车部件,另一个待测列车部件再将MVB数据传输到下一个待测列车部件,如此,依次将MVB数据传输到第N个待测列车部件,第N个待测列车部件收到MVB数据流后通过其通用协议信号映射模块将MVB数据流转换为ETH数据流,之后将ETH数据流传输到测试环境端工控机;N表示待测列车部件的数目,本实施例取N=2;

S3:传输测试信号:

该待测列车部件将MVB数据传输到另一个待测列车部件,另一个待测列车部件收到MVB数据流后通过其通用协议信号映射模块将MVB数据流转换为ETH数据流,之后将ETH数据流传输到测试环境端工控机;

S4:通信协议一致性测试:

测试环境端工控机收到ETH数据流后,将接收的测试信号与发送的测试信号比较,测试当前协议是否正确,从而生成测试报告。

在具体实施过程中,步骤S2中,测试环境端工控机通过已知的通用协议信号映射协议,在对应的测试信号上进行赋值操作,即构造Mp_MVB_Out数据流,Mp_MVB_Out数据流为ETH数据流。

在具体实施过程中,所述测试环境端工控机发送的是Mp_MVB_Out数据流,测试环境端工控机接收的是Mp_MVB_In数据流,Mp_MVB_Out数据流和Mp_MVB_In数据流均为ETH数据流。

在具体实施过程中,所述待测列车部件发送的是MVB_Out数据流,待测列车部件接收的是MVB_In数据流,MVB_Out数据流和MVB_In数据流均为MVB数据流。

在具体实施过程中,所述方法还包括:测试环境工控机既通过手动测试或自动测试的方式进行测试,进行自动化测试时,测试环境工控机内部通信连接自动化执行工具,进行自动化测试;软件测试人员通过给定的测试环境工控机与待测列车部件间的映射通信协议,进行软件测试设计,针对被测车型设计测试用例。由于相同平台下映射协议相近,采用自动化测试执行时,测试脚本可以在不同车型的通信协议一致性测试上满足通用性应用需求。

在具体实施过程中,所述方法还包括:在自动化执行工具中根据测试用例编制对应测试脚本,调用脚本执行测试用例,通过上位机软件显示执行状态和执行进度,执行完成后,上位机自动显示每条用例的测试结果和所有测试过程的测试报告。

本发明提供了一种针对轨道车辆通信协议一致性自动化测试的方法,利用此方法,能模拟真实车辆部件连接,在不同部件间实现通信协议一致性的自动化测试。

(1)当用户需求变更引起的通信协议变更,从而导致各个部件的发布软件版本的升级,在多版本进行管理时,通过该套测试环境,可以快速实现对不同部件间通信协议一致性的测试验证,保证协议的正确性,而从为系统联合测试提供保障,提高系统软件的可靠性。

(2)通过与被测部件间建立常用最大化的通信协议,即Mp_MVB_In和Mp_MVB_Out映射协议,构建平台车型产品测试环境的通用测试平台,快速实现对其他被测车型产品的通信协议进行自动化测试验证。

实施例2

如图7所示,测试环境端工控机与待测列车部件间的通信连接还可通过ETH转MVB模块与各待测列车部件建立数据交互。采用该方案,各个待测列车部件均需开放MVB端口进行测试系统搭建,此时,待测列车部件只需要通过MVB数据流即可与其他待测部件或测试环境端工控机进行数据交互。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1