首页> 中国专利> 一种基于以太网的逻辑控制软件测试系统及测试方法

一种基于以太网的逻辑控制软件测试系统及测试方法

摘要

本发明公开了一种基于以太网的逻辑控制软件测试系统,包括第一测试计算机、第二测试计算机、第三测试计算机、网络设备和控制插件;所述第二测试计算机和控制插件构成测试执行子系统;所述第一测试计算机、第二测试计算机、第三测试计算机和控制插件均与所述网络设备网络连接;所述第一测试计算机用于加载被测逻辑控制软件的外部设备仿真模型;所述第二测试计算机用于加载被测逻辑控制软件的虚拟操控台;所述第三测试计算用于加载被测逻辑控制软件的数据分析系统;所述控制插件用于加载被测逻辑控制软件;以及该测试系统对应的测试方法。本发明具有可以实验室快速构建,构建简单方便,测试成本低,实时性强等优点。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-10

    授权

    授权

  • 2017-01-04

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20160718

    实质审查的生效

  • 2016-12-07

    公开

    公开

说明书

技术领域

本发明涉及一种软件测试领域,尤其涉及一种基于以太网的逻辑控制软件测试系统及测试方法。

背景技术

逻辑控制软件是机车控制的灵魂,机车的运行和制动都离不开逻辑控制软件做出的指令,为了测试逻辑控制的正确性,在软件设计过程中,对其需进行大量的测试工作。同时,测试工作也是保证软件产品安全、实现逻辑控制软件上车必须进行的环节。在逻辑控制软件的测试过程中,最为重要的是如何构建逻辑控制软件测试的测试环境,目前,逻辑控制软件的测试环境主要有:实物测试、半实物测试、纯软件仿真测试。实物测试是在实际线路上才能进行的测试手段,成本高,不易进行缺陷软件的测试;半实物测试是在实验室用测试设备等效替代被测品外围部件而达到测试的方法,成本较高,构建环境较为复杂;纯软件仿真测试是在PC机上的仿真测试,成本低,但需要专业的软件测试工具,实时性不强,逻辑边界不易验证,而且纯软件仿真测试是一种软件脱离被测硬件的测试,在不同的两种载体上测试软件,测试的效果不是很真实。

发明内容

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种介于实物测试与纯软件仿真测试之间的,可以实验室快速构建,相比与实物测试与半实物测试成本大大降低,构建简单方便,实时性强的基于以太网的逻辑控制软件测试系统及测试方法。

为解决上述技术问题,本发明提出的技术方案为:一种基于以太网的逻辑控制软件测试系统,包括第一测试计算机、第二测试计算机、第三测试计算机、网络设备和控制插件;所述第二测试计算机和控制插件构成测试执行子系统;

所述第一测试计算机、第二测试计算机、第三测试计算机和控制插件均与所述网络设备网络连接;

所述第一测试计算机用于加载被测逻辑控制软件的外部设备仿真模型;

所述第二测试计算机用于加载被测逻辑控制软件的虚拟操控台;

所述第三测试计算用于加载被测逻辑控制软件的数据分析系统;

所述控制插件用于加载被测逻辑控制软件。

作为本发明的进一步改进,还包括开关电源,所述开关电源分别与所述网络设备和控制插件连接。

作为本发明的进一步改进,所述网络设备为以太网交换机或以太网路由器。

一种基于以太网的逻辑控制软件测试方法,包括如下步骤:

S1. 第二测试计算机以测试数据包的形式向测试执行子系统发送测试指令;

S2. 所述测试执行子系统响应所述测试数据包,并通过所述测试执行子系统中第一测试计算机和控制插件之间的数据交互,完成所述测试指令,所述第一测试计算机和控制插件之间以测试数据包进行数据交互;

S3. 所述第三测试计算机监听所述测试数据包,通过分析所述测试数据包中参数的逻辑时序,验证被测逻辑控制软件的功能。

作为本发明的进一步改进,所述步骤S1中,第二测试计算机通过对所述测试数据包中各参数值的设置实现测试指令及故障数据的注入。

作为本发明的进一步改进,所述步骤S1的具体步骤包括:所述第二测试计算机以测试数据包的形式向所述测试执行子系统中的所述控制插件或所述第一测试计算机发送测试指令。

作为本发明的进一步改进,所述步骤S2的具体步骤包括:

所述控制插件接收所述测试数据包,由被测逻辑控制软件进行运算处理,并将处理结果以测试数据包的形式发送至所述第一测试计算机,第一测试计算机对所述测试数据包进行仿真处理,将仿真结果以测试数据包的形式返回至控制插件,通过所述控制插件与所述第一测试计算机之间的数据交互,完成所述测试指令的测试;

或者:

所述第一测试计算机接收所述测试数据包,并对所述测试数据包进行仿真处理,并将仿真结果以测试数据包的形式发送至所述控制插件,由所述控制插件中的被测逻辑控制软件进行运算处理,并将处理结果以测试数据包的形式发送至所述第一测试计算机,通过所述控制插件与所述第一测试计算机之间的数据交互,完成所述测试指令的测试。

作为本发明的进一步改进,所述测试数据包为固定格式的数据包。

作为本发明的进一步改进,所述步骤S2中第一测试计算机对测试数据包进行仿真处理的具体步骤包括:

S2.1. 第一测试计算机接收所述测试数据包,根据预设的通信协议将所述测试数据包按数据类型进行拆分,并分别存入对应数据类型的数组中;

S2.2. 将不同数据类型的数组中的数据根据需要注入仿真模型,仿真模型输出仿真结果;

S2.3. 将仿真结果按数据类型进行分类,分别存入对应数据类型的数组中,并根据预设的通信协议将不同数据类型的数组中的数据进行合并打包生成测试数据包。

作为本发明的进一步改进,所述测试数据包中的数据类型包括布尔型和值类型。

与现有技术相比,本发明的优点在于:本发明介于实物测试与纯软件仿真测试之间,可以在实验室快速构建整个测试环境,相比于实物测试与半实物测试具有成本大大降低,构建简单方便等优点,相比于纯软件仿真测试,具有实时性强,逻辑边界验证方便等优点。

附图说明

图1为本发明具体实施例结构示意图。

图2为本发明具体实施例流程示意图。

图3为本发明具体实施例第一测试计算机仿真处理流程示意图。

图4为本发明具体实施例第二测试计算机故障注入示意图。

图5为本发明具体实施例测试数据包结构示意图。

图6为本发明具体实施例测试数据包数据类型拆分示意图。

图7为本发明具体实施例数组结构示意图。

图8为本发明具体实施例数组结构示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图1所示,本实施例基于以太网的逻辑控制软件测试系统,包括第一测试计算机、第二测试计算机、第三测试计算机、网络设备和控制插件;第二测试计算机和控制插件构成测试执行子系统;第一测试计算机、第二测试计算机、第三测试计算机和控制插件均与网络设备网络连接;第一测试计算机用于加载被测逻辑控制软件的外部设备仿真模型;第二测试计算机用于加载被测逻辑控制软件的虚拟操控台;第三测试计算用于加载被测逻辑控制软件的数据分析系统;控制插件用于加载被测逻辑控制软件。控制插件为被测逻辑控制软件的运行平台。第一测试计算机、第二测试计算机、第三测试计算机和控制插件均通过以太网与网络设备连接,组成一个测试网络环境。第一测试计算机加载外部设备仿真模型,用于模拟逻辑控制软件测试所需的外部设备,模拟真实的外部设备对控制插件所发送的测试数据包进行响应,并将响应结果返回至控制插件,与控制插件一起构成逻辑控制软件测试的测试运行环境。第二测试计算机加载被测逻辑控制软件的虚拟操控台,是测试的人机交互入口,用于发出测试指令,启动被测逻辑控制软件的测试进程。第三测试计算机用于监听第二测试计算机所发出的测试指令,以及控制插件与第一测试计算机所发送和接收的测试数据包,并对测试数据包进行分析,评判被测逻辑控制软件是否正确。

在本实施例中,还包括开关电源,开关电源分别与网络设备和控制插件连接。开关电源能够提供多种型号的电源输出,包括DC12V和DC5V两种输出,分别为网络设备和控制插件提供电源。网络设备为以太网交换机或以太网路由器。

如图2所示,本实施例基于以太网的逻辑控制软件测试方法,包括如下步骤:S1. 第二测试计算机以测试数据包的形式向测试执行子系统发送测试指令;S2. 测试执行子系统响应测试数据包,并通过测试执行子系统中第一测试计算机和控制插件之间的数据交互,完成测试指令,第一测试计算机和控制插件之间以测试数据包进行数据交互;S3. 第三测试计算机监听测试数据包,通过分析测试数据包中参数的逻辑时序,验证被测逻辑控制软件的功能。

如图4所示,在本实施例步骤S1中,第二测试计算机通过对测试数据包中各参数值的设置实现测试指令及故障数据的注入。第二测试计算机根据需要进行的测试功能,选择需要注入的测试指令及故障数据,生成测试数据包,并将该测试数据包发送至测试执行子系统,开始逻辑控制软件的测试过程。

在本实施例步骤S1的具体步骤包括:第二测试计算机以测试数据包的形式向测试执行子系统中的控制插件或第一测试计算机发送测试指令。步骤S2的具体步骤包括:控制插件接收测试数据包,由被测逻辑控制软件进行运算处理,并将处理结果以测试数据包的形式发送至第一测试计算机,第一测试计算机对测试数据包进行仿真处理,将仿真结果以测试数据包的形式返回至控制插件,通过控制插件与第一测试计算机之间的数据交互,完成测试指令的测试;或者:第一测试计算机接收测试数据包,并对测试数据包进行仿真处理,并将仿真结果以测试数据包的形式发送至控制插件,由控制插件中的被测逻辑控制软件进行运算处理,并将处理结果以测试数据包的形式发送至第一测试计算机,通过控制插件与第一测试计算机之间的数据交互,完成测试指令的测试。在本实施例中,第一测试计算机与控制插件一起构成逻辑控制软件测试的测试运行环境,第二测试计算机可以将测试数据包直接发送至控制插件,启动逻辑控制软件的测试,在需要模拟如测试指令延时等情况时,第二测试计算机将测试数据包发送至第一测试计算机,由第一测试计算机的仿真模型进行仿真处理,由第一测试计算机将仿真处理后的测试数据包发送至控制插件,启动逻辑控制软件的测试。

如图5所示,在本实施例中,测试数据包为固定格式的数据包。测试数据包中的数据类型包括布尔型和值类型。在本实施例中,测试数据包包括8个字节,第一个字节和第四个字节为布尔(bool)类型,每个布尔类型的字节包括16个布尔比特位,第一个字节包括A0至A15共16个布尔值,第四个字节包括B0至B15共16个布尔值,其它字节为字(word)类型。

如图3所示,在本实施例中,步骤S2中第一测试计算机对测试数据包进行仿真处理的具体步骤包括:S2.1. 第一测试计算机接收测试数据包,根据预设的通信协议将测试数据包按数据类型进行拆分,并分别存入对应数据类型的数组中;S2.2. 将不同数据类型的数组中的数据根据需要注入仿真模型,仿真模型输出仿真结果;S2.3. 将仿真结果按数据类型进行分类,分别存入对应数据类型的数组中,并根据预设的通信协议将不同数据类型的数组中的数据进行合并打包生成测试数据包。在本实施例步骤S2.1中,如图6所示,第一测试计算机将所接收到的测试数据包进行解析,拆分成布尔类型的数据块和字类型数据块,并将该布尔类型数据块中的数据存入布尔类型的一维数组中,如图7所示,将字类型数据块中的数据存入字类型的一维数组中,如图8所示。并为该两个一维数组建立数据索引,根据仿真需求将数组中的数据注入仿真模型进行模拟仿真,仿真模拟得到的仿真结果数据同样按照布尔类型与字类型进行分类,分别存入布尔类型的一维数组和字类型的一维数据,根据通信协议,将该两个一维数据中的数据读出,合并打包成测试数据包。并将打包生成的测试数据包发送至控制插件,控制插件与第一测试计算机之间通过数据交互通信,完成整个测试过程。第三测试计算机通过监测整个测试过程中所产生的测试数据包,并对测试数据包进行解析,分析得到测试数据包中各参数的逻辑时序,并与预设的标准逻辑时序进行比较,即可判断被测逻辑控制软件的功能是否符合设计需求。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号