CN115543840A - 基于dds通讯的测试方法、装置、测试设备及存储介质 - Google Patents
基于dds通讯的测试方法、装置、测试设备及存储介质 Download PDFInfo
- Publication number
- CN115543840A CN115543840A CN202211313321.8A CN202211313321A CN115543840A CN 115543840 A CN115543840 A CN 115543840A CN 202211313321 A CN202211313321 A CN 202211313321A CN 115543840 A CN115543840 A CN 115543840A
- Authority
- CN
- China
- Prior art keywords
- test
- dds
- equipment
- communication
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及车端软件调试技术领域,特别涉及一种基于DDS通讯的测试方法、装置、测试设备及存储介质,其中,方法包括:获取被测设备的测试请求;根据测试请求运行测试脚本,利用测试脚本启动模拟客户端或模拟服务器,利用模拟客户端或模拟服务器调用数据分发服务DDS与被测设备进行通讯,以模拟调用被测设备上的目标服务功能;若检测到被测设备上的目标服务功能的执行结果满足预设合格条件,则判定被测设备的DDS通讯测试合格,否则判定被测设备的DDS通讯测试不合格。由此,解决了相关技术中传统通讯测试设备完善,但是未实现基于DDS通讯下跨域设备的通讯测试,造成应用局限性等问题。
Description
技术领域
本申请涉及车端软件调试技术领域,特别涉及一种基于DDS(Data DistributionService,数据分发服务)通讯的测试方法、装置、测试设备及存储介质。
背景技术
随着车联网技术的不断发展,SOA(Service-Oriented Architecture,面向服务的结构)架构已逐渐应用到车联网,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。而DDS是一种低延迟、高吞吐量、高实时、去中心化的通讯中间件,将其应用在车端,使得传统的车端通讯架构逐渐被取代。
相关技术中,CAN(Controller Area Network,控制器域网)通讯具备完善的测试设备,如:canoe、kvaser、USBcan等等,但是基于DDS以太网通讯的测试设备在目前并未具体实现;利用通用接口测试工具可以定制DDS测试,但需要二次开发,增加了二次开发成本,并且开发时长不可控。
发明内容
本申请提供一种基于DDS通讯的测试方法、装置、测试设备及存储介质,以解决相关技术中传统通讯测试设备完善,但是未实现基于DDS通讯下跨域设备的通讯测试,造成应用局限性等问题。
本申请第一方面实施例提供一种基于DDS通讯的测试方法,所述方法应用于测试设备,其中,包括以下步骤:获取被测设备的测试请求;根据所述测试请求运行测试脚本,利用所述测试脚本启动模拟客户端或模拟服务器,利用所述模拟客户端或所述模拟服务器调用数据分发服务DDS与所述被测设备进行通讯,以模拟调用所述被测设备上的目标服务功能;若检测到所述被测设备上的目标服务功能的执行结果满足预设合格条件,则判定所述被测设备的DDS通讯测试合格,否则判定所述被测设备的DDS通讯测试不合格。
根据上述技术手段,本申请实施例通过获取到的被测设备的测试请求运行测试脚本,利用其启动模拟客户端或模拟服务器,并通过模拟客户端或服务器调动数据分发服务DDS与被测设备之间进行通讯,以便模拟调用被测设备上的服务功能,然后对相关服务功能的执行结果进行检测判定是否合格,当满足合格条件时,判定通讯测试合格,否则判定不合格,解决当前缺少DDS测试工具的情况下,通过PC(Personal Computer,个人计算机)端脚本化的方式自动编译源码,达到模拟被测设备的DDS服务实现DDS数据交互,开发成本较低,使得应用更加广泛。
可选地,在根据所述测试请求运行测试脚本之前,还包括:获取所述被测设备中DDS服务相关的服务接口信息;根据所述服务接口信息生成服务接口文件和源代码,并根据所述服务接口文件和所述源代码编译成所述模拟客户端或模拟服务器的可执行文件;基于所述可执行文件生成所述测试脚本。
根据上述技术手段,本申请实施例通过获取被测设备中DDS服务相关的服务接口信息,并根据相关信息生成服务接口文件和源代码,并根据其编译成模拟客户端和模拟服务器的可执行文件,基于可执行文件生成测试脚本,利用脚本测试达到模拟被测设备的DDS服务实现DDS数据交互的目的,提升工作效率。
可选地,在模拟调用所述被测设备上的目标服务功能的过程中,还包括:利用预设抓取工具抓取测试报文,根据所述测试报文生成报文文件;在判定所述被测设备的DDS通讯测试不合格时,对所述报文文件进行离线解析得到所述测试报文,基于所述测试报文确定不合格的实际问题,其中,所述实际问题包括DDS通讯过程中的服务传参错误问题或者被测控制设备的服务功能故障问题。
根据上述技术手段,本申请实施例利用抓取工具抓取测试报文并生成报文文件,在判定被测设备的DDS通讯测试不合格时,对报文文件进行离线解析得到测试报文,并基于测试报文确定不合格的实际问题,通过对应服务的idl(Interactive Data Language,交互式数据语言)文件离线解析报文从而实现域间数据交互的回放,对其中存在的问题了解,便于后续对相关问题进行处理,提升工作效率。
可选地,在获取被测设备的测试请求之前,还包括:通过以太网连接所述测试设备与所述被测设备;检测所述被测设备的IP(Internet Protocol,网际互连协议)地址,基于所述IP地址修改所述测试设备的IP地址的同时,修改所述测试设备中DDS配置文件的IP地址。
根据上述技术手段,本申请实施例通过以太网连接测试设备和被测设备,并检测被测设备的IP地址,基于IP地址修改测试设备的IP地址的同时修改其中DDS配置文件的IP地址,确保配置文件、测试设备和被测设备的IP地址相同,保证在同一局域网内,确保通讯测试的通畅性。
本申请第二方面实施例提供一种基于DDS通讯的测试装置,包括:获取模块,用于获取被测设备的测试请求;模拟调用模块,用于根据所述测试请求运行测试脚本,利用所述测试脚本启动模拟客户端或模拟服务器,利用所述模拟客户端或所述模拟服务器调用数据分发服务DDS与所述被测设备进行通讯,以模拟调用所述被测设备上的目标服务功能;判定模块,用于若检测到所述被测设备上的目标服务功能的执行结果满足预设合格条件,则判定所述被测设备的DDS通讯测试合格,否则判定所述被测设备的DDS通讯测试不合格。
可选地,所述模拟调用模块进一步用于:获取所述被测设备中DDS服务相关的服务接口信息;根据所述服务接口信息生成服务接口文件和源代码,并根据所述服务接口文件和所述源代码编译成所述模拟客户端或模拟服务器的可执行文件;基于所述可执行文件生成所述测试脚本。
可选地,所述模拟调用模块进一步用于:利用预设抓取工具抓取测试报文,根据所述测试报文生成报文文件;在判定所述被测设备的DDS通讯测试不合格时,对所述报文文件进行离线解析得到所述测试报文,基于所述测试报文确定不合格的实际问题,其中,所述实际问题包括DDS通讯过程中的服务传参错误问题或者被测控制设备的服务功能故障问题。
可选地,所述获取模块进一步用于:通过以太网连接所述测试设备与所述被测设备;检测所述被测设备的IP地址,基于所述IP地址修改所述测试设备的IP地址的同时,修改所述测试设备中DDS配置文件的IP地址。
本申请第三方面实施例提供一种车辆,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的基于DDS通讯的测试方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的基于DDS通讯的测试方法。
由此,本申请至少具有如下有益效果:
(1)本申请实施例通过获取到的被测设备的测试请求运行测试脚本,利用其启动模拟客户端或模拟服务器,并通过模拟客户端或服务器调动数据分发服务DDS与被测设备之间进行通讯,以便模拟调用被测设备上的服务功能,然后对相关服务功能的执行结果进行检测判定是否合格,当满足合格条件时,判定通讯测试合格,否则判定不合格,解决当前缺少DDS测试工具的情况下,通过PC端脚本化的方式自动编译源码,达到模拟被测设备的DDS服务实现DDS数据交互,开发成本较低,使得应用更加广泛。
(2)本申请实施例通过获取被测设备中DDS服务相关的服务接口信息,并根据相关信息生成服务接口文件和源代码,并根据其编译成模拟客户端和模拟服务器的可执行文件,基于可执行文件生成测试脚本,利用脚本测试达到模拟被测设备的DDS服务实现DDS数据交互的目的,提升工作效率。
(3)本申请实施例利用抓取工具抓取测试报文并生成报文文件,在判定被测设备的DDS通讯测试不合格时,对报文文件进行离线解析得到测试报文,并基于测试报文确定不合格的实际问题,通过对应服务的idl(Interactive Data Language,交互式数据语言)文件离线解析报文从而实现域间数据交互的回放,对其中存在的问题了解,便于后续对相关问题进行处理,提升工作效率。
(4)本申请实施例通过以太网连接测试设备和被测设备,并检测被测设备的IP地址,基于IP地址修改测试设备的IP地址的同时修改其中DDS配置文件的IP地址,确保配置文件、测试设备和被测设备的IP地址相同,保证在同一局域网内,确保通讯测试的通畅性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于DDS通讯的测试方法的流程图;
图2为根据本申请实施例提供的整体业务流程图;
图3为根据本申请实施例提供的台架的搭建网络图;
图4为根据本申请实施例提供的DDS服务仿真的示例图;
图5为根据本申请实施例的一种基于DDS通讯的测试装置的示例图;
图6为根据本申请实施例的车辆的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
DDS是一种低延迟、高吞吐量、高实时、去中心化的通讯中间件,并在车端开始应用,使得传统的车端通讯架构逐渐被取代,同时也给当前的测试带来了以下问题:
(1)目前传统can通讯具备完善的测试设备,如:canoe、kvaser、USBcan等等,但是基于DDS以太网通讯的测试设备当前阶段还处于一片空白。
(2)整车基于DDS通讯下跨域设备的通讯如何进行测试,如:缺少被测设备的情况下,如何mock被测设备基于DDS的服务;测试跨域设备通讯出现BUG,如何抓取报文解析等问题。
(3)基于SOA架构下DDS通讯的测试台架如何搭建。
针对上述问题,相关技术中的测试工具支持以太网TCP、UDP、RS232/422/485、DDS、AD/DA、CAN总线,提供测试用例生成、测试过程控制、测试环境初始化、测试流程管理、测试环境初始化、测试流程管理、测试数据分析、测试仿真模型开发和报文配置管理的功能,但是该相关技术仍旧存在如下缺点:
(1)该工具主要介绍了本身的功能,提到了支持以太的DDS,但具体实现的方式没有描述。
(2)该工具支持定制DDS测试,但需要二次开发,增加了二次开发成本,并且开发时长不可控。
(3)该工具是软硬件一体,适用于实验室相关的场景,开发调试及实车测试场景不适用。
下面参考附图描述本申请实施例的基于DDS通讯的测试方法、装置、测试设备及存储介质。
具体而言,图1为本申请实施例所提供的一种基于DDS通讯的测试方法的流程示意图。
如图1所示,该基于DDS通讯的测试方法,方法应用于测试设备,包括以下步骤:
在步骤S101中,获取被测设备的测试请求。
可以理解的是,本申请实施例通过获取被测设备的测试请求,为后续对测试设备进行测试做准备。
在本申请实施例中,在获取被测设备的测试请求之前,还包括:通过以太网连接测试设备与被测设备;检测被测设备的IP地址,基于IP地址修改测试设备的IP地址的同时,修改测试设备中DDS配置文件的IP地址。
可以理解的是,本申请实施例通过以太网连接测试设备和被测设备,并检测被测设备的IP地址,基于IP地址修改测试设备的IP地址的同时修改其中DDS配置文件的IP地址,确保配置文件、测试设备和被测设备的IP地址相同,保证在同一局域网内,确保通讯测试的通畅性。
在步骤S102中,根据测试请求运行测试脚本,利用测试脚本启动模拟客户端或模拟服务器,利用模拟客户端或模拟服务器调用数据分发服务DDS与被测设备进行通讯,以模拟调用被测设备上的目标服务功能。
可以理解的是,本申请实施例获取到的被测设备的测试请求运行测试脚本,利用其启动模拟客户端或模拟服务器,并通过模拟客户端或服务器调动数据分发服务DDS与被测设备之间进行通讯,以便模拟调用被测设备上的服务功能,为后续通过服务功能检测通讯是否合格做准备。
在本申请实施例中,在根据测试请求运行测试脚本之前,还包括:获取被测设备中DDS服务相关的服务接口信息;根据服务接口信息生成服务接口文件和源代码,并根据服务接口文件和源代码编译成模拟客户端或模拟服务器的可执行文件;基于可执行文件生成测试脚本。
可以理解的是,本申请实施例通过获取被测设备中DDS服务相关的服务接口信息,并根据相关信息生成服务接口文件和源代码,并根据其编译成模拟客户端和模拟服务器的可执行文件,基于可执行文件生成测试脚本,利用脚本测试达到模拟被测设备的DDS服务实现DDS数据交互的目的,提升工作效率。
在本申请实施例中,在模拟调用被测设备上的目标服务功能的过程中,还包括:利用预设抓取工具抓取测试报文,根据测试报文生成报文文件;在判定被测设备的DDS通讯测试不合格时,对报文文件进行离线解析得到测试报文,基于测试报文确定不合格的实际问题。
其中,实际问题包括DDS通讯过程中的服务传参错误问题或者被测控制设备的服务功能故障问题。
其中,预设抓取工具可以是wireshark或者tcpdump等抓取工具,可以根据实际情况进行设定,在此不做具体限定。
可以理解的是,本申请实施例利用抓取工具抓取测试报文并生成报文文件,在判定被测设备的DDS通讯测试不合格时,对报文文件进行离线解析得到测试报文,并基于测试报文确定不合格的实际问题,通过对应服务的idl(Interactive Data Language,交互式数据语言)文件离线解析报文从而实现域间数据交互的回放,对其中存在的问题了解,便于后续对相关问题进行处理,提升工作效率。
在步骤S103中,若检测到被测设备上的目标服务功能的执行结果满足预设合格条件,则判定被测设备的DDS通讯测试合格,否则判定被测设备的DDS通讯测试不合格。
其中,预设合格条件可以是被测设备上的目标服务功能被正确执行,在此不做具体限定。
可以理解的是,本申请实施例对相关服务功能的执行结果进行检测判定是否合格,当满足合格条件时,判定通讯测试合格,否则判定不合格,解决当前缺少DDS测试工具的情况下,通过PC端脚本化的方式自动编译源码,达到模拟被测设备的DDS服务实现DDS数据交互,开发成本较低,使得应用更加广泛。
根据本申请实施例提出的基于DDS通讯的测试方法,通过获取到的被测设备的测试请求运行测试脚本,利用其启动模拟客户端或模拟服务器,并通过模拟客户端或服务器调动数据分发服务DDS与被测设备之间进行通讯,以便模拟调用被测设备上的服务功能,然后对相关服务功能的执行结果进行检测判定是否合格,当满足合格条件时,判定通讯测试合格,否则判定不合格,解决当前缺少DDS测试工具的情况下,通过PC端脚本化的方式自动编译源码,达到模拟被测设备的DDS服务实现DDS数据交互,开发成本较低,使得应用更加广泛。由此,解决了相关技术中传统通讯测试设备完善,但是未实现基于DDS通讯下跨域设备的通讯测试,造成应用局限性等问题。
下面将结合图2对基于DDS通讯的测试方法进行阐述,本申请实施例涉及以下几个模块:DDS开发工具链后台、自动编译源码和解析wireshark包的脚本、mpu控制器及应用、Windows系统电脑(上位机),具体地:
1、DDS开发工具链平台主要提供定义DDS服务接口信息(包括服务名称、方法名称、方法类型、参数的名称、参数的数据类型等等)、生成对应的idl文件及源代码,并提供idl及源码的下载功能。
2、自动编译源码脚本实现把DDS开发工具链平台上下载的源码编译成windows下用户指定的动态参数的client或者server端的exe可执行文件,并通过命令行的方式启用client或者server实现DDS的服务调用的功能。具体实现的方式主要分为以下几个步骤:
(1)根据用户选择的服务名称、client或者server端找到对应的.hpp及.cpp读出里面的内容,并根据C++的语法创建client或者server端的main函数(注意:get_instance().init()指定cyclonedds.xml配置文件);
(2)通过用户指定的ip,修改cyclonedds.xml的接口网络地址保证client或者server端的网络与被测控制器在同一局域网内;
(3)编译源码,编译完成后调用windows的cmd窗口启用exe文件,实现DDS数据的发布订阅。
3、解析wireshark包的脚本主要实现把.pcapng文件的报文数据读取出来,并根据DDS的报文格式及idl中的内容解析出idl中定义的数据值,该脚本会借助DDS的dll库。
4、Mpu控制器及应用模块主要是我们的被测对象,里面主要集成了DDS服务相关的代码及相关的应用逻辑,在这里我们需要拿到DDS服务相关的文档信息、控制器的网络信息及保证控制器接入以太网的辅件。
5、Windows系统电脑主要是扮演上位机的角色,我们需要在windows上安装C++的编译环境(安装cmake及mingw工具并配置好环境变量)、python环境、wireshark抓包工具,并且电脑需具备接入以太网的能力。
以具体场景为例,台架的搭建主要通过交换机及网线的方式保证被测设备对象与模拟设备在同一局域网内,然后通过修改配置文件的方式保证DDS通讯全部使用的同一局域网,整体逻辑如图3所示,具体搭建方式如下:
1、通过网线把被测控制器、交换机、电脑连接起来;
2、检查被测对象控制器的IP,可以通过MobaXterm_Personal工具或者xshell工具通过串口的方式连上控制器,输入ifconfig查看设置的IP,找到DDS配置文件,确认配置文件中的IP与控制器的IP相同;
3、打开电脑网络设置界面,在TCP/IPv4设置页面点击“高级”,进入到IP设置界面添加一个与被测控制器同网段的IP,然后保存。重新打开cmd命令框同ping ip的方式确保电脑的网络与控制器的网络在同一局域网内。
下面为了实现DDS的服务调用及离线解析DDS报文需提前编写脚本,拿到被测控制器应用的DDS服务相关的文档,结合图4对具体测试操作进行详细阐述,具体操作流程如下:
1、测试数据准备:根据被测控制器的应用的DDS服务相关文档,登录到DDS开发工具链平台创建对应的服务,并下载源代码;
2、DDS在PC端运行测试脚本,运行格式为compiler.py IP client/server服务名称_方法名称(参数)方法,compiler.py为编写好的自动编译DDS服务的脚本执行文件;IP为台架搭建中PC端设置的IP,即设置DDS通讯配置文件的IP;client/server为指定生成client端或server端;服务名称_方法名称(参数)为调用服务的名称+下横线+方法名称,括号内为该方法的传递参数;方法为该方法采用的通讯方式比如rpc或notify等,脚本启用后会立刻运行该服务,并在cmd命令行实时打印服务运行日志及传递参数值。
3、通过人工检测的方式查看cmd客户端的日志确认PC的DDS服务与被测控制应用的服务已调通,并查看控制器上的应用被调服务的功能是否被正确执行。
测试操作流程结束后,需通过报文离线回放排查问题,因为DDS服务走的以太网,所以可以借助wireshark或者tcpdump工具抓取实时报文,如果测试过程中出现问题,通过离线解析报文包的方式可以排查出问题所在,以便于后续对其进行检修,具体操作步骤如下:
1、PC端安装开源的抓包工具wireshark(被测控制器可根据实际情况使用tcpdump)抓取报文并保存到指定的文件目录下;
2、登录DDS开发工具链平台,下载需解析的DDS服务的idl文件;
3、运行解析脚本,具体格式为analysis.py.pcapng idl解析后的文件(默认为当前路径下),注analysis.py为python的DDS离线解析脚本;.pcapng为抓包工具抓取的报文文件;idl为需要解析的DDS服务的idl;解析后的文件为解析后的数据存放目录;
4、通过解析过后的文件我们可以通过notepad++查看具体的参数值,从而排查出是服务传参的问题还是被测控制器应用的功能问题。
综上,通过PC端脚本化的方式自动编译源码,达到模拟被测设备的DDS服务实现DDS数据交互;并且通过对应服务的idl文件离线解析报文从而实现域间数据交互的回放。
其次参照附图描述根据本申请实施例提出的基于DDS通讯的测试装置。
图5是本申请实施例的基于DDS通讯的测试装置的方框示意图。
如图5所示,该基于DDS通讯的测试装置10包括:获取模块100、模拟调用模块200和判定模块300。
其中,获取模块100用于获取被测设备的测试请求;模拟调用模块200用于根据测试请求运行测试脚本,利用测试脚本启动模拟客户端或模拟服务器,利用模拟客户端或模拟服务器调用数据分发服务DDS与被测设备进行通讯,以模拟调用被测设备上的目标服务功能;判定模块300用于若检测到被测设备上的目标服务功能的执行结果满足预设合格条件,则判定被测设备的DDS通讯测试合格,否则判定被测设备的DDS通讯测试不合格。
在本申请实施例中,获取模块100进一步用于:通过以太网连接测试设备与被测设备;检测被测设备的IP地址,基于IP地址修改测试设备的IP地址的同时,修改测试设备中DDS配置文件的IP地址。
在本申请实施例中,模拟调用模块200进一步用于:获取被测设备中DDS服务相关的服务接口信息;根据服务接口信息生成服务接口文件和源代码,并根据服务接口文件和源代码编译成模拟客户端或模拟服务器的可执行文件;基于可执行文件生成测试脚本。
在本申请实施例中,模拟调用模块200进一步用于:利用预设抓取工具抓取测试报文,根据测试报文生成报文文件;在判定被测设备的DDS通讯测试不合格时,对报文文件进行离线解析得到测试报文,基于测试报文确定不合格的实际问题,其中,实际问题包括DDS通讯过程中的服务传参错误问题或者被测控制设备的服务功能故障问题。
需要说明的是,前述对基于DDS通讯的测试方法实施例的解释说明也适用于该实施例的基于DDS通讯的测试装置,此处不再赘述。
根据本申请实施例提出的基于DDS通讯的测试装置,通过获取到的被测设备的测试请求运行测试脚本,利用其启动模拟客户端或模拟服务器,并通过模拟客户端或服务器调动数据分发服务DDS与被测设备之间进行通讯,以便模拟调用被测设备上的服务功能,然后对相关服务功能的执行结果进行检测判定是否合格,当满足合格条件时,判定通讯测试合格,否则判定不合格,解决当前缺少DDS测试工具的情况下,通过PC端脚本化的方式自动编译源码,达到模拟被测设备的DDS服务实现DDS数据交互,开发成本较低,使得应用更加广泛。由此,解决了相关技术中传统通讯测试设备完善,但是未实现基于DDS通讯下跨域设备的通讯测试,造成应用局限性等问题。
图6为本申请实施例提供的测试设备的结构示意图。该测试设备可以包括:
存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序。
处理器602执行程序时实现上述实施例中提供的基于DDS通讯的测试方法。
进一步地,测试设备还包括:
通信接口603,用于存储器601和处理器602之间的通信。
存储器601,用于存放可在处理器602上运行的计算机程序。
存储器601可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器601、处理器602和通信接口603独立实现,则通信接口603、存储器601和处理器602可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器601、处理器602及通信接口603,集成在一块芯片上实现,则存储器601、处理器602及通信接口603可以通过内部接口完成相互间的通信。
处理器602可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于DDS通讯的测试方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于DDS通讯的测试方法,其特征在于,所述方法应用于测试设备,其中,所述方法包括以下步骤:
获取被测设备的测试请求;
根据所述测试请求运行测试脚本,利用所述测试脚本启动模拟客户端或模拟服务器,利用所述模拟客户端或所述模拟服务器调用数据分发服务DDS与所述被测设备进行通讯,以模拟调用所述被测设备上的目标服务功能;
若检测到所述被测设备上的目标服务功能的执行结果满足预设合格条件,则判定所述被测设备的DDS通讯测试合格,否则判定所述被测设备的DDS通讯测试不合格。
2.根据权利要求1所述的方法,其特征在于,在根据所述测试请求运行测试脚本之前,还包括:
获取所述被测设备中DDS服务相关的服务接口信息;
根据所述服务接口信息生成服务接口文件和源代码,并根据所述服务接口文件和所述源代码编译成所述模拟客户端或模拟服务器的可执行文件;
基于所述可执行文件生成所述测试脚本。
3.根据权利要求1所述的方法,其特征在于,在模拟调用所述被测设备上的目标服务功能的过程中,还包括:
利用预设抓取工具抓取测试报文,根据所述测试报文生成报文文件;
在判定所述被测设备的DDS通讯测试不合格时,对所述报文文件进行离线解析得到所述测试报文,基于所述测试报文确定不合格的实际问题,其中,所述实际问题包括DDS通讯过程中的服务传参错误问题或者被测控制设备的服务功能故障问题。
4.根据权利要求1所述的方法,其特征在于,在获取被测设备的测试请求之前,还包括:
通过以太网连接所述测试设备与所述被测设备;
检测所述被测设备的IP地址,基于所述IP地址修改所述测试设备的IP地址的同时,修改所述测试设备中DDS配置文件的IP地址。
5.一种基于DDS通讯的测试装置,其特征在于,所述装置应用于测试设备,包括:
获取模块,用于获取被测设备的测试请求;
模拟调用模块,用于根据所述测试请求运行测试脚本,利用所述测试脚本启动模拟客户端或模拟服务器,利用所述模拟客户端或所述模拟服务器调用数据分发服务DDS与所述被测设备进行通讯,以模拟调用所述被测设备上的目标服务功能;
判定模块,用于若检测到所述被测设备上的目标服务功能的执行结果满足预设合格条件,则判定所述被测设备的DDS通讯测试合格,否则判定所述被测设备的DDS通讯测试不合格。
6.根据权利要求5所述的装置,其特征在于,所述模拟调用模块进一步用于:
获取所述被测设备中DDS服务相关的服务接口信息;
根据所述服务接口信息生成服务接口文件和源代码,并根据所述服务接口文件和所述源代码编译成所述模拟客户端或模拟服务器的可执行文件;
基于所述可执行文件生成所述测试脚本。
7.根据权利要求5所述的装置,其特征在于,所述模拟调用模块进一步用于:
利用预设抓取工具抓取测试报文,根据所述测试报文生成报文文件;
在判定所述被测设备的DDS通讯测试不合格时,对所述报文文件进行离线解析得到所述测试报文,基于所述测试报文确定不合格的实际问题,其中,所述实际问题包括DDS通讯过程中的服务传参错误问题或者被测控制设备的服务功能故障问题。
8.根据权利要求5所述的装置,其特征在于,所述获取模块进一步用于:
通过以太网连接所述测试设备与所述被测设备;
检测所述被测设备的IP地址,基于所述IP地址修改所述测试设备的IP地址的同时,修改所述测试设备中DDS配置文件的IP地址。
9.一种测试设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-4任一项所述的基于DDS通讯的测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-4任一项所述的基于DDS通讯的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313321.8A CN115543840A (zh) | 2022-10-25 | 2022-10-25 | 基于dds通讯的测试方法、装置、测试设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313321.8A CN115543840A (zh) | 2022-10-25 | 2022-10-25 | 基于dds通讯的测试方法、装置、测试设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543840A true CN115543840A (zh) | 2022-12-30 |
Family
ID=84717734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211313321.8A Pending CN115543840A (zh) | 2022-10-25 | 2022-10-25 | 基于dds通讯的测试方法、装置、测试设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543840A (zh) |
-
2022
- 2022-10-25 CN CN202211313321.8A patent/CN115543840A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740222B (zh) | 一种针对汽车网联化场景的测试装置和系统 | |
US7827531B2 (en) | Software testing techniques for stack-based environments | |
US8667119B2 (en) | System and method for re-generating packet load for load test | |
US20110289484A1 (en) | Method and System for Script Processing for Web-Based Applications | |
US20160277357A1 (en) | Firewall testing | |
CN106326088B (zh) | 实现构建测试对象的方法、装置及业务配置测试的装置 | |
CN113468070A (zh) | 车载以太网的一致性测试方法 | |
CN104125119A (zh) | 一种服务器的测试方法及测试系统 | |
CN113468045B (zh) | 一种服务器批量配置软件的测试系统、方法及组件 | |
CN115543840A (zh) | 基于dds通讯的测试方法、装置、测试设备及存储介质 | |
CN115509212B (zh) | 一种基于vtd的自动化测试系统、方法 | |
CN113032255B (zh) | 响应噪音的识别方法、模型、电子设备及计算机存储介质 | |
US7191099B2 (en) | System for testing network devices | |
CN112231222B (zh) | 一种面向对象通信协议的自动化测试方法及系统 | |
CN115550228A (zh) | 车联网总线通信网络测试方法及系统 | |
US20100146337A1 (en) | Method and device for detecting non-regression of an input/output system in a simulation environment | |
Fischer et al. | A new approach for automatic generation of tests for next generation network communication services | |
CN116584085A (zh) | 基于工业网络的工业软件无埋点追踪分析方法、装置 | |
CN115426301B (zh) | 基于自生报文的设备检测方法、装置、设备和存储介质 | |
US12034626B2 (en) | Methods, systems, and computer readable media for using a programmable processing pipeline device to execute scalable connections per second (CPS) generation test and an application replay sequence test | |
CN117290213A (zh) | 程序调试方法及调试装置 | |
US20240129219A1 (en) | Methods, systems, and computer readable media for using a programmable processing pipeline device to execute scalable connections per second (cps) generation test and an application replay sequence test | |
CN116795668A (zh) | 一种测试方法、装置、终端及云平台 | |
CN117574649A (zh) | 一种分布式仿真方法、系统、设备及存储介质 | |
CN116633815A (zh) | 调试方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |