CN116866207A - 一种基于测试的报文发送方法、装置、设备及介质 - Google Patents
一种基于测试的报文发送方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116866207A CN116866207A CN202311068978.7A CN202311068978A CN116866207A CN 116866207 A CN116866207 A CN 116866207A CN 202311068978 A CN202311068978 A CN 202311068978A CN 116866207 A CN116866207 A CN 116866207A
- Authority
- CN
- China
- Prior art keywords
- message
- tested
- script
- sending
- verification
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012360 testing method Methods 0.000 title claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 10
- 238000013515 script Methods 0.000 claims description 85
- 238000012795 verification Methods 0.000 claims description 62
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 19
- 238000005096 rolling process Methods 0.000 description 15
- 230000015654 memory Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 3
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 3
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 101150008604 CAN1 gene Proteins 0.000 description 2
- 101150063504 CAN2 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- AZDRQVAHHNSJOQ-UHFFFAOYSA-N alumane Chemical compound [AlH3] AZDRQVAHHNSJOQ-UHFFFAOYSA-N 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004088 simulation Methods 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/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- 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
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种基于测试的报文发送方法、装置、电子设备及存储介质,该方法包括:获取待测试报文,响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果,将所述校验结果复制赋值至所述待检测报文,得到待发送报文,将所述待发送报文发送至总线。本申请能够提高对具有校验机制的报文的测试效率。
Description
技术领域
本申请涉及车辆测试技术领域,尤其涉及一种基于测试的报文发送方法、装置、设备及介质。
背景技术
随着汽车工业的发展,汽车各个模块间数据交互的安全性以及稳定性越来越得到重视,所以在CAN总线通信中,部分模块(EMS,TCU,ESP,ADAS等)关键性的报文就加入了checksum校验和rolling counter机制,目的就是为了防止发送的报文出现错误和出现漏帧,同时也为了防止他人通过工具欺骗汽车控制单元达到控制车辆的目的。现有的技术方案要想实现报文checksum校验和rolling counter后将报文发送出去,需要借助代码实现计算后将报文发出。
但在汽车研发阶段,各个控制的开发都是借助台架验证的,对于测试人员,一般的测试工具只能实现普通报文的发送,想要实现这种带checksum校验和rolling counter校验报文的发送,需要编写代码,所以技术难度较高,代码逻辑复杂,不同项目算法不同,维护不方便。
发明内容
有鉴于此,本申请实施例提供了一种基于测试的报文发送方法、装置、设备及介质,能够提高对具有校验机制的报文的测试效率。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种基于测试的报文发送方法,包括以下步骤:
获取待测试报文,其中,所述待测试报文具备校验机制;
响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果;
将所述校验结果复制赋值至所述待检测报文,得到待发送报文;
将所述待发送报文发送至总线。
在一种可能的实施方式中,所述获取待测试报文,包括:
响应于针对消息编辑菜单打开操作,在所述消息编辑菜单中显示至少一条报文;
从所述至少一条报文中选取目标报文作为所述待测试报文,并将所述待测试报文添加至发送报文组件和接收报文组件。
在一种可能的实施方式中,所述响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果之前,所述方法还包括:
新建用于校验所述待测试报文的脚本模组;
在所述脚本模组中添加IF指令,其中,所述IF指令用于判断所述接收报文组件是否接收到所述待测试报文并执行后续脚本;
在所述脚本模组中添加运算脚本,其中,所述运算脚本用于对所述待测试报文进行校验处理;
在所述脚本模组中添加第一赋值脚本,其中,所述第一赋值脚本用于将运算脚本运算后的运算结果赋值给所述发送报文组件;
在所述脚本模组中添加End IF指令,其中,所述End IF指令用于结束所述IF指令。
在一种可能的实施方式中,所述响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果,包括:
通过所述发送报文组件发送所述待测试报文,并通过所述接收报文组件接收所述待测试报文;
当所述IF指令判断所述接收报文组件接收到所述待测试报文后,通过所述运算脚本对所述待测试报文按校验算法进行运算,得到所述运算结果。
在一种可能的实施方式中,所述将所述校验结果复制赋值至所述待检测报文,得到待发送报文,包括:
通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件;
执行所述End IF指令,以结束所述IF指令。
在一种可能的实施方式中,所述脚本模组还包括第二赋值脚本,所述第二赋值脚本用于将所述接收报文组件清零,通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件之后,还包括:
通过所述第二复制脚本将所述接收报文组件清零,以等待下一次接收。
在一种可能的实施方式中,所述方法还包括:
响应于针对所述待测试报文的修改请求,将修改后的所述待测试报文添加至发送报文组件和接收报文组件;
修改所述运算脚本,以匹配修改后的所述待测试报文。
第二方面,本申请实施例还提供一种基于测试的报文发送装置,所述装置包括:
获取模块,用于获取待测试报文,其中,所述待测试报文具备校验机制;
校验模块,用于响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果;
赋值模块,用于将所述校验结果复制赋值至所述待检测报文,得到待发送报文;
发送模块,用于将所述待发送报文发送至总线。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一项所述的基于测试的报文发送方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的基于测试的报文发送方法。
本申请实施例具有以下有益效果:
(1)实现了带checksum校验和rolling counter报文的发送;
(2)能够验证校验算法是否满足需求定义;
(3)能够验证仪表功能显示是否正常,满足测试要求;
(4)具有较强的可移植性,修改难度低,根据不同项目可直接根据运算算法对运算脚本进行修改。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例提供的步骤S101-S104的流程示意图;
图2是本申请实施例提供的步骤S201-S202的流程示意图;
图3是本申请实施例提供的步骤S301-S305的流程示意图;
图4是本申请实施例提供的步骤S401-S402的流程示意图;
图5是本申请实施例提供的步骤S501-S502的流程示意图;
图6是本申请实施例提供的步骤S601-S602的流程示意图;
图7是本申请实施例提供的基于测试的报文发送装置的结构示意图;
图8是本申请实施例提供的电子设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语是为了描述本申请实施例的目的,不是在限制本申请。
参见图1,图1是本申请实施例提供的基于测试的报文发送方法步骤S101-S104的流程示意图,将结合图1示出的步骤S101-S104进行说明。
步骤S101,获取待测试报文,其中,所述待测试报文具备校验机制;
步骤S102,响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果;
步骤S103,将所述校验结果复制赋值至所述待检测报文,得到待发送报文;
步骤S104,将所述待发送报文发送至总线。
上述基于测试的报文发送方法,具有以下有益效果:
(1)实现了带checksum校验和rolling counter报文的发送;
(2)能够验证校验算法是否满足需求定义;
(3)能够验证仪表功能显示是否正常,满足测试要求;
(4)具有较强的可移植性,修改难度低,根据不同项目可直接根据运算算法对运算脚本进行修改。
下面分别对本申请实施例的上述示例性的各步骤进行说明。
本申请实施例所基于的原理为:
CAN报文发送到总线上,各个节点会对总线上的报文进行监听,VSpy3发送报文后,同时接收该条报文,VSpy3将该条报文逻辑运算后,再将该条运算后报文发回总线上。
在步骤S101中,获取待测试报文,其中,所述待测试报文具备校验机制。
在一些实施例中,参见图2,图2是本申请实施例提供的步骤S201-S202的流程示意图,图1示出的步骤S101可以通过步骤S201-S202实现,将结合各步骤进行说明。
在步骤S201中,响应于针对消息编辑菜单打开操作,在所述消息编辑菜单中显示至少一条报文。
在步骤S202中,从所述至少一条报文中选取目标报文作为所述待测试报文,并将所述待测试报文添加至发送报文组件和接收报文组件。
示例的,在Vspy3中的Message Editor界面中选择0x33F报文,并将该报文添加到Receive(接收报文组件)和TX(发送报文组件)中。
在步骤S102中,响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果。
在一些实施例中,参见图3,图3是本申请实施例提供的步骤S301-S305的流程示意图,在执行图1示出的步骤S102之前,可以执行步骤S301-S305,将结合各步骤进行说明将结合各步骤进行说明。
在步骤S301中,新建用于校验所述待测试报文的脚本模组。
在步骤S302中,在所述脚本模组中添加IF指令,其中,所述IF指令用于判断所述接收报文组件是否接收到所述待测试报文并执行后续脚本。
在步骤S303中,在所述脚本模组中添加运算脚本,其中,所述运算脚本用于对所述待测试报文进行校验处理。
在步骤S304中,在所述脚本模组中添加第一赋值脚本,其中,所述第一赋值脚本用于将运算脚本运算后的运算结果赋值给所述发送报文组件。
在步骤S305中,在所述脚本模组中添加End IF指令,其中,所述End IF指令用于结束所述IF指令。
在一些实施例中,参见图4,图4是本申请实施例提供的步骤S401-S402的流程示意图,图1示出的步骤S102可以通过步骤S401-S402实现,将结合各步骤进行说明将结合各步骤进行说明。
在步骤S401中,通过所述发送报文组件发送所述待测试报文,并通过所述接收报文组件接收所述待测试报文。
在步骤S402中,当所述IF指令判断所述接收报文组件接收到所述待测试报文后,通过所述运算脚本对所述待测试报文按校验算法进行运算,得到所述运算结果。
在步骤S103中,将所述校验结果复制赋值至所述待检测报文,得到待发送报文。
在一些实施例中,参见图5,图5是本申请实施例提供的步骤S501-S502的流程示意图,所述将所述校验结果复制赋值至所述待检测报文,得到待发送报文,可以通过步骤S501-S502实现,将结合各步骤进行说明将结合各步骤进行说明。
在步骤S501中,通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件。
在步骤S502中,执行所述End IF指令,以结束所述IF指令。
在步骤S104中,将所述待发送报文发送至总线。
示例的,在Vspy3中Message Editor菜单中选择一条报文,并将该报文添加到Receive和TX中;
点击菜单中的Function Blocks;
新建一条新的Function Blocks;
在新的Function Blocks下,选择IF指令,添加一条接收到该报文的指令。
选择第一Set value指令,添加运算,比如把接收到的报文按校验算法运算后,赋值给TX报文;
选择End IF指令,点击VSpy3工程运行,并运行Function Blocks。
在一些实施例中,所述脚本模组还包括第二赋值脚本,所述第二赋值脚本用于将所述接收报文组件清零,通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件之后,还包括:
通过所述第二复制脚本将所述接收报文组件清零,以等待下一次接收。
这里,在选择第一Set value指令,添加运算,比如把接收到的报文按校验算法运算后,赋值给TX报文之后,还可以再添加一条第二Set value指令,将接收报文状态清零,等待下一次接收到总线上的该报文。
在一些实施例中,参见图6,图6是本申请实施例提供的步骤S601-S602的流程示意图,所述方法还包括步骤S601-S602,将结合各步骤进行说明将结合各步骤进行说明。
在步骤S601中,响应于针对所述待测试报文的修改请求,将修改后的所述待测试报文添加至发送报文组件和接收报文组件。
在步骤S602中,修改所述运算脚本,以匹配修改后的所述待测试报文。
这里,当待测试报文需要修改时,只要从Message Editor界面中选择对应的报文,并修改将运算脚本进行修改,运算脚本匹配对应的校验策略,可以提前预设,供用户选择。
下面将列举一个完整的处理过程:
测试描述:ADAS发送的一条报文带checksum校验和rolling counter,该报文包含ACC工作状态,巡航车速等功能。实车中,仪表需要正确接收该报文,以显示ACC的工作状态,即点亮ACC指示灯,显示ACC巡航的车速值。因此在台架模拟测试中,需对模拟该条ADAS报文发送,来测试仪表的校验算法是否正确,显示功能是否满足需求。
CAN报文的长度为8Byte,假设checksum信号位于报文的第8个Byte,rollingcounter信号位于报文的第7个Byte低4位。checksum信号和rolling counter信号假设满足以下规则:Byte1~Byte7共7个Byte相互异或,并将得到的值赋值给第8个Byte。rollingcounter信号满足递增,步长为1,累加到15后归0重新累加。
步骤1:在Message Editor界面中选择0x33F报文,并将该报文添加到Receive和TX中。
步骤2:点击菜单中的Function Blocks,新建一条新的Function Blocks。
步骤3:新的Function Blocks界面,选择IF指令,添加一条接收CAN总线0x33F报文的表达式:{ACC_GENERAL_STATUS(Present):in0-0}=1。
步骤4:选择Set Value指令,添加表达式:{ALIVECOUNTER_ACC3(Value):in0-sig11-0}+1,rolling counter完成累加,并赋值给TX中的ALIVECOUNTER_ACC3。
步骤5:选择Set Value指令,添加表达式:{ACC_GENERAL_STATUS(ReceivedMessage B1):in0-100-index(0)}xor{ACC_GENERAL_STATUS(Received Message B2):in0-100-index(1)}xor{ACC_GENERAL_STATUS(Received Message B3):in0-100-index(2)}xor{ACC_GENERAL_STATUS(Received Message B4):in0-100-index(3)}xor{ACC_GENERAL_STATUS(Received Message B5):in0-100-index(4)}xor{ACC_GENERAL_STATUS(ReceivedMessage B6):in0-100-index(5)}xor{ACC_GENERAL_STATUS(Received Message B7):in0-100-index(6)}+1,完成checksum校验运算,并赋值给TX中的CHECKSUM_ACC3。
步骤6:选择IF指令,添加表达式:{ALIVECOUNTER_ACC3(Value):out210-sig11-0}>15,用于判断rolling counter是否超过15。
步骤7:选择Set Value指令,添加表达式:{ALIVECOUNTER_ACC3(Value):out210-sig11-0}=0,rolling counter超过15后,ALIVECOUNTER_ACC3归0。
步骤8:择Set Value指令,添加表达式:{ACC_GENERAL_STATUS(Received MessageB1):in0-100-index(0)}xor{ACC_GENERAL_STATUS(Received Message B2):in0-100-index(1)}xor{ACC_GENERAL_STATUS(Received Message B3):in0-100-index(2)}xor{ACC_GENERAL_STATUS(Received Message B4):in0-100-index(3)}xor{ACC_GENERAL_STATUS(Received Message B5):in0-100-index(4)}xor{ACC_GENERAL_STATUS(ReceivedMessage B6):in0-100-index(5)}xor{ACC_GENERAL_STATUS(Received Message B7):in0-100-index(6)}+1,并赋值给TX中的CHECKSUM_ACC3。
步骤9:选择Set Value指令,添加表达式:{ACC_GENERAL_STATUS(Present):in0-0}=0,清除0x33F报文接收状态,等待下一次CAN总线0x33F的接收。
通过上述9个步骤,就实现了带checksum校验和rolling counter报文的发送,此时接收端能够正确接收该报文。
在一些实施例中,通过上述原理,可以拓展到模拟网关功能,比如将CAN1总线上的报文路由到CAN2总线上。
具体来说,可以通过对运算脚本进行修改,改为路由脚本,经过处理后的报文即可模拟从CAN1总线上的报文路由到CAN2总线上。
在一些实施例中,还可以进行CAN网络诊断测试,涉及到故障处理等等,比如checksum校验错误记录DTC,checksum校验恢复正确后清除DTC,rolling counter计数不连续或者重复计数记录DTC,rolling counter恢复正确后清除DTC。
综上所述,通过本申请实施例具有以下有益效果:
(1)实现了带checksum校验和rolling counter报文的发送;
(2)能够验证校验算法是否满足需求定义;
(3)能够验证仪表功能显示是否正常,满足测试要求;
(4)具有较强的可移植性,修改难度低,根据不同项目可直接根据运算算法对运算脚本进行修改。
基于同一发明构思,本申请实施例中还提供了与第一实施例中基于测试的报文发送方法对应的基于测试的报文发送装置,由于本申请实施例中的装置解决问题的原理与上述基于测试的报文发送方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图7所示,图7是本申请实施例提供的基于测试的报文发送装置700的结构示意图。基于测试的报文发送装置700包括:
获取模块701,用于获取待测试报文,其中,所述待测试报文具备校验机制;
校验模块702,用于响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果;
赋值模块703,用于将所述校验结果复制赋值至所述待检测报文,得到待发送报文;
发送模块704,用于将所述待发送报文发送至总线。
本领域技术人员应当理解,图7所示的基于测试的报文发送装置700中的各单元的实现功能可参照前述基于测试的报文发送方法的相关描述而理解。图7所示的基于测试的报文发送装置700中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
在一种可能的实施方式中,获取模块701获取待测试报文,包括:
响应于针对消息编辑菜单打开操作,在所述消息编辑菜单中显示至少一条报文;
从所述至少一条报文中选取目标报文作为所述待测试报文,并将所述待测试报文添加至发送报文组件和接收报文组件。
在一种可能的实施方式中,校验模块702响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果之前,所述方法还包括:
新建用于校验所述待测试报文的脚本模组;
在所述脚本模组中添加IF指令,其中,所述IF指令用于判断所述接收报文组件是否接收到所述待测试报文并执行后续脚本;
在所述脚本模组中添加运算脚本,其中,所述运算脚本用于对所述待测试报文进行校验处理;
在所述脚本模组中添加第一赋值脚本,其中,所述第一赋值脚本用于将运算脚本运算后的运算结果赋值给所述发送报文组件;
在所述脚本模组中添加End IF指令,其中,所述End IF指令用于结束所述IF指令。
在一种可能的实施方式中,校验模块702响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果,包括:
通过所述发送报文组件发送所述待测试报文,并通过所述接收报文组件接收所述待测试报文;
当所述IF指令判断所述接收报文组件接收到所述待测试报文后,通过所述运算脚本对所述待测试报文按校验算法进行运算,得到所述运算结果。
在一种可能的实施方式中。赋值模块703将所述校验结果复制赋值至所述待检测报文,得到待发送报文,包括:
通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件;
执行所述End IF指令,以结束所述IF指令。
在一种可能的实施方式中,赋值模块703通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件之后,还包括:
通过所述第二复制脚本将所述接收报文组件清零,以等待下一次接收。
在一种可能的的实施方式中,校验模块702还包括:
响应于针对所述待测试报文的修改请求,将修改后的所述待测试报文添加至发送报文组件和接收报文组件;
修改所述运算脚本,以匹配修改后的所述待测试报文。
上述基于测试的报文发送装置具有以下有益效果:
(1)实现了带checksum校验和rolling counter报文的发送;
(2)能够验证校验算法是否满足需求定义;
(3)能够验证仪表功能显示是否正常,满足测试要求;
(4)具有较强的可移植性,修改难度低,根据不同项目可直接根据运算算法对运算脚本进行修改。
如图8所示,图8为本申请实施例提供的电子设备800的组成结构示意图,所述电子设备800,包括:
处理器801、存储介质802和总线803,所述存储介质802存储有所述处理器801可执行的机器可读指令,当电子设备800运行时,所述处理器801与所述存储介质802之间通过总线803通信,所述处理器801执行所述机器可读指令,以执行本申请实施例所述的基于测试的报文发送方法的步骤。
实际应用时,所述电子设备800中的各个组件通过总线803耦合在一起。可理解,总线803用于实现这些组件之间的连接通信。总线803除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线803。
上述电子设备具有以下有益效果:
(1)实现了带checksum校验和rolling counter报文的发送;
(2)能够验证校验算法是否满足需求定义;
(3)能够验证仪表功能显示是否正常,满足测试要求;
(4)具有较强的可移植性,修改难度低,根据不同项目可直接根据运算算法对运算脚本进行修改。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有可执行指令,当所述可执行指令被至少一个处理器801执行时,实现本申请实施例所述的基于测试的报文发送方法。
在一些实施例中,存储介质可以是磁性随机存取存储器(FRAM,FerromagneticRandom Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read Only Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD ROM,Compact Disc Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperTextMarkupLanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
上述计算机可读存储介质具有以下有益效果:
(1)实现了带checksum校验和rolling counter报文的发送;
(2)能够验证校验算法是否满足需求定义;
(3)能够验证仪表功能显示是否正常,满足测试要求;
(4)具有较强的可移植性,修改难度低,根据不同项目可直接根据运算算法对运算脚本进行修改。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和电子设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,平台服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于测试的报文发送方法,其特征在于,所述方法包括:
获取待测试报文,其中,所述待测试报文具备校验机制;
响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果;
将所述校验结果复制赋值至所述待检测报文,得到待发送报文;
将所述待发送报文发送至总线。
2.根据权利要求1所述的方法,其特征在于,所述获取待测试报文,包括:
响应于针对消息编辑菜单打开操作,在所述消息编辑菜单中显示至少一条报文;
从所述至少一条报文中选取目标报文作为所述待测试报文,并将所述待测试报文添加至发送报文组件和接收报文组件。
3.根据权利要求2所述的方法,其特征在于,所述响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果之前,所述方法还包括:
新建用于校验所述待测试报文的脚本模组;
在所述脚本模组中添加IF指令,其中,所述IF指令用于判断所述接收报文组件是否接收到所述待测试报文并执行后续脚本;
在所述脚本模组中添加运算脚本,其中,所述运算脚本用于对所述待测试报文进行校验处理;
在所述脚本模组中添加第一赋值脚本,其中,所述第一赋值脚本用于将运算脚本运算后的运算结果赋值给所述发送报文组件;
在所述脚本模组中添加End IF指令,其中,所述End IF指令用于结束所述IF指令。
4.根据权利要求3所述的方法,其特征在于,所述响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果,包括:
通过所述发送报文组件发送所述待测试报文,并通过所述接收报文组件接收所述待测试报文;
当所述IF指令判断所述接收报文组件接收到所述待测试报文后,通过所述运算脚本对所述待测试报文按校验算法进行运算,得到所述运算结果。
5.根据权利要求4所述的方法,其特征在于,所述将所述校验结果复制赋值至所述待检测报文,得到待发送报文,包括:
通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件;
执行所述End IF指令,以结束所述IF指令。
6.根据权利要求5所述的方法,其特征在于,所述脚本模组还包括第二赋值脚本,所述第二赋值脚本用于将所述接收报文组件清零,通过所述第一赋值脚本将所述运算结果赋值至所述发送报文组件之后,还包括:
通过所述第二复制脚本将所述接收报文组件清零,以等待下一次接收。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于针对所述待测试报文的修改请求,将修改后的所述待测试报文添加至发送报文组件和接收报文组件;
修改所述运算脚本,以匹配修改后的所述待测试报文。
8.一种基于测试的报文发送装置,其特征在于,所述装置包括:
获取模块,用于获取待测试报文,其中,所述待测试报文具备校验机制;
校验模块,用于响应于针对所述待测试报文的发送操作,接收所述待测试报文,并对所述待测试报文进行校验处理,得到校验结果;
赋值模块,用于将所述校验结果复制赋值至所述待检测报文,得到待发送报文;
发送模块,用于将所述待发送报文发送至总线。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一项所述的基于测试的报文发送方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的基于测试的报文发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311068978.7A CN116866207A (zh) | 2023-08-23 | 2023-08-23 | 一种基于测试的报文发送方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311068978.7A CN116866207A (zh) | 2023-08-23 | 2023-08-23 | 一种基于测试的报文发送方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116866207A true CN116866207A (zh) | 2023-10-10 |
Family
ID=88234379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311068978.7A Pending CN116866207A (zh) | 2023-08-23 | 2023-08-23 | 一种基于测试的报文发送方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116866207A (zh) |
-
2023
- 2023-08-23 CN CN202311068978.7A patent/CN116866207A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651366B (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN106330593B (zh) | 协议检测方法及装置 | |
CN110888414B (zh) | 一种车辆控制器升级的测试方法 | |
US7996818B1 (en) | Method for testing using client specified references | |
CN102880532A (zh) | 以云端技术为基础的测试系统与方法 | |
CN109728943B (zh) | 故障模拟器及计算机联锁can总线通信故障测试方法 | |
CN110275818B (zh) | 硅后验证方法、装置及存储介质 | |
CN110445635B (zh) | 控制报文发送方法、装置及总线仿真测试系统 | |
CN112817855B (zh) | 系统的众测方法、设备及计算机存储介质 | |
CN116866207A (zh) | 一种基于测试的报文发送方法、装置、设备及介质 | |
CN110413467A (zh) | 一种服务器bios的调试方法、装置、设备及介质 | |
CN107622013B (zh) | 一种分布式系统测试方法及装置 | |
US20160224456A1 (en) | Method for verifying generated software, and verifying device for carrying out such a method | |
CN111782499B (zh) | 测试用例生成方法及系统 | |
Chang et al. | A study of enhanced MC/DC coverage criterion for software testing | |
CN114780412A (zh) | 页面测试方法、系统、设备及介质 | |
CN108334448A (zh) | 代码验证方法、装置及设备 | |
CN113778735A (zh) | 一种故障处理方法、装置及计算机可读存储介质 | |
CN115176233A (zh) | 以确定性顺序执行测试 | |
Lee et al. | Collecting big data from automotive ECUs beyond the CAN bandwidth for fault visualization | |
CN116483641B (zh) | 硬盘异常掉电测试方法、系统及介质 | |
CN115426301B (zh) | 基于自生报文的设备检测方法、装置、设备和存储介质 | |
Heimdahl et al. | NIMBUS: A tool for specification centered development | |
CN118068754A (zh) | 汽车仪表软件测试方法、装置、设备及存储介质 | |
CN111752823A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231030 Address after: 401120 Building 2, No. 81, Tonggui Avenue, Yufengshan Town, Yubei District, Chongqing Applicant after: Beidou Xingtong Zhilian Technology Co.,Ltd. Applicant after: Beidou Xingtong Zhilian Technology (Nanjing) Co.,Ltd. Address before: 401120 Building 2, No. 81, Tonggui Avenue, Yufengshan Town, Yubei District, Chongqing Applicant before: Beidou Xingtong Zhilian Technology Co.,Ltd. |