CN115964212A - 数据仿真测试方法、系统、设备及介质 - Google Patents
数据仿真测试方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN115964212A CN115964212A CN202211698526.2A CN202211698526A CN115964212A CN 115964212 A CN115964212 A CN 115964212A CN 202211698526 A CN202211698526 A CN 202211698526A CN 115964212 A CN115964212 A CN 115964212A
- Authority
- CN
- China
- Prior art keywords
- scene
- service
- test
- information
- simulation
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种数据仿真测试方法、系统、设备及介质,该方法包括:基于测试平台创建服务场景;对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息;确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景;利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码;根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试,该测试方法操作简单、测试脚本可重复使用,不仅提高了测试效率,还降低了仿真测试的试错成本。
Description
技术领域
本申请涉及数据测试领域,具体涉及一种数据仿真测试方法、系统、设备及介质。
背景技术
随着智能网联车快速发展,目前一些车辆采用了SOA(面向服务的架构)架构服务,其中,基于DDS(数据转发服务)协议中间件实现服务化,通过原子服务对上接口的标准化,屏蔽了硬件区别,实现了“软硬解耦”,对外开放状态通知接口和调用方法接口,支撑服务编排,功能迭代更灵活。
然而,针对上述服务测试,现有手工测试方案存在以下缺点:
第一,SOA服务编排场景多,测试效率低,无法满足便捷迭代要求;
第二,利用工具链生成代码后需重新编译,存在耗时长且易出错的问题;
第三,在手工测试时,只能对单个服务场景进行测试,无法同时对多个服务场景进行仿真测试。
申请内容
鉴于以上所述现有技术的缺点,本申请提供一种数据仿真测试方法、系统、设备及介质,以解决现有上述任意之一的技术问题。
在第一方面,本申请提供的一种数据仿真测试方法,包括:
基于测试平台创建服务场景;
对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息;
确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景;
利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码;
根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试。
于本申请的一实施例中,对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息,包括:
确定服务名,根据所述服务名所对应的选择方法及事件对服务场景进行配置,确定配置的服务场景,并予以存储;
确定当前选择的场景文件,得到场景的基本信息;遍历各所述服务场景的场景信息,根据所述场景的基本信息与所述场景信息匹配关系,确定加载的所述服务场景。
于本申请的一实施例中,确定配置的服务场景,并予以存储之后,还包括:。
判断所述服务场景是否为新建场景;
若所述服务场景为新建场景,则创建路径,保存场景信息;
若所述服务场景不为新建场景,则更新当前场景信息,并予以保存。
于本申请的一实施例中,确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景,包括:
获取所述服务场景的运行模式,所述运行模式为顺序执行或并发执行;
若所述运行模式为顺序执行,遍历场景列表,读取场景信息;根据所述场景信息组装场景顺序执行所述服务场景;
若所述运行模式为并发执行,遍历场景列表,读取场景信息;根据所述场景信息组装场景并发执行所述服务场景。
于本申请的一实施例中,利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码,包括:
调用测试平台的脚本执行引擎;
利用所述脚本执行引擎基于数据分发服务工具链拉取所述服务场景的源代码;
根据待测端将所述源代码生成车端或服务端的测试文件,将所述测试文件进行编译,确定车端或服务端的测试代码。
于本申请的一实施例中,根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试,包括:
基于测试脚本框架确定待测端的配置信息,根据待测端的配置信息与前置条件模拟发送控制指令,其中,所述配置信息包括车辆识别码、车载终端识别码或签名中的至少之一,所述前置条件包括车机上电、网络切换、串口初始化与数据分发服务初始化中的至少之一;
基于消息发布/订阅传输协议模拟服务端发送控制指令,订阅车端基于数据分发服务发送选择方法及事件,并对响应结果进行断言;
利用服务端分发的选择方法及事件,模拟车身控制器进行响应,断言日志记录的内容,以使服务场景的仿真测试结果进行保存。
于本申请的一实施例中,以使服务场景的仿真测试结果进行保存之后,还包括:待所述车端执行所述控制指令后,根据所述服务场景的执行方式调用数据分发服务仿真系统进行仿真,确定车端的仿真测试结果,并反馈至服务端。
于本申请的一实施例中,若服务场景执行测试用例后,还包括:
获取测试用例目录的文件路径,生成报告文件路径;
遍历所述测试用例目录的测试信息,判断报告文件中是否在创建模块;
若是,则在报告文件中创建模块,统计用例测试信息的成功率与测试时间写入到报告文件;若否,则继续遍历所述测试用例目录的测试信息;
若报告文件存在最后用例,确定所述报告文件是否为最后模块;若是,则统计用例测试信息的成功率、测试时间以及生成预测概率。
在第二方面,本申请提供一种数据仿真测试系统,包括:
场景创建模块,基于测试平台创建服务场景;
场景配置加载模块,用于对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息;
场景执行模块,用于确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景;
代码确定模块,利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码;
仿真测试模块,用于根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试。
在第三方面,本申请提供的一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述的基于车辆的数据仿真测试系统。
在第四方面,本申请提供的一种车辆设备,包括上述的电子设备。
在第五方面,本申请提供的一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述的基于车辆的数据仿真测试系统。
本申请的有益效果:本申请基于数据转发服务协议实现车端面向服务架构的服务进行测试,该测试方法操作简单、测试脚本可重复使用,不仅提高了测试效率,还降低了仿真测试的试错成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的数据仿真测试系统的实施环境示意图;
图2是本申请的一示例性实施例示出的数据仿真测试方法流程图;
图3是本申请的一示例性实施例示出的场景设计功能总体方案图;
图4是本申请的一示例性实施例示出的测试场景保存功能业务流程图;
图5是本申请的一示例性实施例示出的测试场景加载功能业务流程图;
图6是本申请的一示例性实施例示出的为测试场景运行功能业务流程图;
图7是本申请的一示例性实施例示出的为测试场景执行流程图;
图8是本申请的一示例性实施例示出的测试场景执行引擎业务流程图;
图9是本申请的一示例性实施例示出的脚本执行引擎业务流程图;
图10是本申请的一示例性实施例示出的为SUIT组装功能业务流程图;
图11是本申请的一示例性实施例示出的测试执行功能业务流程图;
图12是本申请的一示例性实施例示出的测试报告生成业务流程图;
图13是本申请的一示例性实施例示出的数据仿真测试系统结构框图;
图14示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本申请的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本申请,而不是为了限制本申请的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本申请实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本申请的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本申请的实施例难以理解。
请参阅图1,为本申请的一示例性实施例示出的数据仿真测试系统的实施环境示意图。包括云端服务器101、车端102,其中,该用户终端集群可以包括一个或者多个用户终端,这里将不对用户终端的数量进行限制。如图1所示,具体可以包括用户终端100a、用户终端100b、用户终端100c、…、用户终端100n。如图1所示,用户终端100a、用户终端100b、用户终端100c、…、用户终端100n可以分别与上述云端服务器101进行网络连接,以便于每个用户终端可以通过该网络连接与云端服务器101进行数据交互。其中,这里不限定该网络连接的具体连接方式,比如,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接。
其中,该用户终端集群中的每个用户终端均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等具有图像数据处理功能的智能终端。应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有目标应用(即应用客户端,车端),当该应用客户端运行于各用户终端中时,可以分别与上述图1所示的云端服务器101之间进行数据交互。其中,该应用客户端可以包括社交客户端、多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、教育客户端、直播客户端等应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的小程序,在此不做限定。
目前,随着智能网联车的快速发展,新汽车已经开始采用SOA架构,而SDA-S项目基于DDS协议中间件实现了服务化,通过原子服务对上接口的标准化,屏蔽了硬件区别,实现了“软硬解耦”,对外开放状态通知接口和调用方法接口,支撑服务编排,功能迭代更灵活。应用此技术后,新汽车的自动驾驶领域、座舱领域功能有了更大的发挥空间,能够丰富车端的功能,提升用户的体验。新汽车实现了SOA服务化后,对测试领域提出了更高的要求,测试的覆盖率以及测试效率有更大的挑战,亟需一种数据仿真测试方法、系统、设备及介质。
为解决上述问题,本申请的实施例分别提出一种数据仿真测试系统、一种数据仿真测试方法、一种电子设备以及一种计算机可读存储介质,以下将对这些实施例进行详细描述。
请参阅图2,是本申请的一示例性实施例示出的数据仿真测试方法流程图,包括:
步骤S210,基于测试平台创建服务场景;
具体地,仿真系统包括场景用例设计、场景用例执行引擎以及测试平台,例如,用户通过在测试平台上新建测试项目,完成项目信息及测试策略,通过调用云测平台测试场景管理模块中创建服务场景。
步骤S220,对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息;
具体地,确定服务名,根据所述服务名所对应的选择方法及事件对服务场景进行配置,确定配置的服务场景,并予以存储;
确定当前选择的场景文件,得到场景的基本信息;遍历各所述服务场景的场景信息,根据所述场景的基本信息与所述场景信息匹配关系,确定加载的所述服务场景。
通过对服务策奖进行创建、配置以及记载,方便后续自动化完成服务场景测试。
在另一些实施例中,确定配置的服务场景,并予以存储之后,还包括:。
判断所述服务场景是否为新建场景;
若所述服务场景为新建场景,则创建路径,保存场景信息;
若所述服务场景不为新建场景,则更新当前场景信息,并予以保存。
通过新建或更新服务场景,可以满足用户的各种需求,极大确保仿真测试系统的需求。
步骤S230,确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景;
具体地,获取所述服务场景的运行模式,所述运行模式为顺序执行或并发执行;
若所述运行模式为顺序执行,遍历场景列表,读取场景信息;根据所述场景信息组装场景顺序执行所述服务场景;
若所述运行模式为并发执行,遍历场景列表,读取场景信息;根据所述场景信息组装场景并发执行所述服务场景。
在本实施例中,确定服务场景运行模式是单个服务场景顺序执行,还是,多个服务场景并发执行,能够根据运行模式组装各个场景,进而执行服务场景。
步骤S240,利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码;
具体地,调用测试平台的脚本执行引擎;
利用所述脚本执行引擎基于数据分发服务工具链拉取所述服务场景的源代码;
根据待测端将所述源代码生成车端或服务端的测试文件,将所述测试文件进行编译,确定车端或服务端的测试代码。
在本实施例中,通过待测端是车端或服务端,还是既包括车端又包括服务端,例如,生成server(服务端)/client(车端)测试代码,生成server.cpp/client.cpp文件,编译模块会将cpp文件(即,待测文件)生成server.exe/client.exe文件的测试代码。
步骤S250,根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试。
具体地,基于测试脚本框架确定待测端的配置信息,根据待测端的配置信息与前置条件模拟发送控制指令,其中,所述配置信息包括车辆识别码、车载终端识别码或签名中的至少之一,所述前置条件包括车机上电、网络切换、串口初始化与数据分发服务初始化中的至少之一;
基于消息发布/订阅传输协议模拟服务端发送控制指令,订阅车端基于数据分发服务发送选择方法及事件,并对响应结果进行断言;
利用服务端分发的选择方法及事件,模拟车身控制器进行响应,断言日志记录的内容,以使服务场景的仿真测试结果进行保存。
在本实施例中,利用脚本执行引擎去调用测试脚本框架,根据测试人员选择的测试设备,去获取需要执行测试的设备的配置信息(tuid(车载唯一标识)、carid(车辆唯一标识)、签名等),根据预先设计的前置条件处理测试设备(如车机上电、网络切换、串口初始化、DDS初始化等),通过MQTT(消息发布/订阅传输协议)协议模拟云端发送远程控制命令,然后订阅车端分发的DDS(数据转发服务)method/event,并对响应结果进行断言,调用server.exe分发method/event,模拟BCM(即,车身控制器)响应,最后断言日志记录的内容,把每个服务场景的测试结果保存在本地及云测数据库中。
请参阅图3,为本申请的一示例性实施例示出的场景设计功能总体方案图,详述如下:
创建服务场景,基于输入的服务名创建服务场景;
配置服务场景,根据(测试人员)输入的服务场景,对服务场景进行配置;例如,根据服务名选择的方法及事件对方法及事件所对应的参数进行配置,待配置完成后,点击服务场景保存按钮,保存服务场景。
更新服务场景,用于更新服务场景,具体而言,后台云测平台判断当前服务场景是否为新建场景,若当前服务场景为新建场景,则生成存储路径,依据存储路径保存服务场景的场景信息;若当前服务场景不为新建场景(即,之前存在的服务场景),则更新当前服务场景的场景信息,并予以保存。
加载服务场景,例如,在测试时,先选择相应的服务场景,最后点击执行,具体为:后台云测平台根据用户选择的场景文件,读取场景文件的基本信息,开始遍历每个服务场景名下的场景信息,获得函数类型、服务器名信息;如果未遍历到最后的场景信息,若未遍历到最后的场景信息,继续读取下一条场景信息,如果遍历到最后的场景信息,判断当前场景信息是否为最后的场景名;如果是,则将读取的场景信息展示到场景列表,如果否,则继续读取下一条场景信息。
加载服务场景,进入服务场景执行阶段,开始运行场景后,首先获取场景运行模式,如果是顺序执行,则遍历场景列表,读取场景信息,并根据场景信息组装场景执行命令,然后,执行场景,如果是最后的场景信息,则执行完毕,否则执行下一条场景信息;如果是并发执行,遍历读取场景列表并获取场景信息后,组装场景执行命令,然后,将执行场景线程,如果是最后的场景信息,则等待所有的场景执行完毕。
场景运行后,调用云测的脚本执行引擎,脚本执行引擎先去DDS(数据分发服务)工具链拉取服务场景源码,测试代码块生成模块会生成server(服务器)/client(客户端)测试代码,生成server.cpp/client.cpp源文件,编译模块会将cpp文件生成server.exe/client.exe文件。
利用脚本执行引擎去调用测试脚本框架,根据测试人员选择的测试设备,去获取需要执行测试的设备的配置信息(tuid(车载唯一标识)、carid(车辆唯一标识)、签名等),根据预先设计的前置条件处理测试设备(如车机上电、网络切换、串口初始化、DDS初始化等),通过MQTT(消息发布/订阅传输协议)协议模拟云端发送远程控制命令,然后订阅车端分发的DDS(数据转发服务)method/event,并对响应结果进行断言,调用server.exe分发method/event,模拟BCM(即,车身控制器)响应,最后断言日志记录的内容,把每个服务场景的测试结果保存在本地及云测数据库中。
模拟发送的远程控制指令会下发到车端执行,EDC(即,高压电子喷射系统及电控单元)会执行服务场景指令,通过调用DDS仿真系统的仿真服务,模拟反馈远程控车指令,通过EDC的无线网功能(例如,4G模块或5G模块),把结果反馈的云端,最终展示执行结果给用户。
当服务场景用例都执行完毕后,脚本执行引擎去获取caselist(即,测试用例目录)文件路径,生成报告文件路径,再遍历读取caselist文件的测试信息,读取到模块信息,然后遍历读取模块用例测试信息,统计当前用例测试成功率,记录测试时间并写入到报告文件中,如果是最后一条用例,读取下一个模块,如果是最后一个模块,统计所有用例测试成功率,记录所有用例测试时间,并在测试报告文件中生成测试概率。
请参阅图4,为本申请的一示例性实施例示出的测试场景保存功能业务流程图,包括:
选择服务名,开始配置服务场景;
根据服务名选择方法及事件,配置方法及事件的参数、以及配置测试信息,直至完成配置为止,保存服务场景。
判断当前的服务场景是否为新建场景文件,若是,选择创建路径,创建新的场景文件,保存场景信息;
若否,判断当前的服务场景的场景名是否存在;
若存在,更新当前服务场景信息进行存储,若不存在,创建新的场景名,保存新的场景信息。
请参阅图5,为本申请的一示例性实施例示出的测试场景加载功能业务流程图,包括:
选择场景文件,读取场景信息,遍历各个场景信息中的场景名,遍历场景信息,获取函数类型与服务器名信息;判断当前场景信息所读取功能类型与服务器名信息是否为最后的场景信息,若是,确定当前场景信息是否为最后的场景名,若当前场景信息为最后的场景名,则将读取的场景信息展示到场景列表;若最后的场景信息不为最后的场景名,则继续遍历场景名;若当前场景信息所读取功能类型与服务器名信息不为最后的场景信息,则继续遍历场景信息。
请参阅图6,为本申请的一示例性实施例示出的为测试场景运行功能业务流程图,包括:
获取当前场景服务的运行模式,确定是顺序执行或并发执行;
若所述运行模式为顺序执行,遍历场景列表读取场景信息;根据所述场景信息组装场景顺序执行命令,按照所述执行命令执行所述服务场景,直至执行到最后场景信息为止;
若所述运行模式为并发执行,遍历场景列表读取场景信息;根据所述场景信息组装场景执行命令,创建场景执行线程并发执行所述服务场景,直至执行到最后场景信息为止。
请参阅图7,本申请的一示例性实施例示出的为测试场景执行流程图,包括:
服务执行文件及服务信息;
编辑创建服务场景;
选择服务场景列表,判断所述服务场景的测试类型,确定为单场景或多场景,当确定为单个服务场景运行时,启动服务执行文件;当确定为多个服务场景运行时,启动服务执行文件。
请参阅图8,为本申请的一示例性实施例示出的测试场景执行引擎业务流程图,包括:
启动测试,获取数据分发服务的服务,对启动的服务进行编译,生成待测段端的测试代码;
通过前置条件与待测端的配置信息模拟发送控制指令,断言车身控制器收到的数据转发服务仿真信号,以使得数据转发服务进行仿真响应,生产仿真测试结果,以模拟报文形式反馈到云端进行上报。
请参阅图9,为本申请的一示例性实施例示出的脚本执行引擎业务流程图;包括:
选择用例目录(即,测试用例目录),遍历当前目录,确定当前目标是否为目录,若是,则获取目录名作为树节点,再继续遍历当前目录;若否,则确定当前目标的脚本,根据获取的脚本信息进行显示,并存储到用例目录。
请参阅图10,为本申请的一示例性实施例示出的为SUIT组装功能业务流程图;包括:
选择用例;保存用例选择属性到测试用例目录文件中,清空上次组装的suit列表,遍历读取测试用例目录文件,若选择某个测试用例目录文件,将该取测试用例目录文件添加到suit列表;判断当前添加的suit列表内的测试用例是否测试,若是,则设置测试标志。
请参阅图11,为本申请的一示例性实施例示出的测试执行功能业务流程图;包括:
从suit列表读取测试用例,确定测试用例是否测试,若未测试,继续读取从suit列表读取测试用例;
若已经测试,则读取该测试用例的测试测试信息,设置该用例的测试开始时间、设置该用例运行标志、启动脚本运行,保存运行日志,记录该用例测试结果、用例结束时间,并计算该用例运行时间并记录,直到结束为止。
请参阅图12,为本申请的一示例性实施例示出的测试报告生成业务流程图,包括:
获取测试用例目录中的文件路径,生成报告文件路径;
遍历读取测试用例目录文件的测试信息,判断报告文件中是否在创建模块;
若是,则在报告文件中创建模块,统计用例测试信息的成功率与测试时间写入到报告文件;若否,则继续遍历所述测试用例目录的测试信息;
若报告文件存在最后用例,确定所述报告文件是否为最后模块;若报告文件存在最后用例,且所述报告文件为最后模块,则统计用例测试信息的成功率、测试时间以及生成预测概率;若报告文件不存在最后用例,则遍历读取用例测试信息;若所述报告文件不为最后模块,则历所述测试用例目录的测试信息。
请参阅图13,为本申请的一示例性实施例示出的数据仿真测试系统结构框图,详述如下:
场景创建模块1301,基于测试平台创建服务场景;
场景配置加载模块1302,用于对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息;
场景执行模块1303,用于确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景;
代码确定模块1304,利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码;
仿真测试模块1305,用于根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试。
需要说明的是,上述实施例所提供的基于车辆的数据仿真测试系统与上述实施例所提供的数据仿真测试方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的基于车辆的数据仿真测试系统在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的基于车辆的数据仿真测试方法。
图14示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图14示出的电子设备的计算机系统仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统包括中央处理单元(Central Processing Unit,CPU)1401,其可以根据存储在只读存储器(Read-Only Memory,ROM)1402中的程序或者从储存部分1408加载到随机访问存储器(Random Access Memory,RAM)1403中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM1403中,还存储有系统操作所需的各种程序和数据。CPU1401、ROM1402以及RAM1403通过总线1404彼此相连。输入/输出(Input/Output,I/O)接口1405也连接至总线1404。
以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1407;包括硬盘等的储存部分1408;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入储存部分1408。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元(CPU)1401执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的基于车辆的数据仿真测试系统。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
上述实施例仅示例性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (12)
1.一种数据仿真测试方法,其特征在于,包括:
基于测试平台创建服务场景;
对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息;
确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景;
利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码;
根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试。
2.根据权利要求1所述的数据仿真测试方法,其特征在于,对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息,包括:
确定服务名,根据所述服务名所对应的选择方法及事件对服务场景进行配置,确定配置的服务场景,并予以存储;
确定当前选择的场景文件,得到场景的基本信息;遍历各所述服务场景的场景信息,根据所述场景的基本信息与所述场景信息匹配关系,确定加载的所述服务场景。
3.根据权利要求2所述的数据仿真测试方法,其特征在于,确定配置的服务场景,并予以存储之后,还包括:
判断所述服务场景是否为新建场景;
若所述服务场景为新建场景,则创建路径,保存场景信息;
若所述服务场景不为新建场景,则更新当前场景信息,并予以保存。
4.根据权利要求1所述的数据仿真测试方法,其特征在于,确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景,包括:
获取所述服务场景的运行模式,所述运行模式为顺序执行或并发执行;
若所述运行模式为顺序执行,遍历场景列表读取场景信息;根据所述场景信息组装场景顺序执行所述服务场景;
若所述运行模式为并发执行,遍历场景列表读取场景信息;根据所述场景信息组装场景并发执行所述服务场景。
5.根据权利要求1所述的数据仿真测试方法,其特征在于,利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码,包括:
调用测试平台的脚本执行引擎;
利用所述脚本执行引擎基于数据分发服务工具链拉取所述服务场景的源代码;
根据待测端将所述源代码生成车端或服务端的测试文件,将所述测试文件进行编译,确定所述车端或服务端的测试代码。
6.根据权利要求1至5任一所述的数据仿真测试方法,其特征在于,根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试,包括:
基于测试脚本框架确定待测端的配置信息,根据待测端的配置信息与前置条件模拟发送控制指令,其中,所述配置信息包括车辆识别码、车载终端识别码或签名中的至少之一,所述前置条件包括车机上电、网络切换、串口初始化与数据分发服务初始化中的至少之一;
基于消息发布/订阅传输协议模拟服务端发送控制指令,订阅车端基于数据分发服务发送选择方法及事件,并对响应结果进行断言;
利用服务端分发的选择方法及事件,模拟车身控制器进行响应,断言日志记录的内容,以使服务场景的仿真测试结果进行保存。
7.根据权利要求6所述的数据仿真测试方法,其特征在于,以使服务场景的仿真测试结果进行保存之后,还包括:待所述车端执行所述控制指令后,根据所述服务场景的执行方式调用数据分发服务仿真系统进行仿真,确定车端的仿真测试结果,并反馈至服务端。
8.根据权利要求7所述的数据仿真测试方法,其特征在于,若服务场景执行测试用例后,还包括:
获取测试用例目录的文件路径,生成报告文件路径;
遍历所述测试用例目录的测试信息,判断报告文件中是否在创建模块;
若是,则在报告文件中创建模块,统计用例测试信息的成功率与测试时间写入到报告文件;若否,则继续遍历所述测试用例目录的测试信息;
若报告文件存在最后用例,则确定所述报告文件是否为最后模块;若是,则统计用例测试信息的成功率、测试时间以及生成预测概率。
9.一种数据仿真测试系统,其特征在于,包括:
场景创建模块,基于测试平台创建服务场景;
场景配置加载模块,用于对所述服务场景进行配置,加载配置的所述服务场景,确定所述服务场景的场景信息;
场景执行模块,用于确定所述服务场景的运行模式为顺序执行或并发执行,根据所述运行模式与所述场景信息执行所述服务场景;
代码确定模块,利用脚本执行引擎拉取所述服务场景的源代码,对所述源代码进行编译,生成测试代码;
仿真测试模块,用于根据待测端的配置信息与前置条件模拟发送控制指令,基于数据分发服务发送所述控制指令到相应服务场景,以使服务场景基于所述测试代码与控制指令进行仿真服务,完成仿真测试。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现权利要求1~8所述的数据仿真测试方法。
11.一种车辆设备,其特征在于,包括权利要求10所述的电子设备。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1~8所述的数据仿真测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211698526.2A CN115964212A (zh) | 2022-12-28 | 2022-12-28 | 数据仿真测试方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211698526.2A CN115964212A (zh) | 2022-12-28 | 2022-12-28 | 数据仿真测试方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115964212A true CN115964212A (zh) | 2023-04-14 |
Family
ID=87358334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211698526.2A Pending CN115964212A (zh) | 2022-12-28 | 2022-12-28 | 数据仿真测试方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964212A (zh) |
-
2022
- 2022-12-28 CN CN202211698526.2A patent/CN115964212A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958736B (zh) | 页面生成方法、装置、电子设备及计算机可读介质 | |
CN112639734A (zh) | 仿真任务调度方法、执行方法、仿真实现方法及装置 | |
CN109766319B (zh) | 压缩任务处理方法、装置、存储介质及电子设备 | |
CN111897738B (zh) | 基于原子服务的自动化测试方法及装置 | |
CN109614322A (zh) | 基于Mock的单元测试方法、装置、设备及可读存储介质 | |
CN111813685A (zh) | 自动化测试方法和装置 | |
CN112596720A (zh) | 业务运行方法、装置、电子设备和计算机存储介质 | |
CN116360735A (zh) | 一种表单生成方法、装置、设备和介质 | |
CN115268964A (zh) | 一种数据回注方法、系统、电子设备及可读存储介质 | |
CN115964212A (zh) | 数据仿真测试方法、系统、设备及介质 | |
CN116132526A (zh) | 一种车端信息推送方法、装置、设备及介质 | |
CN116432573A (zh) | 性能仿真方法及电子设备和存储介质 | |
CN114546341B (zh) | 基于dds的车载服务代码生成编译方法及可读存储介质 | |
CN115534804A (zh) | 一种车灯控制方法、装置、设备及存储介质、一种车辆 | |
CN115134254A (zh) | 一种网络模拟方法、装置、设备及存储介质 | |
CN112711602B (zh) | 一种存储过程的运行方法、装置,数据库系统及存储介质 | |
CN113760254A (zh) | 数据模型生成方法、装置、电子设备和计算机可读介质 | |
CN115729218B (zh) | 一种多种换挡方式的模型测试方法、装置、设备和介质 | |
CN117290421A (zh) | Dds动态发布及动态订阅的方法、装置、设备、介质及车辆 | |
CN116708492A (zh) | 一种车辆网络管理状态变更测试方法、装置、设备及介质 | |
CN115858381A (zh) | 车辆数据测试方法、装置、设备及介质 | |
CN116149703A (zh) | 车辆场景服务清单生成方法、装置、设备、介质及车辆 | |
CN115689196A (zh) | 一种自动驾驶数据的处理方法、装置、设备、介质及程序 | |
CN117111901A (zh) | 车机应用开发方法、装置、管理平台、系统及存储介质 | |
CN117215943A (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 |