CN117707110A - 域控制器的测试方法、系统及介质 - Google Patents
域控制器的测试方法、系统及介质 Download PDFInfo
- Publication number
- CN117707110A CN117707110A CN202311757213.4A CN202311757213A CN117707110A CN 117707110 A CN117707110 A CN 117707110A CN 202311757213 A CN202311757213 A CN 202311757213A CN 117707110 A CN117707110 A CN 117707110A
- Authority
- CN
- China
- Prior art keywords
- file
- code
- core
- domain controller
- test data
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 150
- 238000004891 communication Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000013515 script Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010998 test method Methods 0.000 claims 8
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种域控制器的测试方法、系统及介质,域控制器包括第一核与第二核,该方法包括:生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;根据所述第一代码文件,将所述工程文件转换为第一可执行文件;通过所述域控制器运行所述第一可执行文件,生成第一测试数据;生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;通过所述域控制器运行所述第二可执行文件,生成第二测试数据;将所述第一测试数据与所述第二测试数据进行比对得到测试结果,从而能够自动实现域控制器的核间通信测试,并提高测试效率。
Description
技术领域
本发明涉及车辆领域,尤其涉及一种域控制器的测试方法、系统及介质。
背景技术
在现有技术中,针对域控制器的测试主要集中在中期和后期的测试阶段。在中期,主要关注的是总线通信层的测试,而在后期,HIL(Hardware In the Loop,硬件在环)仿真测试则是其中的重点。
但由于域控制器内的不同核往往承担着不同的任务,且需要进行核间通信来协调实现整个域控制器的功能,因此,进行域控制器的核间通信测试是很有必要的,而在现有技术中核间通信测试往往通过人工测试来完成,效率不高。下面以域控制器中的SOC核与MCU核来进一步举例说明,因为MCU核与SOC核有各自的软硬件系统,且通信系统复杂、通信信号量大,从而导致人工测试的难度较大,且效率很低。
发明内容
为了解决上述技术问题,本发明实施例提出了一种域控制器的测试方法、系统及介质,能够自动实现域控制器的核间通信测试,并提高测试效率。
为了实现上述目的,本发明实施例提供了一种域控制器的测试方法,所述域控制器包括第一核与第二核,所述方法包括:
生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;
根据所述第一代码文件,将所述工程文件转换为第一可执行文件;
通过所述域控制器运行所述第一可执行文件,生成第一测试数据;
生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;
至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;
通过所述域控制器运行所述第二可执行文件,生成第二测试数据;
将所述第一测试数据与所述第二测试数据进行比对,得到测试结果。
进一步的,所述生成与所述第一核的通信接口相关的第一代码文件,包括:
对预先配置的所述第一核的第一通信接口定义文档进行分析,得到第一关系表;其中,所述第一关系表包含至少一个第一应用及其对应的第一数据结构体,所述第一应用为配置在所述第一核的应用;
根据所述第一关系表确定所述第一代码文件;其中,所述第一代码文件为收发所述第一应用的测试数据的代码文件。
进一步的,所述工程文件为不携带与所述第一应用相关的代码的第一工程文件;
所述根据所述第一代码文件,将所述工程文件转换为第一可执行文件,包括:
将所述第一代码文件集成到所述第一工程文件中,得到第二工程文件;
编译所述第二工程文件,得到第一可执行文件。
进一步的,所述生成与所述第二核的通信接口相关的第二代码文件,包括:
对预先配置的所述第二核的第二通信接口定义文档进行分析,得到第二关系表;其中,所述第二关系表包含至少一个第二应用及其对应的第二数据结构体,所述第二应用为配置在所述第二核的应用;
根据所述第二关系表确定所述第二代码文件;其中,所述第二代码文件为收发所述第二应用的测试数据的代码文件。
进一步的,所述框架代码为与所述第二应用相关的第一框架代码;
所述至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件,包括:
至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码;
对所述第二框架代码进行修改,得到第三框架代码;
编译所述第三框架代码,得到第二可执行文件。
进一步的,所述方法还包括:
对所述第二通信接口定义文档进行分析,得到头文件;其中,所述头文件与在收发所述第二应用的测试数据时所生成的日志相关联;
则,所述至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码,包括:
将所述头文件与所述第二代码文件集成到所述第一框架代码中,得到第二框架代码。
进一步的,所述方法还包括:
对所述第一通信接口定义文档进行分析,得到批量收发脚本;其中,所述批量收发脚本对应于所述第一核的若干个接口;
则,所述通过所述域控制器运行所述第一可执行文件,生成第一测试数据,包括:
将所述第一可执行文件存储到所述域控制器;
运行所述批量收发脚本,以获取并存储所述域控制器运行所述第一可执行文件后生成的所述若干个接口的第一收发值,作为第一测试数据。
进一步的,所述通过所述域控制器运行所述第二可执行文件,生成第二测试数据,包括:
将所述第二可执行文件复制到所述域控制器;
控制所述域控制器运行复制的所述第二可执行文件;
获取所述域控制器运行所述第二可执行文件后生成的测试日志,以作为第二测试数据。
本发明实施例还提供了一种域控制器的测试系统,所述域控制器包括第一核与第二核,所述测试系统包括第一测试端、第二测试端和服务器;
所述第一测试端,用于生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;根据所述第一代码文件,将所述工程文件转换为第一可执行文件;通过所述域控制器运行所述第一可执行文件,生成第一测试数据;
所述第二测试端,用于生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;通过所述域控制器运行所述第二可执行文件,生成第二测试数据;
所述服务器,用于将所述第一测试数据与所述第二测试数据进行比对,得到测试结果。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的域控制器的测试方法的步骤。
综上,本发明具有以下有益效果:
本发明实施例中的所述域控制器包括第一核与第二核,所述方法包括:生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;根据所述第一代码文件,将所述工程文件转换为第一可执行文件;通过所述域控制器运行所述第一可执行文件,生成第一测试数据;生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;通过所述域控制器运行所述第二可执行文件,生成第二测试数据;将所述第一测试数据与所述第二测试数据进行比对,得到测试结果,从而能够规范化全量测试核间通信数据,以确保核间通信的正确性和稳定性,并且提高域控制器的核间通信测试的效率。
附图说明
图1是本发明提供的一种域控制器的测试方法的一个实施例的流程示意图;
图2是本发明提供的一种域控制器的测试系统的一个实施例的结构示意图;
图3是本发明提供的域控制器的测试的一个实施例的示意图;
图4是本发明提供的域控制器的测试的一个实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请描述中,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
在本申请的描述中,需要说明的是,除非另有定义,本发明所使用的所有的技术和科学术语与属于本技术领域的技术人员通常理解的含义相同。本发明中说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明,对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
参见图1,是本发明提供的域控制器的测试方法的一个实施例的流程示意图,所述域控制器包括第一核与第二核,该方法包括步骤S1-S7,具体如下:
S1,生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;
S2,根据所述第一代码文件,将所述工程文件转换为第一可执行文件;
S3,通过所述域控制器运行所述第一可执行文件,生成第一测试数据;
S4,生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;
S5,至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;
S6,通过所述域控制器运行所述第二可执行文件,生成第二测试数据;
S7,将所述第一测试数据与所述第二测试数据进行比对,得到测试结果。
示例性的,所述第一核可以是MCU核,所述第二核可以是SOC核,为便于理解,如无特殊说明以下均使用第一核为MCU核,且第二核为SOC核的情况为例进行阐述,但不构成具体限定。
可以理解的是,本实施例中步骤S1-S2是针对第一核的测试环境搭建,步骤S4-S5是针对第二核的测试环境搭建,步骤S3是利用搭建好的针对第一核的测试环境得到第一核的第一测试数据,步骤S6是利用搭建好的针对第二核的测试环境得到第二测试数据。其中,当所述第一核为MCU核,所述第二核为SOC核时,步骤S1-S3可以运行在windows系统平台上,步骤S4-S6可以运行在Ubuntu系统平台上,这里的windows系统和Ubuntu系统可以搭载在同一台计算机设备上,也可以分别搭载在不同的计算机设备上。当搭载在同一台计算机设备时,步骤S1-S7均由该计算机设备执行。当搭载在不同的计算机设备上时,该方法则是应用于由不同的计算机设备所组成的系统当中,此时步骤S7可以由系统中的其中一台计算机设备执行,也可以使得系统还包含云端服务器或其他计算机设备,由云端服务器或其他计算机设备来执行步骤S7。本实施例中,能够采用很少的工具即可搭建好测试环境,从而降低测试成本。
在一种可选的实施例中,所述生成与所述第一核的通信接口相关的第一代码文件,包括:
对预先配置的所述第一核的第一通信接口定义文档进行分析,得到第一关系表;其中,所述第一关系表包含至少一个第一应用及其对应的第一数据结构体,所述第一应用为配置在所述第一核的应用;
根据所述第一关系表确定所述第一代码文件;其中,所述第一代码文件为收发所述第一应用的测试数据的代码文件。
具体的,本实施例中,参见图3,通过python来分析第一通信接口定义文档。所述第一核为MCU核时,所述第一代码文件为第一应用(MCU应用)的.C文件。第一数据结构体中封装了第一应用的数据(信号量)以进行传输,传输时具体采用Autosar系统的rte_write/rte_read接口函数来调用实现,其中在Autosar系统当中,rte_write和rte_read函数是用于在ECU(Electronic Control Unit)之间进行数据交换的接口。rte_write函数用于将数据写入到指定的信号量(semaphore)中,具体接收三个参数:一个信号量的标识符,一个指向要写入数据的指针,以及要写入的数据的大小。rte_write函数将指定的数据写入到与该标识符关联的信号量中。rte_read函数则用于从指定的信号量中读取数据,具体接收两个参数:一个信号量的标识符,以及一个指向用于存储读取数据的缓冲区的指针。rte_read函数函数将从与该标识符关联的信号量中读取数据,并将读取的数据存储到提供的缓冲区中。
需要说明的是,该第一通信接口定义文档是预先配置的,但在具体实施时可以根据具体的测试对象来相应编写文档,以使文档与待测试的第一核更加匹配。
在一种可选的实施例中,所述工程文件为不携带与所述第一应用相关的代码的第一工程文件;
所述根据所述第一代码文件,将所述工程文件转换为第一可执行文件,包括:
将所述第一代码文件集成到所述第一工程文件中,得到第二工程文件;
编译所述第二工程文件,得到第一可执行文件。
具体的,本实施例中,参见图3,可以使用sftp(SSH File Transfer Protocol,SSH文件传输协议)来拉取不携带有与所述第一应用相关的代码的第一工程文件,并使用shell脚本来以第一代码文件填充/替换第一工程文件当中相应的部分,从而将第一代码文件集成到第一工程文件中。值得说明的是,在得到第二工程文件之后,还可以使用Tasking IDE来编译所述第二工程文件,并调试所述第二工程文件直至成功运行,输出elf格式的第一可执行文件,以此来确保得到的第一可执行文件能够安全可靠地运行。
在一种可选的实施例中,所述生成与所述第二核的通信接口相关的第二代码文件,包括:
对预先配置的所述第二核的第二通信接口定义文档进行分析,得到第二关系表;其中,所述第二关系表包含至少一个第二应用及其对应的第二数据结构体,所述第二应用为配置在所述第二核的应用;
根据所述第二关系表确定所述第二代码文件;其中,所述第二代码文件为收发所述第二应用的测试数据的代码文件。
具体的,本实施例中,参见图4,通过python来分析第二通信接口定义文档,从而整理出每个应用的接收与发送信号,并生成第二应用的cpp代码,以覆盖所有第二应用的接口调用。
在一种可选的实施例中,所述框架代码为与所述第二应用相关的第一框架代码;
所述至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件,包括:
至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码;
对所述第二框架代码进行修改,得到第三框架代码;
编译所述第三框架代码,得到第二可执行文件。
具体的,本实施例中,参见图4,可以从研发团队代码仓库(如gitlab)直接拉取与所有第二应用相关的框架代码,并通过shell脚本将所述第二代码文件集成到所述第一框架代码中,再修改第二框架代码的CMakeLists.txt得到第三框架代码。其中,CMakeLists.txt文件是CMake(开源的、跨平台的自动化构建系统)用来组织和管理代码编译过程的主要工具,这个文件用于告知CMake如何找到源代码,如何将这些源代码编译和链接成库或者可执行文件。
在一种可选的实施例中,所述方法还包括:
对所述第二通信接口定义文档进行分析,得到头文件;其中,所述头文件与在收发所述第二应用的测试数据时所生成的日志相关联;
则,所述至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码,包括:
将所述头文件与所述第二代码文件集成到所述第一框架代码中,得到第二框架代码。
具体的,本实施例中,参见图4,通过python来分析第二通信接口定义文档,还可以生成testlog_xxx.hpp头文件,进一步通过shell脚本将所述头文件与所述第二代码文件集成到所述第一框架代码中,得到第二框架代码。
在一种可选的实施例中,所述方法还包括:
对所述第一通信接口定义文档进行分析,得到批量收发脚本;其中,所述批量收发脚本对应于所述第一核的若干个接口;
则,所述通过所述域控制器运行所述第一可执行文件,生成第一测试数据,包括:
将所述第一可执行文件存储到所述域控制器;
运行所述批量收发脚本,以获取并存储所述域控制器运行所述第一可执行文件后生成的所述若干个接口的第一收发值,作为第一测试数据。
具体的,本实施例中,参见图3,使用python对所述第一通信接口定义文档进行分析,生成包含批量收发脚本的脚本文件夹,其中,所述批量收发脚本为基于Lauterbach API的python脚本。在运行前,需要通过Lauterbach调试器的软件TRACE32将第一可执行文件烧写进入域控制器当中并启动。在运行后,若干个接口的第一收发值能够被自动保存为csv文件以作为第一测试数据,从而便于与第二测试数据进行比对。
在一种可选的实施例中,所述通过所述域控制器运行所述第二可执行文件,生成第二测试数据,包括:
将所述第二可执行文件复制到所述域控制器;
控制所述域控制器运行复制的所述第二可执行文件;
获取所述域控制器运行所述第二可执行文件后生成的测试日志,以作为第二测试数据。
示例性的,所述第二可执行文件可以为二进制文件。
具体的,本实施例中,参见图4,由于SOC运行的是QNX系统,因此通过车用以太网转换器将二进制文件复制到域控制器(例如ADCM,Active Domain Controller,智能驾驶域计算平台)的QNX端中并运行。在运行时产生的日志log能够被自动保存为csv文件以作为第二测试数据,从而便于与第一测试数据进行比对。
需要说明的是,本实施例中,步骤S7可以具体为,将第一测试数据的csv文件与第二测试数据的csv文件进行比对,以比较两者对应收发值是否通过测试要求,其中,收发值的比较是通过比较第一核发送/接收的数据,与第二核所接收的所述发送/接收的数据之间的关系而进行的,相当于比较同一个数据发送出去时与接收到时的两个状态。
相应地,本发明实施例还提供一种域控制器的测试系统,能够实现上述实施例提供的域控制器的测试方法的所有流程。
参见图2,是本发明提供的域控制器的测试系统的一个实施例的结构示意图,所述域控制器包括第一核与第二核,所述测试系统包括第一测试端101、第二测试端102和服务器103;
所述第一测试端101,用于生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;根据所述第一代码文件,将所述工程文件转换为第一可执行文件;通过所述域控制器运行所述第一可执行文件,生成第一测试数据;
所述第二测试端102,用于生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;通过所述域控制器运行所述第二可执行文件,生成第二测试数据;
所述服务器103,用于将所述第一测试数据与所述第二测试数据进行比对,得到测试结果。
在具体实施时,本实施例中的测试系统包括第一测试端101、第二测试端102和服务器103,其中,第一测试端101、第二测试端102和服务器103可以为相互独立的终端设备,也可以是搭载在同一个终端设备当中的不同模块,例如,第一测试端101、第二测试端102可以为同一台计算机内的两个系统平台。
在一种可选的实施例中,所述生成与所述第一核的通信接口相关的第一代码文件,包括:
对预先配置的所述第一核的第一通信接口定义文档进行分析,得到第一关系表;其中,所述第一关系表包含至少一个第一应用及其对应的第一数据结构体,所述第一应用为配置在所述第一核的应用;
根据所述第一关系表确定所述第一代码文件;其中,所述第一代码文件为收发所述第一应用的测试数据的代码文件。
在一种可选的实施例中,所述工程文件为不携带与所述第一应用相关的代码的第一工程文件;
所述根据所述第一代码文件,将所述工程文件转换为第一可执行文件,包括:
将所述第一代码文件集成到所述第一工程文件中,得到第二工程文件;
编译所述第二工程文件,得到第一可执行文件。
在一种可选的实施例中,所述生成与所述第二核的通信接口相关的第二代码文件,包括:
对预先配置的所述第二核的第二通信接口定义文档进行分析,得到第二关系表;其中,所述第二关系表包含至少一个第二应用及其对应的第二数据结构体,所述第二应用为配置在所述第二核的应用;
根据所述第二关系表确定所述第二代码文件;其中,所述第二代码文件为收发所述第二应用的测试数据的代码文件。
在一种可选的实施例中,所述框架代码为与所述第二应用相关的第一框架代码;
所述至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件,包括:
至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码;
对所述第二框架代码进行修改,得到第三框架代码;
编译所述第三框架代码,得到第二可执行文件。
在一种可选的实施例中,所述方法还包括:
对所述第二通信接口定义文档进行分析,得到头文件;其中,所述头文件与在收发所述第二应用的测试数据时所生成的日志相关联;
则,所述至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码,包括:
将所述头文件与所述第二代码文件集成到所述第一框架代码中,得到第二框架代码。
在一种可选的实施例中,所述方法还包括:
对所述第一通信接口定义文档进行分析,得到批量收发脚本;其中,所述批量收发脚本对应于所述第一核的若干个接口;
则,所述通过所述域控制器运行所述第一可执行文件,生成第一测试数据,包括:
将所述第一可执行文件存储到所述域控制器;
运行所述批量收发脚本,以获取并存储所述域控制器运行所述第一可执行文件后生成的所述若干个接口的第一收发值,作为第一测试数据。
在一种可选的实施例中,所述通过所述域控制器运行所述第二可执行文件,生成第二测试数据,包括:
将所述第二可执行文件复制到所述域控制器;
控制所述域控制器运行复制的所述第二可执行文件;
获取所述域控制器运行所述第二可执行文件后生成的测试日志,以作为第二测试数据。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的域控制器的测试方法的步骤。
综上,本发明具有以下有益效果:
本发明实施例中的所述域控制器包括第一核与第二核,所述方法包括:生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;根据所述第一代码文件,将所述工程文件转换为第一可执行文件;通过所述域控制器运行所述第一可执行文件,生成第一测试数据;生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;通过所述域控制器运行所述第二可执行文件,生成第二测试数据;将所述第一测试数据与所述第二测试数据进行比对,得到测试结果,从而能够规范化全量测试核间通信数据,以确保核间通信的正确性和稳定性,并且提高域控制器的核间通信测试的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种域控制器的测试方法,其特征在于,所述域控制器包括第一核与第二核,所述方法包括:
生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;
根据所述第一代码文件,将所述工程文件转换为第一可执行文件;
通过所述域控制器运行所述第一可执行文件,生成第一测试数据;
生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;
至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;
通过所述域控制器运行所述第二可执行文件,生成第二测试数据;
将所述第一测试数据与所述第二测试数据进行比对,得到测试结果。
2.如权利要求1所述的域控制器的测试方法,其特征在于,所述生成与所述第一核的通信接口相关的第一代码文件,包括:
对预先配置的所述第一核的第一通信接口定义文档进行分析,得到第一关系表;其中,所述第一关系表包含至少一个第一应用及其对应的第一数据结构体,所述第一应用为配置在所述第一核的应用;
根据所述第一关系表确定所述第一代码文件;其中,所述第一代码文件为收发所述第一应用的测试数据的代码文件。
3.如权利要求2所述的域控制器的测试方法,其特征在于,所述工程文件为不携带与所述第一应用相关的代码的第一工程文件;
所述根据所述第一代码文件,将所述工程文件转换为第一可执行文件,包括:
将所述第一代码文件集成到所述第一工程文件中,得到第二工程文件;
编译所述第二工程文件,得到第一可执行文件。
4.如权利要求1所述的域控制器的测试方法,其特征在于,所述生成与所述第二核的通信接口相关的第二代码文件,包括:
对预先配置的所述第二核的第二通信接口定义文档进行分析,得到第二关系表;其中,所述第二关系表包含至少一个第二应用及其对应的第二数据结构体,所述第二应用为配置在所述第二核的应用;
根据所述第二关系表确定所述第二代码文件;其中,所述第二代码文件为收发所述第二应用的测试数据的代码文件。
5.如权利要求4所述的域控制器的测试方法,其特征在于,所述框架代码为与所述第二应用相关的第一框架代码;
所述至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件,包括:
至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码;
对所述第二框架代码进行修改,得到第三框架代码;
编译所述第三框架代码,得到第二可执行文件。
6.如权利要求5所述的域控制器的测试方法,其特征在于,所述方法还包括:
对所述第二通信接口定义文档进行分析,得到头文件;其中,所述头文件与在收发所述第二应用的测试数据时所生成的日志相关联;
则,所述至少将所述第二代码文件集成到所述第一框架代码中,得到第二框架代码,包括:
将所述头文件与所述第二代码文件集成到所述第一框架代码中,得到第二框架代码。
7.如权利要求1-6任一项所述的域控制器的测试方法,其特征在于,所述方法还包括:
对所述第一通信接口定义文档进行分析,得到批量收发脚本;其中,所述批量收发脚本对应于所述第一核的若干个接口;
则,所述通过所述域控制器运行所述第一可执行文件,生成第一测试数据,包括:
将所述第一可执行文件存储到所述域控制器;
运行所述批量收发脚本,以获取并存储所述域控制器运行所述第一可执行文件后生成的所述若干个接口的第一收发值,作为第一测试数据。
8.如权利要求1-6任一项所述的域控制器的测试方法,其特征在于,所述通过所述域控制器运行所述第二可执行文件,生成第二测试数据,包括:
将所述第二可执行文件复制到所述域控制器;
控制所述域控制器运行复制的所述第二可执行文件;
获取所述域控制器运行所述第二可执行文件后生成的测试日志,以作为第二测试数据。
9.一种域控制器的测试系统,其特征在于,所述域控制器包括第一核与第二核,所述测试系统包括第一测试端、第二测试端和服务器;
所述第一测试端,用于生成与所述第一核的通信接口相关的第一代码文件,并获取对应于所述第一核的工程文件;根据所述第一代码文件,将所述工程文件转换为第一可执行文件;通过所述域控制器运行所述第一可执行文件,生成第一测试数据;
所述第二测试端,用于生成与所述第二核的通信接口相关的第二代码文件,并获取对应于所述第二核的框架代码;至少基于所述第二代码文件,将所述框架代码转换为第二可执行文件;通过所述域控制器运行所述第二可执行文件,生成第二测试数据;
所述服务器,用于将所述第一测试数据与所述第二测试数据进行比对,得到测试结果。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的域控制器的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311757213.4A CN117707110A (zh) | 2023-12-19 | 2023-12-19 | 域控制器的测试方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311757213.4A CN117707110A (zh) | 2023-12-19 | 2023-12-19 | 域控制器的测试方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707110A true CN117707110A (zh) | 2024-03-15 |
Family
ID=90160415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311757213.4A Pending CN117707110A (zh) | 2023-12-19 | 2023-12-19 | 域控制器的测试方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707110A (zh) |
-
2023
- 2023-12-19 CN CN202311757213.4A patent/CN117707110A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
CN107608873B (zh) | 软件测试方法和系统及测试平台 | |
CN117215910A (zh) | 接口测试框架生成方法、测试方法、电子设备及存储介质 | |
CN111159023A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
WO2020000810A1 (zh) | 应用组件构建打包方法、装置及计算机存储介质 | |
CN117707110A (zh) | 域控制器的测试方法、系统及介质 | |
CN112416747A (zh) | 一种测试用例执行方法、装置、设备及介质 | |
CN116028367A (zh) | 自动化测试系统及方法 | |
Becker et al. | A safety-certified vehicle OS to enable software-defined vehicles | |
CN110515849B (zh) | 一种断点调试方法、装置、系统、设备及存储介质 | |
CN112328503A (zh) | 一种软件开发工作平台任务验收方法 | |
CN115883431B (zh) | 一种终端通讯协议性能测试系统、方法、车辆及存储介质 | |
CN113238491B (zh) | 执行机构的仿真测试方法、装置、智能臂架及工程车辆 | |
CN113608996B (zh) | 一种镜像编译测试方法、系统、装置及可读存储介质 | |
CN106919510B (zh) | 一种基于SPECjbb的OracleJDK版本测试运行报错的规避方法及规避系统 | |
CN116361107A (zh) | 一种车辆仿真场景监听方法、系统、电子设备及存储介质 | |
CN117950635A (zh) | 平台的应用开发方法、装置、电子设备及存储介质 | |
CN117574649A (zh) | 一种分布式仿真方法、系统、设备及存储介质 | |
CN111125149A (zh) | 基于Hive的数据获取方法、装置及存储介质 | |
CN117312134A (zh) | 中间件测试方法、装置、设备及存储介质 | |
CN115934104A (zh) | 软件开发中的代码编译方法、装置和计算机可读存储介质 | |
CN117493152A (zh) | 一种通用的嵌入式软件单元测试环境构建方法及系统 | |
CN117435458A (zh) | 一种基于整车can信号模拟的自动化集成测试方法 | |
CN117348848A (zh) | 算子开发、处理方法、装置、电子设备、系统及存储介质 | |
CN113419821A (zh) | evm合约调试方法、计算机设备和存储介质 |
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 |