CN116800656B - Can通信测试方法、系统、装置、电子设备及存储介质 - Google Patents
Can通信测试方法、系统、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116800656B CN116800656B CN202311083281.7A CN202311083281A CN116800656B CN 116800656 B CN116800656 B CN 116800656B CN 202311083281 A CN202311083281 A CN 202311083281A CN 116800656 B CN116800656 B CN 116800656B
- Authority
- CN
- China
- Prior art keywords
- test
- message
- communication information
- script
- controller
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 163
- 238000010998 test method Methods 0.000 title claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 540
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 84
- 238000011156 evaluation Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- 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
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种CAN通信测试方法、系统、装置、电子设备及存储介质,该方法包括:解析CAN的数据库文件,获取CAN通信信息;根据CAN通信信息,生成测试脚本,并将测试脚本加载至CANoe设备中;根据CAN通信信息,生成测试模块,并将测试模块加载至待测试控制器中;向CANoe设备发送脚本启动指令,脚本启动指令用于指示CANoe设备启动测试脚本,生成测试报文,并通过CAN总线将测试报文发送至所述待测试控制器,所述待测试控制器用于根据接收到的所述测试报文执行所述测试模块,获得测试结果;接收所述待测试控制器发送的所述测试结果。本申请实施例减少了测试工作量,提高了测试效率,提高了测试用例的通用性。
Description
技术领域
本申请实施例涉及通信测试技术领域,特别是涉及一种CAN通信测试方法、系统、装置、电子设备及存储介质。
背景技术
当前车载控制器中关于CAN(Controller Area Network,控制器局域网)接收报文帧率等CAN通信的测试主要分为2种路线,一种是人工测试的方案,一种是基于自动化台架测试(比如HIL测试台架)的方案。
使用人工测试的方案,所有CAN接收报文都需要逐个进行报文模拟,然后读取控制器中的接收次数进行比较。所有测试用例和测试步骤全部需要手写开发,报文较多时导致测试用例开发工作量比较大,而且所有结果都需要通过人工校对,测试工作量较大;测试用例本身通用性差,每当发生DBC(Database Can,CAN的数据库)数据库变更时,就可能手动对测试用例进行大量更新,同时当控制器程序升级时,也无法快速进行回归测试。
使用自动化台架测试的方案,将DBC数据库导入到测试工具链中,然后按照台架测试脚本规范进行测试用例的开发,这种方案对DBC数据库的要求比较高,每当发生DBC数据库变更时,就可能需要按照测试脚本规范重新进行测试用例的开发,工作量较大。另外,自动化测试台架价格不菲,一套接近100万的成本。
综上,在当前车载控制器中关于CAN接收报文帧率的测试,存在测试工作量大、测试效率低下、测试用例通用性较差的问题。
发明内容
本申请实施例提供一种CAN通信测试方法、系统、装置、电子设备及存储介质,有助于减少测试工作量,提高测试效率,提高测试用例通用性。
为了解决上述问题,第一方面,本申请实施例提供了一种CAN通信测试方法,包括:
解析CAN的数据库文件,获取CAN通信信息;
根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中;
根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中;
向所述CANoe设备发送脚本启动指令,所述脚本启动指令用于指示所述CANoe设备启动所述测试脚本,生成测试报文,并通过CAN总线将所述测试报文发送至所述待测试控制器,所述待测试控制器用于根据接收到的所述测试报文执行所述测试模块,获得测试结果;
接收所述待测试控制器发送的所述测试结果。
第二方面,本申请实施例提供了一种CAN通信测试装置,包括:
文件解析模块,用于解析CAN的数据库文件,获取CAN通信信息;
脚本加载模块,用于根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中;
测试模块加载模块,用于根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中;
脚本启动模块,用于向所述CANoe设备发送脚本启动指令,所述脚本启动指令用于指示所述CANoe设备启动所述测试脚本,生成测试报文,并通过CAN总线将所述测试报文发送至所述待测试控制器,所述待测试控制器用于根据接收到的所述测试报文执行所述测试模块,获得测试结果;
测试结果接收模块,用于接收所述待测试控制器发送的所述测试结果。
第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的CAN通信测试方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的CAN通信测试方法。
本申请实施例提供的CAN通信测试方法、系统、装置、电子设备及存储介质,通过解析CAN的数据库文件,获取CAN通信信息,根据CAN通信信息生成测试脚本,并将测试脚本加载至CANoe设备中,根据CAN通信信息生成测试模块,将测试模块加载至待测试控制器中,向CANoe设备发送脚本启动指令,以指示CANoe设备启动测试脚本,生成测试报文,并通过CAN总线将测试报文发送至待测试控制器,待测试控制器根据接收到的测试报文执行测试模块,获得测试结果,实现了基于CAN通信信息自动生成CAN接收报文帧率测试的测试脚本和测试模块,不需要针对每次更新后的DBC数据库,单独开发对应的测试用例,减少了测试工作量,提高了测试效率,提高了测试用例的通用性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种CAN通信测试方法的流程图;
图2是本申请实施例提供的一种CAN通信测试系统的结构框图;
图3是本申请实施例中待测试控制器接收CAN测试报文数据流的示意图;
图4是本申请实施例提供的一种CAN通信测试装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的一种CAN通信测试方法的流程图,该CAN通信测试方法可以由计算机等电子设备执行,如图1所示,该方法包括如下步骤。
步骤110,解析CAN的数据库文件,获取CAN通信信息。
其中,所述CAN通信信息可以包括报文周期、报文标识和报文节点标识等CAN通信相关的信息,所述报文节点标识为待测试控制器的标识。CAN通信信息可以包括一个或多个报文标识,不同报文标识所对应的报文周期可以不同。报文周期是报文发送的周期,在进行测试时,作为测试报文的发送周期。
解析CAN的数据库(Database Can,DBC)文件,得到所有CAN接收报文的报文标识(可以包括报文名称和报文ID等)、报文周期和报文节点标识等信息,根据待测试控制器所对应的报文节点标识从CAN的数据库文件中提取出待测试控制器对应的报文节点标识、报文标识和报文周期等信息,得到CAN通信信息。
步骤120,根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中。
其中,所述测试脚本用于进行接收报文的模拟,生成测试报文。CANoe是一款用于总线开发的总线开发环境,全称为CAN open environment。CANoe集合了网络监控、数据获取/记录、节点仿真、诊断、自动测试等功能,是常用的总线测试工具。测试脚本可以是用CAPL(Communivation Access Programming Language,通信访问编程语言)编写的脚本。CAPL能够通过编程实现节点的仿真,也可以在数据分析、测试等方面发挥很大的作用,通过与外界系统的交互,实现仿真、诊断和测试的自动化。
计算机通过USB与CANoe设备连接,在根据CAN通信信息生成测试脚本后,将测试脚本通过USB数据线加载至CANoe设备中,以便CANoe设备进行CAN接收报文的模拟,生成测试报文。
在本申请的一个实施例中,所述根据所述CAN通信信息,生成测试脚本,包括:将所述CAN通信信息填充到测试脚本模板中,得到所述测试脚本。
可以预先编写测试脚本模板,在获取到CAN通信信息后,将CAN通信信息填充到测试脚本模板的对应位置,得到测试脚本。示例性的,在将CAN通信信息填充到测试脚本模板的对应位置时,可以对测试脚本模板进行识别,将报文周期填充到测试脚本模板的报文周期位置,将报文标识填充到测试脚本模板的报文标识位置,将报文节点标识填充到测试脚本模板的报文节点标识位置,得到测试脚本。
通过将CAN通信信息填充到测试脚本模板中,实现了测试脚本的自动生成,避免了人工基于CAN通信信息编写对应的测试脚本。
步骤130,根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中。
其中,待测试控制器可以是ECU(Electronic Control Unit,电子控制单元)、VCU(Vehicle Control Unit,整车控制器)、T-Box(Telematics BOX,远程信息处理器)、BMS(Battery Management System,电池管理系统)等。ECU由微处理器(MCU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成,ECU是发动机的综合控制装置,它的功用是根据自身存储的程序对发动机各传感器输入的各种信息进行运算、处理、判断、输出指令,控制有关执行器动作,达到快速、准确、自动控制发动机工作的目的。VCU是新能源汽车的核心控制部件,它根据加速踏板位置、挡位、制动踏板力等驾驶员的操作意图和蓄电池的荷电状态计算出运行所需要的电机输出转矩等参数,从而协调各个动力部件的运动,保障新能源汽车的正常行驶。T-BOX是车联网系统中的智能车载终端,T-BOX是数据采集的关键方式之一,T-BOX得到汽车的数据后,将数据上传到TSP(Telematics Service Provider,车载终端服务平台)的后台,或者接收后台下发的指令,返回执行结果。BMS是连接车载动力电池和新能源汽车的重要纽带,BMS实时采集、处理、存储电池模组运行过程中的重要信息,与外部设备如整车控制器交换信息,保障电池系统的安全可靠运行。
计算机可以通过串口或其他方式与待测试控制器连接,在根据CAN通信信息生成测试模块后,将测试模块加载至待测试控制器中,即将测试模块烧录到待测试控制器中并在待测试控制器中进行编译,以便待测试控制器执行接收报文帧率的测试。
在本申请的一个实施例中,所述根据所述CAN通信信息,生成测试模块,包括:将所述CAN通信信息填充到测试模块模板中,得到所述测试模块。
预先编写测试模块模板,在获取到CAN通信信息后,将CAN通信信息填充到测试模块模板的对应位置,得到测试模块。示例性的,在将CAN通信信息填充到测试模块模板的对应位置时,可以对测试模块模板进行识别,将报文周期填充到测试模块模板的报文周期参量位置,将报文标识填充到测试模块模板的报文标识位置,将报文节点标识填充到测试模块模板的报文节点标识位置,得到测试模块。测试模块用于进行接收报文帧率的测试,即对接收到的测试报文的帧率进行统计,获得测试结果,测试模块实现了测试用例的功能。
通过将CAN通信信息填充到测试模块模板中,实现了测试模块即测试用例的自动生成,避免了人工基于CAN通信信息编写对应的测试用例。
在本申请的一个实施例中,所述测试模块模板包括测试框架代码、测试函数和评估函数;
所述将所述CAN通信信息填充到测试模块模板中,得到所述测试模块,包括:将所述CAN通信信息填充到所述测试函数和所述评估函数中;根据所述测试框架代码、填充CAN通信信息的测试函数和填充CAN通信信息的评估函数,生成所述测试模块。
其中,测试框架代码用于控制整个测试流程以及测试结果报告的生成。测试函数用于统计单帧接收的测试报文在预设数量(如100个)的报文周期内具体的接收报文次数;评估函数用于基于测试函数得到的接收报文次数评估该帧报文的测试结果。
在获取到CAN通信信息后,将CAN通信信息填充到测试函数和评估函数中,这样测试函数可以对相应报文标识的测试报文进行统计,评估函数对相应报文标识的测试报文的接收报文次数进行评估,得到该报文标识所对应的测试结果。在CAN通信信息中包括多个报文标识时,可以分别将每个报文标识所对应的报文周期和报文节点标识填充到测试函数和评估函数中,得到对应每个报文标识的测试函数和评估函数,便于对每个报文标识对应的测试报文进行统计和评估。
在将CAN通信信息填充到测试函数和评估函数后,将测试函数和评估函数放置到测试框架代码的相应位置,得到测试模块。
通过将CAN通信信息填充到测试函数和评估函数中,实现了测试模块即测试用例的自动生成,避免了人工基于CAN通信信息编写每个报文标识对应的测试用例。
步骤140,向所述CANoe设备发送脚本启动指令,所述脚本启动指令用于指示所述CANoe设备启动所述测试脚本,生成测试报文,并通过CAN总线将所述测试报文发送至所述待测试控制器,所述待测试控制器用于根据接收到的所述测试报文执行所述测试用例,获得测试结果。
其中,所述CANoe设备将所述测试报文发送至待测试控制器时,按照所述报文周期对所述测试报文进行周期性发送。所述待测试控制器用于在执行所述测试用例时,根据所述报文标识统计预设数量的报文周期内接收到测试报文的帧数,并确定接收测试报文的周期和所述报文周期是否一致,得到所述测试结果。
计算机中可以展示控制界面,通过控制界面接收测试人员给出的测试指令,基于测试指令,向CANoe设备发送脚本启动指令,CANoe设备接收到脚本启动指令后,启动测试脚本,生成每个报文标识对应的测试报文,并将生成的测试报文按照与报文标识对应的报文周期通过CAN总线中对应待测试控制器的通道发送至待测试控制器,待测试控制器接收CANoe设备通过CAN总线发送的测试报文,待测试控制器通过测试模块执行对接收到的测试报文帧率的测试,通过测试框架代码控制测试函数针对每个报文标识统计在预设数量的报文周期内接收到的测试报文的帧数,通过评估函数来对接收到的测试报文的帧数和预设数量进行比较,来确定接收测试报文的周期和报文周期是否一致,得到测试结果,将测试结果发送至计算机。
步骤150,接收所述待测试控制器发送的所述测试结果。
本申请实施例中,在DBC数据库发生变更时,只需要重新按照步骤110至步骤150重新解析变更后的DBC(CAN的数据库)文件,获取变更后的CAN通信信息,并生成测试脚本和测试模块,进而便可以进行CAN接收报文帧率的测试,不需要基于变更后的DBC重新进行测试用例的人工开发,减少了工作量,提高了测试效率,而且测试用例中只需要基于每次的CAN通信信息重新进行更新,不需要单独进行开发,提高了测试用例的通用性。待测试控制器为ECU时,若ECU程序更新或DBC数据库发生更新,可以通过自动读取DBC文件和ECU程序的信息,更新测试脚本和测试模块,即可完成ECU中整套CAN报文接口的回归测试工作。
本申请实施例提供的CAN通信测试方法,通过解析CAN的数据库文件,获取CAN通信信息,根据CAN通信信息生成测试脚本,并将测试脚本加载至CANoe设备中,根据CAN通信信息生成测试模块,将测试模块加载至待测试控制器中,向CANoe设备发送脚本启动指令,以指示CANoe设备启动测试脚本,生成测试报文,并通过CAN总线将测试报文发送至待测试控制器,待测试控制器根据接收到的测试报文执行测试模块,获得测试结果,实现了基于CAN通信信息自动生成CAN接收报文帧率测试的测试脚本和测试模块,不需要针对每次更新后的DBC数据库,单独开发对应的测试用例,减少了测试工作量,提高了测试效率,提高了测试用例的通用性。
图2是本申请实施例提供的一种CAN通信测试系统的结构框图,如图2所示,所述CAN通信测试系统包括:
计算机210,用于解析CAN的数据库文件,获取CAN通信信息;根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中;根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中;向所述CANoe设备发送脚本启动指令;
CANoe设备220,通过CAN总线与所述待测试控制器连接,用于启动所述测试脚本,生成测试报文,并通过所述CAN总线将所述测试报文发送至所述待测试控制器;
待测试控制器230,用于根据接收到的所述测试报文执行所述测试模块,获得测试结果,并将所述测试结果发送至所述计算机。
其中,所述CAN通信信息可以包括报文周期、报文标识和报文节点标识等CAN通信相关的信息,所述报文节点标识为待测试控制器的标识。CAN通信信息可以包括一个或多个报文标识,不同报文标识所对应的报文周期可以不同。报文周期是报文发送的周期,在进行测试时,作为测试报文的发送周期。待测试控制器可以是ECU、VCU、T-Box、BMS等。
计算机解析CAN的数据库文件,得到所有CAN接收报文的报文标识(可以包括报文名称和报文ID等)、报文周期和报文节点标识等信息,根据待测试控制器所对应的报文节点标识从CAN的数据库文件中提取出待测试控制器对应的报文节点标识、报文标识和报文周期等信息,得到CAN通信信息。计算机将CAN通信信息填充到测试脚本模板中,得到CAPL的测试脚本,通过与CANoe设备之间的USB连接,将测试脚本加载至CANoe设备中。计算机将CAN通信信息填充到测试模块模板中,得到测试模块,可以通过串口或其他方式与待测试控制器连接,将测试模块加载至待测试控制器中,即将测试模块烧录到待测试控制器中并在待测试控制器中进行编译,以便待测试控制器执行接收报文帧率的测试。
计算机中可以展示控制界面,通过控制界面接收测试人员给出的测试指令,基于测试指令,向CANoe设备发送脚本启动指令,CANoe设备接收到脚本启动指令后,启动测试脚本,生成每个报文标识对应的测试报文,并将生成的测试报文按照与报文标识对应的报文周期通过CAN总线中对应待测试控制器的通道发送至待测试控制器,待测试控制器接收CANoe设备通过CAN总线发送的测试报文,待测试控制器通过测试模块执行对接收到的测试报文帧率的测试,得到测试结果,将测试结果通过串口或其他方式(例如通过CANoe设备)发送至计算机。
计算机将CAN通信信息填充到测试脚本模板中,得到CAPL的测试脚本,可以根据CAN通信信息在测试脚本模板的位置来填充CAN通信信息。示例性的,在将CAN通信信息填充到测试脚本模板的对应位置时,可以对测试脚本模板进行识别,将报文周期填充到测试脚本模板的报文周期位置,将报文标识填充到测试脚本模板的报文标识位置,将报文节点标识填充到测试脚本模板的报文节点标识位置,得到测试脚本。通过将CAN通信信息填充到测试脚本模板中,实现了测试脚本的自动生成,避免了人工基于CAN通信信息编写对应的测试脚本。
示例性的,在将CAN通信信息填充到测试模块模板的对应位置时,可以对测试模块模板进行识别,将报文周期填充到测试模块模板的报文周期位置,将报文标识填充到测试模块模板的报文标识位置,将报文节点标识填充到测试模块模板的报文节点标识位置,得到测试模块。测试模块用于进行接收报文帧率的测试,即对接收到的测试报文的帧率进行统计,获得测试结果,测试模块实现了测试用例的功能。
在本申请的一个实施例中,所述测试模块模板包括测试框架代码、测试函数和评估函数;
计算机将所述CAN通信信息填充到测试模块模板中,得到所述测试模块,包括:计算机将所述CAN通信信息填充到所述测试函数和所述评估函数中;根据所述测试框架代码、填充CAN通信信息的测试函数和填充CAN通信信息的评估函数,生成所述测试模块。
其中,测试框架代码用于控制整个测试流程以及测试结果报告的生成。测试函数用于统计单帧接收的测试报文在预设数量(如100个)的报文周期内具体的接收报文次数;评估函数用于基于测试函数得到的接收报文次数评估该帧报文的测试结果。
在获取到CAN通信信息后,将CAN通信信息填充到测试函数和评估函数中,这样测试函数可以对相应报文标识的测试报文进行统计,评估函数对相应报文标识的测试报文的接收报文次数进行评估,得到该报文标识所对应的测试结果。在CAN通信信息中包括多个报文标识时,可以分别将每个报文标识所对应的报文周期和报文节点标识填充到测试函数和评估函数中,得到对应每个报文标识的测试函数和评估函数,便于对每个报文标识对应的测试报文进行统计和评估。在将CAN通信信息填充到测试函数和评估函数后,将测试函数和评估函数放置到测试框架代码的相应位置,得到测试模块。
通过将CAN通信信息填充到测试函数和评估函数中,实现了测试模块即测试用例的自动生成,避免了人工基于CAN通信信息编写每个报文标识对应的测试用例。
在本申请的一个实施例中,所述CANoe设备将所述测试报文发送至待测试控制器时,按照所述报文周期对所述测试报文进行周期性发送。所述待测试控制器用于在执行所述测试模块时,根据所述报文标识统计预设数量的报文周期内接收到测试报文的帧数,并确定接收测试报文的周期和所述报文周期是否一致,得到所述测试结果。
CANoe设备向待测试控制器发送测试报文时,按照与每个报文标识对应的报文周期来周期性发送该报文标识所对应的测试报文。待测试控制器通过测试模块执行对接收到的测试报文帧率的测试,通过测试框架代码控制测试函数针对每个报文标识统计在预设数量(如100个)的报文周期内接收到的测试报文的帧数,通过评估函数来对接收到的测试报文的帧数和预设数量进行比较,来确定接收测试报文的周期和报文周期是否一致,得到测试结果,将测试结果发送至计算机。其中,在确定接收到测试报文的周期和报文周期是否一致时,若接收到的测试报文的帧数小于预设数量,则确定接收测试报文的周期和报文周期不一致,即接收测试报文的周期大于报文周期;若接收到的测试报文的周期等于预设数量,则确定接收测试报文的周期和报文周期一致。
图3是本申请实施例中待测试控制器接收CAN测试报文数据流的示意图,如图3所示,待测试控制器接收CAN测试报文数据流的流向如下:
1、计算机控制帧率测试的CAPL测试脚本启动;
2、CANoe设备中,CAPL测试脚本按照报文周期、报文标识、报文节点标识等信息进行测试报文模拟,生成测试报文;
3、CANoe设备通过CAN总线将测试报文发送给待测试控制器;
4、待测试控制器收到CAN的测试报文,并将对应的CAN buffer中的测试报文传给测试模块;
5、测试模块完成测试,生成对应的测试结果;
6、待测试控制器将所有报文的帧率测试结果汇总并通过串口发送给计算机。
其中,CAN buffer用于缓存接收到的测试报文,向buffer中缓存测试报文时会触发中断,从而测试模块从CAN buffer中获取接收到的测试报文。
本申请实施例中,在DBC数据库发生变更时,只需要计算机重新解析变更后的DBC(CAN的数据库)文件,获取变更后的CAN通信信息,并生成测试脚本和测试模块,进而便可以进行CAN接收报文帧率的测试,不需要基于变更后的DBC重新进行测试用例的人工开发,减少了工作量,提高了测试效率,而且测试用例中只需要基于每次的CAN通信信息重新进行更新,不需要单独进行开发,提高了测试用例的通用性。
本申请实施例提供的CAN通信测试系统,通过计算机解析CAN的数据库文件,获取CAN通信信息,根据CAN通信信息生成测试脚本,并将测试脚本加载至CANoe设备中,根据CAN通信信息生成测试模块,将测试模块加载至待测试控制器中,向CANoe设备发送脚本启动指令,CANoe设备启动测试脚本,生成测试报文,并通过CAN总线将测试报文发送至待测试控制器,待测试控制器根据接收到的测试报文执行测试模块,获得测试结果,实现了基于CAN通信信息自动生成CAN接收报文帧率测试的测试脚本和测试模块,不需要针对每次更新后的DBC数据库,单独开发对应的测试用例,减少了测试工作量,提高了测试效率,提高了测试用例的通用性。
图4是本申请实施例提供的一种CAN通信测试装置的结构框图,如图4所示,所述装置包括:
文件解析模块410,用于解析CAN的数据库文件,获取CAN通信信息;
脚本加载模块420,用于根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中;
测试模块加载模块430,用于根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中;
脚本启动模块440,用于向所述CANoe设备发送脚本启动指令,所述脚本启动指令用于指示所述CANoe设备启动所述测试脚本,生成测试报文,并通过CAN总线将所述测试报文发送至所述待测试控制器,所述待测试控制器用于根据接收到的所述测试报文执行所述测试模块,获得测试结果;
测试结果接收模块450,用于接收所述待测试控制器发送的所述测试结果。
可选的,所述脚本加载模块包括:
脚本生成单元,用于将所述CAN通信信息填充到测试脚本模板中,得到所述测试脚本。
可选的,所述测试模块加载模块包括:
测试模块生成单元,用于将所述CAN通信信息填充到测试模块模板中,得到所述测试模块。
可选的,所述测试模块模板包括测试框架代码、测试函数和评估函数;
所述测试模块生成单元具体用于:
将所述CAN通信信息填充到所述测试函数和所述评估函数中;
根据所述测试框架代码、填充CAN通信信息的测试函数和填充CAN通信信息的评估函数,生成所述测试模块。
可选的,所述CAN通信信息包括报文周期、报文标识和报文节点标识,所述报文节点标识为所述待测试控制器的标识。
可选的,所述CANoe设备将所述测试报文发送至待测试控制器时,按照所述报文周期对所述测试报文进行周期性发送。
可选的,所述待测试控制器用于在执行所述测试模块时,根据所述报文标识统计预设数量的报文周期内接收到测试报文的帧数,并确定接收测试报文的周期和所述报文周期是否一致,得到所述测试结果。
本申请实施例提供的CAN通信测试装置,用于实现本申请实施例所述的CAN通信测试方法的各步骤,装置的各模块的具体实施方式参见相应步骤,此处不再赘述。
本申请实施例提供的CAN通信测试装置,通过解析CAN的数据库文件,获取CAN通信信息,根据CAN通信信息生成测试脚本,并将测试脚本加载至CANoe设备中,根据CAN通信信息生成测试模块,将测试模块加载至待测试控制器中,向CANoe设备发送脚本启动指令,以指示CANoe设备启动测试脚本,生成测试报文,并通过CAN总线将测试报文发送至待测试控制器,待测试控制器根据接收到的测试报文执行测试模块,获得测试结果,实现了基于CAN通信信息自动生成CAN接收报文帧率测试的测试脚本和测试模块,不需要针对每次更新后的DBC数据库,单独开发对应的测试用例,减少了测试工作量,提高了测试效率,提高了测试用例的通用性。
相应的,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的CAN通信测试方法。所述电子设备可以为计算机等。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的CAN通信测试方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请实施例提供的一种CAN通信测试方法、系统、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
Claims (12)
1.一种CAN通信测试方法,其特征在于,包括:
解析CAN的数据库文件,获取CAN通信信息;
根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中;
根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中;
向所述CANoe设备发送脚本启动指令,所述脚本启动指令用于指示所述CANoe设备启动所述测试脚本,生成测试报文,并通过CAN总线将所述测试报文发送至所述待测试控制器,所述待测试控制器用于根据接收到的所述测试报文执行所述测试模块,获得测试结果;
接收所述待测试控制器发送的所述测试结果;
其中,所述根据所述CAN通信信息,生成测试模块,包括:
将所述CAN通信信息填充到测试模块模板中,得到所述测试模块;
所述测试模块模板包括测试框架代码、测试函数和评估函数;
所述将所述CAN通信信息填充到测试模块模板中,得到所述测试模块,包括:
将所述CAN通信信息填充到所述测试函数和所述评估函数中;在 CAN 通信信息中包括多个报文标识时,分别将每个报文标识所对应的报文周期和报文节点标识填充到测试函数和评估函数中;
根据所述测试框架代码、填充CAN通信信息的测试函数和填充CAN通信信息的评估函数,生成所述测试模块。
2.根据权利要求1所述的方法,其特征在于,所述根据所述CAN通信信息,生成测试脚本,包括:
将所述CAN通信信息填充到测试脚本模板中,得到所述测试脚本。
3.根据权利要求1或2所述的方法,其特征在于,所述CAN通信信息包括报文周期、报文标识和报文节点标识,所述报文节点标识为所述待测试控制器的标识。
4.根据权利要求3所述的方法,其特征在于,所述CANoe设备将所述测试报文发送至待测试控制器时,按照所述报文周期对所述测试报文进行周期性发送。
5.根据权利要求4所述的方法,其特征在于:
所述待测试控制器用于在执行所述测试模块时,根据所述报文标识统计预设数量的报文周期内接收到测试报文的帧数,并确定接收测试报文的周期和所述报文周期是否一致,得到所述测试结果。
6.一种CAN通信测试系统,其特征在于,包括:
计算机,用于解析CAN的数据库文件,获取CAN通信信息;根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中;根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中;向所述CANoe设备发送脚本启动指令;
CANoe设备,通过CAN总线与所述待测试控制器连接,用于启动所述测试脚本,生成测试报文,并通过所述CAN总线将所述测试报文发送至所述待测试控制器;
待测试控制器,用于根据接收到的所述测试报文执行所述测试模块,获得测试结果,并将所述测试结果发送至所述计算机;
其中,所述根据所述CAN通信信息,生成测试模块,包括:计算机将 CAN 通信信息填充到测试模块模板中,得到测试模块;
所述测试模块模板包括测试框架代码、测试函数和评估函数;
计算机将所述CAN通信信息填充到测试模块模板中,得到所述测试模块,包括:
计算机将所述CAN通信信息填充到所述测试函数和所述评估函数中;在 CAN 通信信息中包括多个报文标识时,分别将每个报文标识所对应的报文周期和报文节点标识填充到测试函数和评估函数中;
根据所述测试框架代码、填充CAN通信信息的测试函数和填充CAN通信信息的评估函数,生成所述测试模块。
7.根据权利要求6所述的系统,其特征在于,所述CAN通信信息包括报文周期、报文标识和报文节点标识,所述报文节点标识为所述待测试控制器的标识。
8.根据权利要求7所述的系统,其特征在于:
所述CANoe设备将所述测试报文发送至待测试控制器时,按照所述报文周期对所述测试报文进行周期性发送。
9.根据权利要求8所述的系统,其特征在于:
所述待测试控制器用于在执行所述测试模块时,根据所述报文标识统计预设数量的报文周期内接收到测试报文的帧数,并确定接收测试报文的周期和所述报文周期是否一致,得到所述测试结果。
10.一种CAN通信测试装置,其特征在于,包括:
文件解析模块,用于解析CAN的数据库文件,获取CAN通信信息;
脚本加载模块,用于根据所述CAN通信信息,生成测试脚本,并将所述测试脚本加载至CANoe设备中;
测试模块加载模块,用于根据所述CAN通信信息,生成测试模块,并将所述测试模块加载至待测试控制器中;
脚本启动模块,用于向所述CANoe设备发送脚本启动指令,所述脚本启动指令用于指示所述CANoe设备启动所述测试脚本,生成测试报文,并通过CAN总线将所述测试报文发送至所述待测试控制器,所述待测试控制器用于根据接收到的所述测试报文执行所述测试模块,获得测试结果;
测试结果接收模块,用于接收所述待测试控制器发送的所述测试结果;
其中,所述测试模块加载模块包括:
测试模块生成单元,用于将所述CAN通信信息填充到测试模块模板中,得到所述测试模块;
所述测试模块模板包括测试框架代码、测试函数和评估函数;
所述测试模块生成单元具体用于:
将所述CAN通信信息填充到所述测试函数和所述评估函数中;在 CAN 通信信息中包括多个报文标识时,分别将每个报文标识所对应的报文周期和报文节点标识填充到测试函数和评估函数中;
根据所述测试框架代码、填充CAN通信信息的测试函数和填充CAN通信信息的评估函数,生成所述测试模块。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任意一项所述的CAN通信测试方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5任意一项所述的CAN通信测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311083281.7A CN116800656B (zh) | 2023-08-28 | 2023-08-28 | Can通信测试方法、系统、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311083281.7A CN116800656B (zh) | 2023-08-28 | 2023-08-28 | Can通信测试方法、系统、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116800656A CN116800656A (zh) | 2023-09-22 |
CN116800656B true CN116800656B (zh) | 2023-10-27 |
Family
ID=88046413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311083281.7A Active CN116800656B (zh) | 2023-08-28 | 2023-08-28 | Can通信测试方法、系统、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116800656B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118631687A (zh) * | 2024-08-14 | 2024-09-10 | 浙江万里扬股份有限公司杭州分公司 | 一种can通信报文级测试方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519228B1 (en) * | 1999-12-22 | 2003-02-11 | International Business Machines Corp. | System and method of operation for verifying and validating public switch telephone networks (PSTN) to (IP) network services |
CN106330618A (zh) * | 2016-09-19 | 2017-01-11 | 中国第汽车股份有限公司 | 一种基于can/lin/most混合型总线网关路由自动化测试系统及测试方法 |
US9606900B1 (en) * | 2016-03-24 | 2017-03-28 | Fmr Llc | Intelligent automation of computer software test scripts and code requirements |
CN112532492A (zh) * | 2020-12-08 | 2021-03-19 | 航天科技控股集团股份有限公司 | 用于测试汽车仪表的can虚拟报文组建方法及系统 |
CN113904967A (zh) * | 2021-09-01 | 2022-01-07 | 重庆长安新能源汽车科技有限公司 | 一种汽车can通信模块接口软件自动测试装置及测试方法 |
CN115729798A (zh) * | 2021-08-27 | 2023-03-03 | 蜂巢智能转向系统(江苏)有限公司保定分公司 | 汽车的自动化测试方法、装置及平台 |
CN116489043A (zh) * | 2023-04-25 | 2023-07-25 | 深蓝汽车科技有限公司 | 一种can通信自动化测试方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2013DE02949A (zh) * | 2013-10-04 | 2015-04-10 | Unisys Corp | |
IN2013DE02946A (zh) * | 2013-10-04 | 2015-04-10 | Unisys Corp |
-
2023
- 2023-08-28 CN CN202311083281.7A patent/CN116800656B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519228B1 (en) * | 1999-12-22 | 2003-02-11 | International Business Machines Corp. | System and method of operation for verifying and validating public switch telephone networks (PSTN) to (IP) network services |
US9606900B1 (en) * | 2016-03-24 | 2017-03-28 | Fmr Llc | Intelligent automation of computer software test scripts and code requirements |
CN106330618A (zh) * | 2016-09-19 | 2017-01-11 | 中国第汽车股份有限公司 | 一种基于can/lin/most混合型总线网关路由自动化测试系统及测试方法 |
CN112532492A (zh) * | 2020-12-08 | 2021-03-19 | 航天科技控股集团股份有限公司 | 用于测试汽车仪表的can虚拟报文组建方法及系统 |
CN115729798A (zh) * | 2021-08-27 | 2023-03-03 | 蜂巢智能转向系统(江苏)有限公司保定分公司 | 汽车的自动化测试方法、装置及平台 |
CN113904967A (zh) * | 2021-09-01 | 2022-01-07 | 重庆长安新能源汽车科技有限公司 | 一种汽车can通信模块接口软件自动测试装置及测试方法 |
CN116489043A (zh) * | 2023-04-25 | 2023-07-25 | 深蓝汽车科技有限公司 | 一种can通信自动化测试方法 |
Non-Patent Citations (1)
Title |
---|
智能电子设备的自动化测试研究;陶瑞琪;杨跃;文钊;;南方农机(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116800656A (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850372B (zh) | 一种控制器can信号的测试方法及系统 | |
CN111007840A (zh) | 一种整车控制器硬件在环测试平台及方法 | |
CN107135210B (zh) | 一种汽车模拟通讯协议解析器及其解析方法 | |
CN116800656B (zh) | Can通信测试方法、系统、装置、电子设备及存储介质 | |
CN108829608B (zh) | 一种基于模拟器的车载终端设备自动化测试系统及方法 | |
JP2012118043A (ja) | 車両シミュレーターを用いた車両装置の自動評価システム | |
Pütz et al. | Database approach for the sign-off process of highly automated vehicles | |
CN113190454A (zh) | 一种车载终端软件实车测试方法及系统 | |
CN105808432A (zh) | 轨道交通牵引传动控制单元软件自动化测试系统及方法 | |
CN107370637B (zh) | 车载ecu通信功能自动化测试系统及方法 | |
CN113904967B (zh) | 一种汽车can通信模块接口软件自动测试装置及测试方法 | |
CN212694288U (zh) | Tbox检测装置 | |
CN113608518A (zh) | 数据生成方法、装置、终端设备及介质 | |
CN113467417A (zh) | 一种整车试验控制方法、装置、设备及可读存储介质 | |
CN117724982A (zh) | 仿真测评方法、装置、电子设备及存储介质 | |
CN114844811A (zh) | 一种车载终端的测试方法及测试系统 | |
CN115185258A (zh) | 一种适用于整车控制器的hil仿真测试系统及方法 | |
CN114285840B (zh) | 车辆数据的获取方法、智能终端及存储介质 | |
CN111324106A (zh) | 车辆整车控制器与电池管理系统联合硬件在环试验台架 | |
CN109960238B (zh) | 一种车辆诊断仪自动化测试系统和方法 | |
CN117806927A (zh) | 汽车虚拟标定方法、装置、电子设备及存储介质 | |
CN102075370A (zh) | 基于虚拟网络及虚拟节点的ecm通讯的标定及验证系统 | |
CN116701096A (zh) | 云端服务器的测试方法、虚拟机、车机系统和存储介质 | |
CN113886274A (zh) | 车联网终端的稳定性测试方法、装置、设备及存储介质 | |
CN208654634U (zh) | 基于CANoe对P档控制器程序逻辑验证的仿真系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |