CN111682987B - 基于osek nm的实车环境模拟及快速测试系统 - Google Patents
基于osek nm的实车环境模拟及快速测试系统 Download PDFInfo
- Publication number
- CN111682987B CN111682987B CN202010517840.0A CN202010517840A CN111682987B CN 111682987 B CN111682987 B CN 111682987B CN 202010517840 A CN202010517840 A CN 202010517840A CN 111682987 B CN111682987 B CN 111682987B
- Authority
- CN
- China
- Prior art keywords
- test
- module
- node
- real
- independent operation
- 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
Images
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/06—Generation of reports
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
- G01M17/007—Wheeled or endless-tracked vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/005—Testing of electric installations on transport means
- G01R31/006—Testing of electric installations on transport means on road vehicles, e.g. automobiles or trucks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于OSEK NM的实车环境模拟及快速测试系统,包括参数自适配模块、测试代码模块、接口代码单元和自动代码单元,所述自动代码单元包括节点快速构造模块和至少一个独立运行节点。本发明中,自动代码单元固化了OSEK NM标准协议中的所有标准业务,从而能够自动执行测试的中间步骤,使得编写的测试案例代码数量与执行的步骤数量无关,极大的降低了代码再编译的行数及次数,大大简化了系统的操作和维护过程;并且各节点之间无代码交叉,从根本上降低了冗余代码间造成的BUG数量;自动代码中的独立运行节点能够仿真实车节点的独立性,从而真实模拟实车场景。
Description
技术领域
本发明涉及汽车电子系统测试领域,特别涉及一种基于OSEK NM的实车环境模拟及快速测试系统。
背景技术
目前,嵌入式汽车通信网络仅有OSEK NM和AUTOSAR NM两种协议,其中,OSEK NM(OSEK:open systems and the corresponding interfaces for automotiveelectronics,德国的汽车电子类开放系统和对应接口标准;NM:网络管理规范)网络管理应用于嵌入式汽车通信网络,使用特定的报文管理网络当中各个节点(即支持网络管理的各个汽车电子零部件)之间的通信,提高网络的通信效率。因网络管理报文的实际交互时间间隔非常短暂,各节点的报文发送时间点要求高,人工操作达不到时间间隔要求,因而无法手动测试。现有的OSEK NM网络管理测试系统,均为对应标准协议规范及客户个性化参数,按测试案例要求的步骤逐步编程检测,针对不同客户需要分别定制开发针对性的测试代码,因而具有以下缺点:
1、现有测试系统只有测试代码模块,需要按测试步骤逐步编写代码进行检测,编写和维护代码的时间成本高、代码冗余大,自身代码BUG(漏洞)不可控;
2、现有测试系统是通过编程逐一模拟其他节点与待测产品交互,即交互过程按照预先编程执行,而实车为多个节点的实时交互,且各个节点完全独立,会有交互先后的不确定性,现有测试方法无法模拟此场景;
3、现有测试系统的代码为定制化编程,针对不同客户需重新定制,且必须由专业编程人员进行编程和维护;采用现有的方法,测试人员即使有一定的编程能力及专业领域的从业经验也不一定能够完成OSEK NM的网络管理测试;
4、现有测试系统未整合异常记录仅关注预先编程的执行结果,中间步骤的偶发现象会遗漏,会有漏测风险;
5、现有测试系统在实车使用出现问题时,复原现场需要按场景再编程,过程十分繁琐。
发明内容
本发明要解决的技术问题是提供了一种能够完全仿真实车且简化了编程、测试及维护过程的基于OSEK NM的实车环境模拟及快速测试系统。
本发明的技术方案如下:
一种基于OSEK NM的实车环境模拟及快速测试系统,包括参数自适配模块、测试代码模块、接口代码单元和自动代码单元;
所述参数自适配模块用于接收测试参数,并将测试参数发送给自动代码单元;
所述自动代码单元包括节点快速构造模块和至少一个独立运行节点,所述节点快速构造模块用于快速增加或删除独立运行节点,并使各独立运行节点之间的代码相互独立运行;所述独立运行节点用于按照OSEK NM标准协议自动进行NM报文交互;
所述测试代码模块用于编写测试代码指定或调整测试案例中各独立运行节点的状态、设置每一测试案例的结束条件以及判定测试案例的测试结果;
所述接口代码单元用于根据测试代码模块编写的代码生成控制命令下发给自动代码单元,以及实时监控自动代码单元的运行状态。
进一步的,所述独立运行节点包括脚本模块、跟踪同步模块和标准业务模块;
所述脚本模块用于将接口代码单元下发给该独立运行节点的控制命令转换为标准业务模块能够识别的指令;
所述跟踪同步模块用于在测试过程中,收集该独立运行节点的NM报文交互情况,以及根据收集的NM报文交互情况识别出异常状态并实时上报给接口代码单元;
所述标准业务模块用于集成OSEK NM标准协议中的标准业务,并根据独立运行节点的运行状态自动执行对应的标准业务。
进一步的,每一所述独立运行节点分别设置有一个单独的ID号,且待测产品的ID号与自动代码单元中一独立运行节点的ID号相同,与待测产品的ID号相同的独立运行节点的标准业务模块被屏蔽,并以待测产品代替其标准业务模块执行OSEK NM标准协议中的标准业务。
进一步的,所述测试代码模块还用于编写测试代码根据一条测试案例的测试结果或异常记录判断是否继续进行下一条测试案例的测试。
进一步的,所述接口代码单元包括实时控制模块和实时解析监控模块,所述实时控制模块用于生成唤醒初始独立运行节点、指定或调整各独立运行节点的运行状态的控制命令;所述实时解析监控模块用于在测试过程中根据各独立运行节点的跟踪同步模块上报的异常情况生成异常记录,以及在测试结束时收集待测产品的NM报文交互记录。
进一步的,所述接口代码单元还包括自动化报告模块,所述自动化报告模块用于根据测试代码模块判定的测试结果生成测试案例的测试报告。
进一步的,所述接口代码单元还包括实时调试模块,所述实时调试模块用于对实时控制模块、实时解析监控模块和自动化报告模块进行调试。
本发明的有益效果如下:
1、自动代码单元固化了OSEK NM标准协议中的所有标准业务,从而能够自动执行中间步骤,使得编写的测试案例代码数量与执行的步骤数量无关,极大的降低了代码再编译的行数及次数,并且各独立运行节点之间无代码交叉,从根本上降低了冗余代码间造成的程序出错的概率;
2、自动代码中的独立运行节点能够仿真实车节点的独立性,节点快速构造模块能够快速构造多个节点交互的实车环境,并保障各节点的独立性,从而完全仿真实车场景;
3、参数自适配模块已整合所有客户可能改动的参数,对于不同的客户要求只需修改参数即可,无需重新编程,变更客户时耗费的时间短暂,且无需专业人员维护;
4、对接口代码单元的接口代码进行了简化,测试人员培训一至两日即可按模板编写或修改测试案例的代码,无需具备专业编程能力;
5、通过跟踪同步模块和实时解析监控模块实时监控测试过程,即使最终结果正确,中间步骤的异常也会生成异常记录以供分析,无需编程进行现场复原。
附图说明
图1为本发明实施例的结构框图;
图2为本实施例中第一条测试案例的NM报文交互及Ring环报文传递示意图;
图3为本实施例中第一条测试案例的测试流程图;
图4为现有技术中第一条测试案例的测试流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图1所示,本发明的实施例包括参数自适配模块、测试代码模块、接口代码单元和自动代码单元。所述参数自适配模块用于接收测试参数,并将测试参数发送给自动代码单元。
所述自动代码单元包括节点快速构造模块和至少一个独立运行节点,所述节点快速构造模块用于快速增加或删除独立运行节点,并使各独立运行节点之间的代码相互独立运行。所述独立运行节点用于按照OSEK NM标准协议的规定自动进行NM报文交互,其中,一个独立运行节点用于采用待测产品(即需要测试性能的支持网络管理的汽车电子零部件)进行NM报文交互,其他独立运行节点用于一一对应仿真汽车上其他支持网络管理的汽车电子零部件进行NM报文交互,从而自动完成测试过程。所述独立运行节点包括脚本模块、跟踪同步模块和标准业务模块。所述脚本模块用于将接口代码单元下发给该独立运行节点的控制命令转换为标准业务模块能够识别的指令;所述跟踪同步模块用于在测试过程中,收集该独立运行节点的Alive报文(唤醒报文)、Ring环报文(循环报文)等OSEK NM标准协议中规定的NM报文的交互情况,以及根据收集的NM报文交互情况识别出异常状态并实时上报给接口代码单元。
所述标准业务模块用于集成OSEK NM标准协议中的所有标准业务,例如:接收NM报文唤醒、接收NM报文计算目标节点的地址、发送NM报文、过滤标准业务要求不处理的NM报文、接收到Ring环报文后发送给目标节点、建立报文交互后未接收到某一节点的Alive报文或Ring环报文记录异常、节点下线、节点上线、检测到有节点下线或上线时重新生成发送Ring环报文的目标节点的地址、启动Ttyp定时器、启动Tmax定时器、其他异常状态判断等;并根据独立运行节点的运行状态自动执行对应的标准业务。每一所述独立运行节点分别设置有一个单独的ID号,且待测产品的ID号与自动代码单元中一独立运行节点的ID号相同,与待测产品的ID号相同的独立运行节点的标准业务模块被屏蔽,并以待测产品代替其标准业务模块执行OSEK NM标准协议中的标准业务。
所述测试代码模块用于编写测试代码指定或调整测试案例中各独立运行节点的状态、设置每一测试案例的结束条件以及判定测试案例的测试结果。所述测试代码模块还用于编写测试代码根据一条测试案例的测试结果或异常记录判断是否继续进行下一条测试案例的测试。
所述接口代码单元设有接口代码,用于根据测试代码模块编写的代码生成控制命令下发给自动代码单元,以及实时监控自动代码单元的运行状态。例如,在测试代码模块编写一条唤醒某节点的代码后,接口代码单元只是根据该代码生成唤醒该节点的控制命令,该节点的脚本模块收到控制命令后识别出该控制命令是针对本节点的,先判断本节点是否在线,如果在线则直接唤醒其标准业务模块,如果本节点处于下线状态,则脚本模块取消对其标准业务模块的屏蔽,使节点上线并进入唤醒状态。可见,脚本模块的代码较复杂,但其代码是固定不变的,固定之后无需再调试更改;而接口代码单元的代码比较简单,便于进行调试,并通过调试不断优化。
所述接口代码单元包括实时控制模块、实时解析监控模块、自动化报告模块和实时调试模块,所述实时控制模块用于生成唤醒初始独立运行节点、指定或调整各独立运行节点的运行状态的控制命令;所述实时解析监控模块用于在测试过程中根据各独立运行节点的跟踪同步模块上报的异常情况生成异常记录,以及在测试结束时收集待测产品的NM报文交互记录;所述接口代码单元还包括自动化报告模块和实时调试模块,所述自动化报告模块用于根据测试代码模块判定的测试结果生成测试案例的测试报告;所述实时调试模块用于对实时控制模块、实时解析监控模块和自动化报告模块进行调试。
本实施例的工作原理如下:
如图2所示,在测试前,先根据客户的要求确定独立运行节点的数量,通过节点快速构造模块增加或删除独立运行节点(以下简称为节点),并设置好各节点的地址。下面以实车系统包括待测产品(ID号为0X403)和其他三个支持网络管理的汽车电子零部件(ID号分别为0X400、0X401和0X402)为例进行说明,当然,支持网络管理的汽车电子零部件的数量也可以多于三个或少于三个;则测试时测试系统需要构造四个节点进行NM报文交互,假设初始状态时节点的数量为一个,节点的ID号为0X400,则先使用节点快速构造模块通过复制该节点再生成三个节点,并将生成的三个节点的ID号分别设置为0X401、0X402和0X403即可。
然后通过参数自适配模块输入测试参数,参数自适配模块根据输入的测试参数生成参数适配表并发送给标准业务模块。本实施方式中,所述测试参数包括节点的起始ID号、待测产品的ID号、节点的ID号范围、支持的最大节点数量、Ttyp定时器的计时时间和Tmax定时器的计时时间等标准业务模块运行时所需的参数。在上述例子中,可设置节点的起始ID号为0X400,待测产品的ID号为0X403,节点的ID号范围为0X400~0X403,支持的最大节点数量为4、Ttyp定时器的计时时间为100ms,Tmax定时器的计时时间为260ms。当然,支持的最大节点数量也可以大于4,节点的ID号范围也可设置为更大的范围,只需要包括0X400~0X403即可,如果节点的ID号范围未完全包括0X400~0X403四个节点,则超出ID号范围的节点发送的NM报文不会被其他节点处理;Ttyp定时器和Tmax定时器的计时时间也可根据客户要求设置为其他数值,只需满足Tmax定时器的计时时间大于Ttyp定时器的计时时间的2倍即可。将各节点的ID号减去节点的起始ID号即可得出该节点的地址;例如,节点0X400的地址为0X400-0X400=00,节点0X401的地址为0X401-0X400=01,节点0X402的地址为0X402-0X400=02,节点0X403的地址为0X403-0X400=03。另外,由于节点0X403的ID号与待测产品的ID号相同,节点0X403的脚本模块会屏蔽该节点的标准业务模块,并以待测产品代替该节点的标准业务模块进行NM报文交互,从而实现对待测产品的性能测试。Ring环报文按照节点的地址从小到大循环传递,即Ring环报文的发送顺序为节点0X400(地址为00)→节点0X401(地址为01)→节点0X402(地址为02)→节点0X403(地址为03)→节点0X400(地址为00)。
然后,根据测试案例所需模拟的场景在测试代码模块编写测试代码,由于接口代码模块对代码编程进行了简化,只需对已有的模板进行更改,就能完成测试案例的代码编写,并且标准业务模块中已经固化了OSEK NM标准协议中的所有标准业务,只需编写唤醒初始节点、指定或调整节点的运行状态以及结束测试并判定测试结果的测试代码即可,接口代码单元能够将上述测试代码转换为控制命令,通过脚本模块提供给接口代码单元的函数接口触发指定节点的标准业务模块自动运行相关标准业务,从而自动完成测试的中间过程;因此,编写测试代码的过程大大简化。下面以两条典型测试案例的工作过程为例进行说明,第一条测试案例为测试节点0X400、节点0X401、节点0X402和节点0X403正常进行NM报文交互时,待测产品的NM报文交互情况,以检测待测产品与其它节点进行连接的能力和维持Ring环报文的能力;第二条测试案例为在第一条案例的基础上,在NM报文交互过程中使节点0X401突然下线,之后再使节点0X401上线,测试待测产品在此过程中的NM报文交互情况,以评估待测产品的自恢复能力。
在本实施例中,第一条测试案例由于无需改变节点的运行状态,只需在测试代码模块编写两行代码即可,第一行代码用于唤醒节点0X400,第二行代码用于指定测试案例的最大测试时间和结束测试的条件,在测试结束后收集测试记录并判定测试结果,以及判断是否继续进行下一条测试案例的测试;结束测试的条件可设置为Ring环报文的循环次数达到预定的次数或实时解析监控模块监控到的异常状态的次数达到预定的次数。第一条测试案例中,Ring环报文按照节点0X400→节点0X401→节点0X402→节点0X403(待测产品)→节点0X400的顺序传递,其测试过程如下:
实时控制模块根据第一行代码生成唤醒节点0X400的控制命令,节点0X400的脚本模块收到该控制命令后控制其标准业务模块运行唤醒业务,即,节点0X400的标准业务模块发出Alive报文,节点0X401、节点0X402和节点0X403收到Alive报文后也均被唤醒,且节点0X401和节点0X402的标准业务模块以及待测产品(相当于节点0X403的标准业务模块)分别向外发送Alive报文,同时,各节点的跟踪同步模块实时检测该节点是否接收到其他三个节点发送的Alive报文,如检测发现未收到某一节点发送的Alive报文则识别为异常状态并上报给实时解析监控模块,由实时解析监控模块生成异常记录。节点0X400的标准业务模块发送Alive报文后,按照标准协议要求应等待第一预设时间(即Ttyp定时器的计时时间)后向外发送目标地址为01(节点0X401的地址)的Ring环报文,节点0X401、节点0X402和节点0X403均能收到该报文;其中,节点0X402的标准业务模块和待测产品收到节点0X400发送的Ring环报文后识别出本节点不是目标节点,因此不作处理,节点0X401的标准业务模块收到节点0X400发送的Ring环报文后识别出本节点为目标节点,按照标准协议要求应等待第一预设时间后向外发送目标地址为02(节点0X402的地址)的Ring环报文,节点0X400、节点0X402和节点0X403均能收到该报文;其中,节点0X400的标准业务模块和待测产品收到节点0X401发送的Ring环报文后识别出本节点不是目标节点,因此不作处理,节点0X402的标准业务模块收到节点0X401发送的Ring环报文后识别出本节点为目标节点,按照标准协议要求应等待第一预设时间后向外发送目标地址为03(待测产品的地址)的Ring环报文,节点0X400、节点0X401和节点0X403均能收到该报文;其中,节点0X400和节点0X401的标准业务模块收到节点0X402发送的Ring环报文后识别出本节点不是目标节点,因此不作处理,待测产品收到节点0X402发送的Ring环报文后识别出本节点为目标节点,按照标准协议要求应向外发送目标地址为00(节点0X400的地址)的Ring环报文,节点0X400、节点0X401和节点0X402均能收到该报文;其中,节点0X401和节点0X402的标准业务模块收到待测产品发送的Ring环报文后识别出本节点不是目标节点,因此不作处理,节点0X400的标准业务模块收到待测产品发送的Ring环报文后识别出本节点为目标节点,判断已完成Ring环报文的一次循环过程,如果在第二行代码中设置的结束测试的条件是完成一次Ring报文的循环后结束测试,则实时解析监控模块监控到已完成一次Ring报文的循环后生成控制命令使各节点的标准业务模块进入睡眠状态,同时收集待测产品的NM报文交互记录,计算出待测产品收到节点0X402的标准业务模块发送的Ring环报文的时间与待测产品发送Ring环报文给节点0X400的时间之间的间隔时间,并反馈给测试代码模块,测试代码模块将该间隔时间与第一预设时间进行比较,如果该间隔时间等于第一预设时间,测试代码模块判定测试结果正常;否则,测试代码模块判定测试结果异常。如果待测产品一直未发送Ring环报文,在达到第二行代码设置的最大测试时间后,也会结束该案例的测试,并判定出测试结果(待测产品未发送Ring环报文会判定为测试结果异常)。测试结束后,自动化报告模块会根据测试代码模块判定的测试结果自动生成该测试案例的测试报告。
在Ring环报文的发送过程中,实时解析监控模块还会实时监控是否有节点异常发送了NM报文,假如待测产品在收到节点0X400或节点0X401发送的Ring环报文后向外发送了任何一种NM报文,则其他三个节点均会收到该NM报文,并判定为异常状态上报给实时解析监控模块,由实时解析监控模块生成异常状态记录;该测试案例结束时,如果测试结果正常默认为自动进行下一测试案例的测试;测试结果异常时,测试代码模块可直接结束测试,也可以根据测试结果和实时解析监控模块生成的异常记录情况综合判定是否进行下一案例的测试;即,在测试代码模块中预先设置测试结果异常的情况下结束测试的条件,当测试结果异常且实时解析单元生成的异常记录满足预先设置的结束测试的条件时才结束测试,如果不满足预先设置的结束测试的条件,即使测试结果异常仍继续进行下一测试案例的测试。例如,可预先在测试代码模块设置测试结果异常且待测产品未发出Alive报文时结束测试,当测试结果为异常时,测试代码模块会检测实时解析监控模块生成的异常记录中是否有待测产品未发出Alive报文的记录,如果有则结束测试,如果没有则继续下一测试案例的测试。
如图4所示,为现有技术中第一条测试案例的执行过程,由于现有技术的测试系统相当于只有测试代码模块,每发送一次报文均需要判断待测产品是否出现异常,一旦待测产品出现异常即会判定测试失败,并结束测试,而且,现有技术在测试时只有一个虚拟节点,在编程时只能在这一个虚拟节点和待测产品之间进行NM报文交互,例如,现有技术在实现第一条测试案例时,必须编写程序先使虚拟节点分别模拟节点0X400、节点0X401和节点0X402发出Alive报文给待测产品,检测待测产品是否发出Alive报文(待测产品未发出Alive报文则测试失败,结束测试);然后使虚拟节点模拟节点0X400,发出目标节点为节点0X401的Ring环报文给待测产品,并检测待测产品是否发出NM报文(如果待测产品发出任何一种NM报文则测试失败,结束测试);然后等待第一预设时间后,再使虚拟节点模拟节点0X401,发出目标节点为节点0X402的Ring环报文给待测产品,并检测待测产品是否发出NM报文(如果待测产品发出任何一种NM报文则测试失败,结束测试);然后再次等待第一预设时间,再使虚拟节点模拟节点0X402,发出目标节点为节点0X403的Ring环报文给待测产品,检测待测产品是否发出目标节点为节点0X400的Ring环报文,如果待测产品未发出目标节点为节点0X400的Ring环报文则测试失败,结束测试;如果待测产品发出了目标节点为节点0X400的Ring环报文,则结束测试,并计算待测产品收到节点0X402发送的Ring环报文的时间与待测产品发送Ring环报文给节点0X400的时间之间的间隔时间是否等于第一预设时间,等于第一预设时间则判定测试成功,否则,判定测试失败。
可见,现有技术采用的方法是按照报文传递的顺序逐一编写代码各来实现节点之间的NM报文交互,由于实际测试时节点的数量一般都是几十个,一个待测产品所需的测试案例更是上千条,不仅对编写代码的人员要求较高,且编写过程繁琐,各条测试案例都要分别编写代码,一条测试案例需要编写上百行甚至几百行代码,编写上千条测试案例的代码的工作量是十分巨大的,代码出错的概率是极高的,且通过一个虚拟节点模拟多个节点,代码冗余较多,容易相互影响;且现有技术只模拟了与报文传递过程相关的NM报文交互过程,但实车环境下任意两个节点之间在任何时刻都可能进行NM报文交互,因此现有技术不仅程序复杂,而且无法完全模拟实车环境。而本实施例通过区分接口代码和自动代码实现了代码的分层,将OSEK NM标准协议中的所有标准业务都固化在了标准业务模块中,且通过脚本模块提供了标准业务模块及跟踪同步模块与上层的接口代码单元的接口,在测试代码模块只需编写代码指定测试案例中各节点的状态,唤醒初始节点并收集测试结果即可,接口代码单元能够根据测试代码自动生成控制命令下发给各节点的脚本模块,各节点的脚本模块识别出本节点的控制命令,并根据控制命令和该节点的运行状态自动生成其标准业务模块能够识别的执行命令,使其标准业务模块先进入指定状态,再按照OSEK NM标准协议自动执行后续的相关标准业务,从而自动完成中间测试步骤。并且,在一条测试案例执行过程中只会记录异常状态而不会中断,直到得出测试结果,才会判断是否需要中断,而且任意两个节点之间均可进行NM报文交互,能够完全模拟出实车环境中各节点之间通过总线连接的场景。
对于第二条测试案例,只需在测试代码模块编写四行代码即可,第一行代码用于唤醒节点0X400,第二行代码用于屏蔽节点0X401,第三行代码用于唤醒节点0X401,第四行代码用于指定测试案例的最大测试时间和结束测试的条件,在测试结束后收集测试记录并判定测试结果,以及判断是否继续进行下一条测试案例的测试。测试时,节点0X400的脚本模块收到唤醒该节点的控制命令后控制其标准业务模块运行唤醒业务,此时的工作过程与第一条案例相同,在NM报文交互过程中,节点0X401的脚本模块收到屏蔽该节点的控制命令后使该节点下线,此后,当节点0X400的标准业务模块向外发送目标地址为01(节点0X401的地址)的Ring环报文后,节点0X401由于已经下线,其标准业务模块不会向外发出Ring环报文,节点0X400和节点0X402的标准业务模块以及待测产品在间隔第二预设时间(即Tmax定时器的计时时间)后仍未收到节点0X401发出的Ring环报文,则会判定节点0X401已下线,节点0X400和节点0X402的标准业务模块以及待测产品会重新生成发送Ring环报文的目标地址,此时,节点0X400的标准业务模块发送Ring环报文的目标地址更改为02(即节点0X402),节点0X402的标准业务模块和待测产品发送Ring环报文的目标地址不变,之后,节点0X400的标准业务模块向节点0X402发送Ring环报文,Ring环报文按照节点0X400→节点0X402→节点0X403→节点0X400的顺序传递。之后,节点0X401的脚本模块收到唤醒该节点的控制命令后,使其标准业务模块进入唤醒状态,之后,其标准业务模块自动执行唤醒后标准业务,即发出Alive报文,节点0X400和节点0X402的标准业务模块以及待测产品收到节点0X401发出的Alive报文后判定节点0X401已上线,会再次重新生成发送Ring环报文的目标地址,此时,节点0X400的标准业务模块发送Ring环报文的目标地址更改为01(即节点0X401),节点0X402的标准业务模块和待测产品发送Ring环报文的目标地址不变,之后,节点0X400的标准业务模块向节点0X401发送Ring环报文,Ring环报文按照节点0X400→节点0X401→节点0X402→节点0X403(待测产品)→节点0X400的顺序传递,实时解析监控模块收集此时待测产品的NM报文交互情况,并上报给测试代码模块判定测试结果;对于在节点0X401下线和上线等过程中发生的异常状态,实时解析监控模块会生成异常记录,从而能够使测试人员详细掌握测试案例的测试情况。
由于第二条测试案例涉及报文传递过程中对节点下线和上线的判定,以及在节点下线和上线后重新生成Ring环报文的传递顺序,使用现有技术编写代码来模拟这些过程时会异常复杂,需要非常专业的编程人员才可能进行编写,而本实施例只需要编写四行代码即可,是普通测试人员经简单培训就能够轻易掌握的。
在测试结束后,自动化报告模块根据测试代码模块判定的测试结果自动生成测试报告,供测试人员或客户查看。测试人员还可以查看实时监控解析模块生成的异常记录,了解测试过程中出现的异常状态,判断该异常状态是否对测试结果的正确性有影响,如果需要对系统进行改进,可通过实时调试模块对系统进行调试,所述实时调试模块中集成了实时监控解析模块、脚本模块和跟踪同步模块的代码,可根据调试结果对以上三个模块的代码进行改进和优化,调试完成后,再将实时监控解析模块、脚本模块和跟踪同步模块的代码更新为实时调试模块中对应的代码即可。
从以上两条测试案例可以看出,现有技术需要针对每一测试案例,按报文测试步骤的顺序逐个步骤编写代码,并且在每次步骤后均需对当前步骤进行执行判断或结果检测,根据判断结果判定是否向下执行,直至执行完最后一个步骤后进行最终的结果检测,判断是否满足预期,并且无法完全仿真实车环境,存在漏测的可能。本发明只需编写几行测试代码即可,测试开始后的中间过程均为自动执行,无需人工干预即能够得出测试结果,大大简化了编写代码的工作量和编写难度,且能完全仿真实车环境。另外,对于不同的客户,只需要在参数自适配模块对参数进行简单修改,重新生成参数适配表,以及重新调整独立运行节点的数量即可,无需重新编写测试系统,具有很强的通用性。
图1所示的框图中,每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。也要注意的是,框图中的每个方框、以及方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本发明未描述部分与现有技术一致,在此不做赘述。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明的专利保护范围之内。
Claims (6)
1.一种基于OSEK NM的实车环境模拟及快速测试系统,其特征在于,包括参数自适配模块、测试代码模块、接口代码单元和自动代码单元;
所述参数自适配模块用于接收测试参数,并将测试参数发送给自动代码单元;
所述自动代码单元包括节点快速构造模块和至少一个独立运行节点,所述节点快速构造模块用于快速增加或删除独立运行节点,并使各独立运行节点之间的代码相互独立运行;所述独立运行节点用于按照OSEK NM标准协议自动进行NM报文交互;
所述测试代码模块用于编写测试代码指定或调整测试案例中各独立运行节点的状态、设置每一测试案例的结束条件以及判定测试案例的测试结果;
所述接口代码单元用于根据测试代码模块编写的代码生成控制命令下发给自动代码单元,以及实时监控自动代码单元的运行状态;
所述独立运行节点包括脚本模块、跟踪同步模块和标准业务模块;
所述脚本模块用于将接口代码单元下发给该独立运行节点的控制命令转换为标准业务模块能够识别的指令;
所述跟踪同步模块用于在测试过程中,收集该独立运行节点的NM报文交互情况,以及根据收集的NM报文交互情况识别出异常状态并实时上报给接口代码单元;
所述标准业务模块用于集成OSEK NM标准协议中的标准业务,并根据独立运行节点的运行状态自动执行对应的标准业务。
2.根据权利要求1所述的基于OSEK NM的实车环境模拟及快速测试系统,其特征在于,每一所述独立运行节点分别设置有一个单独的ID号,且待测产品的ID号与自动代码单元中一独立运行节点的ID号相同,与待测产品的ID号相同的独立运行节点的标准业务模块被屏蔽,并以待测产品代替其标准业务模块执行OSEK NM标准协议中的标准业务。
3.根据权利要求1所述的基于OSEK NM的实车环境模拟及快速测试系统,其特征在于,所述测试代码模块还用于编写测试代码根据一条测试案例的测试结果或异常记录判断是否继续进行下一条测试案例的测试。
4.根据权利要求1所述的基于OSEK NM的实车环境模拟及快速测试系统,其特征在于,所述接口代码单元包括实时控制模块和实时解析监控模块,所述实时控制模块用于生成唤醒初始独立运行节点、指定或调整各独立运行节点的运行状态的控制命令;所述实时解析监控模块用于在测试过程中根据各独立运行节点的跟踪同步模块上报的异常情况生成异常记录,以及在测试结束时收集待测产品的NM报文交互记录。
5.根据权利要求4所述的基于OSEK NM的实车环境模拟及快速测试系统,其特征在于,所述接口代码单元还包括自动化报告模块,所述自动化报告模块用于根据测试代码模块判定的测试结果生成测试案例的测试报告。
6.根据权利要求4所述的基于OSEK NM的实车环境模拟及快速测试系统,其特征在于,所述接口代码单元还包括实时调试模块,所述实时调试模块用于对实时控制模块、实时解析监控模块和自动化报告模块进行调试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010517840.0A CN111682987B (zh) | 2020-06-09 | 2020-06-09 | 基于osek nm的实车环境模拟及快速测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010517840.0A CN111682987B (zh) | 2020-06-09 | 2020-06-09 | 基于osek nm的实车环境模拟及快速测试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111682987A CN111682987A (zh) | 2020-09-18 |
CN111682987B true CN111682987B (zh) | 2021-09-14 |
Family
ID=72435674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010517840.0A Active CN111682987B (zh) | 2020-06-09 | 2020-06-09 | 基于osek nm的实车环境模拟及快速测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111682987B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883431B (zh) * | 2022-11-29 | 2024-06-04 | 重庆长安汽车股份有限公司 | 一种终端通讯协议性能测试系统、方法、车辆及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1355456A1 (en) * | 2002-04-16 | 2003-10-22 | Robert Bosch Gmbh | FlexRay communication protocol |
CN103200035A (zh) * | 2013-03-29 | 2013-07-10 | 北京经纬恒润科技有限公司 | 基于osek标准的网络休眠方法、装置及ecu |
CN107528750A (zh) * | 2017-09-18 | 2017-12-29 | 北京长城华冠汽车科技股份有限公司 | 一种直接网络管理的测试方法及装置 |
CN107911260A (zh) * | 2017-10-30 | 2018-04-13 | 华晨汽车集团控股有限公司 | 一种基于osec网络管理的整车测试系统 |
EP3535625A1 (en) * | 2016-12-07 | 2019-09-11 | Arilou Information Security Technologies Ltd. | System and method for using signal waveform analysis for detecting a change in a wired network |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547118B (zh) * | 2009-04-20 | 2011-03-23 | 浙江大学 | 一种基于osek网络管理机制的动态网络管理方法 |
CN101547149B (zh) * | 2009-04-20 | 2013-06-19 | 浙江大学 | 一种基于can网络的osek com消息动态调度方法 |
KR20120062064A (ko) * | 2010-12-06 | 2012-06-14 | 현대자동차주식회사 | 자동차용 임베디드 소프트웨어 동적 분석 장치 |
KR101233607B1 (ko) * | 2011-05-11 | 2013-02-14 | 성균관대학교산학협력단 | Osek 네트워크 경로 관리 방법 |
CN102801551B (zh) * | 2012-03-14 | 2014-09-24 | 中国汽车技术研究中心 | 基于osek网络管理的can网络管理方法 |
CN103676939B (zh) * | 2013-12-18 | 2017-11-07 | 重庆长安汽车股份有限公司 | 一种基于osek直接网络管理机制的自动测试系统 |
CN104317724A (zh) * | 2014-11-17 | 2015-01-28 | 上海斐讯数据通信技术有限公司 | Linux平台下CLI模块的代码自动化测试方法 |
CN106383511B (zh) * | 2016-09-05 | 2019-02-22 | 北京新能源汽车股份有限公司 | 整车控制器的仿真测试方法、装置和系统 |
CN106332164B (zh) * | 2016-09-29 | 2019-07-05 | 北京航空航天大学 | 一种车辆自组织网络数据传输性能测评方法 |
CN106603314A (zh) * | 2017-01-25 | 2017-04-26 | 安徽江淮汽车集团股份有限公司 | 基于osek直接网络管理的测试系统和方法 |
CN110456777B (zh) * | 2019-08-20 | 2022-03-18 | 广州小鹏汽车科技有限公司 | 车辆控制器的测试方法与系统 |
CN110830267A (zh) * | 2019-11-12 | 2020-02-21 | 上海元城汽车技术有限公司 | 网络节点的状态控制方法、装置及网关 |
-
2020
- 2020-06-09 CN CN202010517840.0A patent/CN111682987B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1355456A1 (en) * | 2002-04-16 | 2003-10-22 | Robert Bosch Gmbh | FlexRay communication protocol |
CN103200035A (zh) * | 2013-03-29 | 2013-07-10 | 北京经纬恒润科技有限公司 | 基于osek标准的网络休眠方法、装置及ecu |
EP3535625A1 (en) * | 2016-12-07 | 2019-09-11 | Arilou Information Security Technologies Ltd. | System and method for using signal waveform analysis for detecting a change in a wired network |
CN107528750A (zh) * | 2017-09-18 | 2017-12-29 | 北京长城华冠汽车科技股份有限公司 | 一种直接网络管理的测试方法及装置 |
CN107911260A (zh) * | 2017-10-30 | 2018-04-13 | 华晨汽车集团控股有限公司 | 一种基于osec网络管理的整车测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111682987A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7895025B2 (en) | Validation method for embedded systems | |
CN110888414B (zh) | 一种车辆控制器升级的测试方法 | |
CN108459951B (zh) | 测试方法和装置 | |
CN112051832B (zh) | 基于仿真节点的故障测试方法、装置、系统及存储介质 | |
CN109726061B (zh) | 一种SoC芯片的验证方法 | |
US8701079B2 (en) | Procedure and development environment for generation of an executable overall control program | |
CN111371599A (zh) | 一种基于etcd的集群容灾管理系统 | |
KR102141287B1 (ko) | Autosar 기반 차량 소프트웨어의 결함 테스트 방법 및 결함 테스트 시스템 | |
CN111682987B (zh) | 基于osek nm的实车环境模拟及快速测试系统 | |
CN109634175B (zh) | 一种控制组态程序动态验证的方法及系统 | |
JP2003122599A (ja) | 計算機システムおよび計算機システムにおけるプログラム実行監視方法 | |
CN110198222B (zh) | 一种配电自动化终端即插即用测试方法及测试主站 | |
CN110750445A (zh) | 一种yarn组件高可用性功能的测试方法、系统及设备 | |
CN111142502A (zh) | Ecu检测的处理方法、装置、设备及存储介质 | |
CN114062806B (zh) | 一种车辆测试的方法和装置 | |
JPH0962626A (ja) | 分散処理システムのオンラインテスト方法 | |
CN114578786A (zh) | 一种车辆测试系统 | |
CN110287066B (zh) | 一种服务器分区迁移方法及相关装置 | |
CN114137928A (zh) | 一种汽车远程控制功能全链路自动化测试方法和系统 | |
Xu et al. | Design of vehicle gateway automatic test system based on CANoe | |
CN110968493A (zh) | 一种基于运行日志分析推演程序运行状态的方法及系统 | |
Tsai et al. | Verification Patterns for Rapid Embedded System Verification. | |
CN114816813B (zh) | 一种驱动程序控制方法和装置 | |
CN117234192B (zh) | 一种智能驾驶域控制器自动化hil仿真测试系统和方法 | |
CN112114868B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |