CN116627115A - 车身控制器自动测试方法、装置、设备及计算机存储介质 - Google Patents

车身控制器自动测试方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN116627115A
CN116627115A CN202310738807.4A CN202310738807A CN116627115A CN 116627115 A CN116627115 A CN 116627115A CN 202310738807 A CN202310738807 A CN 202310738807A CN 116627115 A CN116627115 A CN 116627115A
Authority
CN
China
Prior art keywords
test
vehicle body
body controller
resource
variable
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
Application number
CN202310738807.4A
Other languages
English (en)
Inventor
陈津宇
侯晓波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingwei Hengrun Tianjin Research And Development Co ltd
Original Assignee
Jingwei Hengrun Tianjin Research And Development Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingwei Hengrun Tianjin Research And Development Co ltd filed Critical Jingwei Hengrun Tianjin Research And Development Co ltd
Priority to CN202310738807.4A priority Critical patent/CN116627115A/zh
Publication of CN116627115A publication Critical patent/CN116627115A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本申请公开了一种车身控制器自动测试方法、装置、设备及计算机存储介质,上位机通过解析用于对被测车身控制器进行测试的测试用例,获得测试步骤和测试用例中的变量与下位机中资源接口的对应关系,也即资源对应关系,然后针对结果检测类或操作执行类的测试步骤,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,并根据测试步骤的执行情况生成被测车身控制器的测试报告。根据本申请实施例,通过上位机执行车身控制器自动测试方法,即可控制下位机自动对被测车身控制器进行测试,并生成相应的测试报告,整个测试过程几乎无需人工参与,相比于传统的人工测试方式,测试效率更高、测试质量更高、人力成本更低。

Description

车身控制器自动测试方法、装置、设备及计算机存储介质
技术领域
本申请属于汽车电子技术领域,尤其涉及一种车身控制器自动测试方法、装置、设备及计算机存储介质。
背景技术
车身控制器(英语:Body Control Module,简称BCM),又称为车身电脑,在汽车工程中是指用于控制车身电器系统的电子控制单元,是汽车的重要组成部分之一。为了提高汽车的安全性和可靠性,对车身控制器进行测试就显得很重要。
车身控制器传统的测试方式一般是以人工执行的方式来进行车身控制器的测试,但是人工测试通常存在测试效率低、测试质量差、人力成本高等问题。
发明内容
本申请实施例提供一种车身控制器自动测试方法、装置、设备、计算机存储介质及程序,能够自动对车身控制器进行测试,相比于人工测试,测试效率更高、测试质量更好、人力成本更低。
第一方面,本申请实施例提供一种车身控制器自动测试方法,应用于上位机,方法包括:
解析预设的测试用例,获得测试步骤以及资源对应关系,其中,测试用例用于对被测车身控制器进行测试,资源对应关系为测试用例中的变量与下位机中资源接口的对应关系,下位机为与上位机通讯连接用于对被测车身控制器执行测试的下位机,
响应于测试步骤所属的测试类型为结果检测类或操作执行类,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,其中,结果检测类的测试步骤用于从被测车身控制器中读取对应的变量的值,操作执行类的测试步骤用于设置作用于被测车身控制器的变量的值,
根据测试步骤的执行情况,生成被测车身控制器的测试报告。
作为一种可能的实现方式,解析预设的测试用例,包括:
获取测试用例的配置信息,配置信息包括测试用例文件所在路径和测试用例文件中的资源映射关系表所在页名,资源映射关系表包含多个变量与下位机中资源接口的对应关系,
根据测试用例文件所在路径逐条读取测试用例的测试步骤,
以表格形式将测试步骤转换为上位机程序中的列表变量,生成步骤列表,其中,步骤列表的元素包括步骤类型、变量名和/或变量值,
根据测试用例文件中的资源映射关系表所在页名,解析资源映射关系表,获得测试用例中的变量与下位机中资源接口的对应关系。
作为一种可能的实现方式,根据测试步骤和资源对应关系,控制下位机对被测车身控制器进行测试,包括:
响应于测试步骤所属的测试类型为结果检测类,将测试步骤中包含的变量作为目标变量,
根据资源对应关系将目标变量对应的资源接口作为目标资源接口,
生成目标资源接口对应的读取命令,
基于读取命令控制下位机读取被测车身控制器中与目标变量对应的值。
作为一种可能的实现方式,根据测试步骤和资源对应关系,控制下位机对被测车身控制器进行测试,包括:
响应于测试步骤的测试类型为操作执行类,将测试步骤中包含的变量作为目标变量,
根据资源对应关系将目标变量对应的资源接口作为目标资源接口,
生成目标资源接口对应的设置命令,
基于设置命令控制下位机设置作用于被测车身控制器的目标变量的值。
作为一种可能的实现方式,根据测试步骤的执行情况,生成被测车身控制器的测试报告之前,方法还包括:
响应于测试步骤的测试类型为脚本接口类,根据测试步骤中包含的脚本信息执行脚本信息对应的脚本,获得脚本执行结果,
根据测试步骤的执行情况,生成被测车身控制器的测试报告,包括:
根据脚本执行结果生成被测车身控制器的测试报告。
作为一种可能的实现方式,根据测试步骤的执行情况,生成被测车身控制器的测试报告,包括:
根据测试步骤的执行情况,确定测试步骤对应执行结果和执行情况对应的级别,级别用于体现测试步骤执行情况的优劣,
将测试步骤对应执行结果和执行情况对应的级别与测试步骤的内容对应写入测试报告。
作为一种可能的实现方式,测试用例中的变量的数据类型包含下述数据类型中的一种或多种:
数字量、模拟量、脉冲宽度调制信号、CAN信号、LIN信号、电阻。
第二方面,本申请实施例还提供了一种车身控制器自动测试装置,应用于上位机,装置包括:
用例步骤解析模块,用于解析预设的测试用例,获得测试步骤以及资源对应关系,其中,测试用例用于对被测车身控制器进行测试,资源对应关系为测试用例中的变量与下位机中资源接口的对应关系,下位机为与上位机通讯连接用于对被测车身控制器执行测试的下位机,
用例测试执行模块,用于响应于测试步骤所属的测试类型为结果检测类或操作执行类,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,其中,结果检测类的测试步骤用于从被测车身控制器中读取对应的变量的值,操作执行类的测试步骤用于设置作用于被测车身控制器的变量的值,
公共模块,用于根据测试步骤的执行情况,生成被测车身控制器的测试报告。
第三方面,本申请实施例还提供了一种电子设备,所述设备包括:处理器以及存储有计算机程序指令的存储器,
所述处理器执行所述计算机程序指令时实现如第一方面所述的车身控制器自动测试方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如第一方面所述的车身控制器自动测试方法。
第五方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的车身控制器自动测试方法。
本申请实施例的车身控制器自动测试方法、装置、设备及计算机存储介质,上位机通过解析用于对被测车身控制器进行测试的测试用例,获得测试步骤和测试用例中的变量与下位机中资源接口的对应关系,也即资源对应关系,然后针对结果检测类或操作执行类的测试步骤,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,并根据测试步骤的执行情况生成被测车身控制器的测试报告。根据本申请实施例,通过上位机执行车身控制器自动测试方法,即可控制下位机自动对被测车身控制器进行测试,并生成相应的测试报告,整个测试过程几乎无需人工参与,相比于传统的人工测试方式,测试效率更高、测试质量更高、人力成本更低。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的应用场景示意图,
图2是本申请实施例提供的一种车身控制器自动测试方法的流程示意图,
图3是本申请实施例提供的一种步骤S21具体实现方式的流程示意图,
图4是本申请实施例提供的一种车身控制器自动测试过程中上位机的整体测试流程示意图,
图5是本申请实施例提供的一种车身控制器自动测试过程中下位机主系统的整体测试流程示意图,
图6是本申请实施例提供的一种车身控制器自动测试过程中下位机电阻子系统的整体测试流程示意图,
图7是本申请实施例提供的一种车身控制器自动测试装置的结构示意图,
图8是本申请又一个实施例提供的电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前在采用人工测试的方式对车身控制器进行测试时,往往需要给被测车身控制器中的一些硬线引脚构造不同的输入条件,然后人为观察被测车身控制器所驱动的负载状态等,因此测试执行时间往往较长,而且对于某些测试步骤中涉及到精确时间间隔的,一旦未能及时在特定时刻进行检测或执行对应操作,就会导致测试无效,需要重测,影响测试效率。其次,人工执行测试由于人为的疏忽导致测试出现偏差的概率比自动测试要高,影响测试质量。另外,人工测试对于每个测试任务都需要有专人进行全程投入,影响人力成本。
鉴于此,本申请实施例提供了一种车身控制器自动测试方法,该车身控制器自动测试方法可以在上位机中运行,在测试时,上位机可以基于该车身控制器自动测试方法控制下位机,由下位机自动执行对车身控制器的测试,整个测试过程几乎无需人工参与,从而可以有效避免人工测试存在的测试效率低、测试质量差、人工成本高等问题。
其中,上位机可以是能够直接发出操控命令的计算机,例如可以为电脑、手机、平板、面板、触摸屏等。
参见图1,为本申请实施例提供的一种应用场景示意图,如图1所示,其中可以包括上位机110、下位机120和被测车身控制器130,其中,上位机110和下位机120通讯连接,下位机120与被测车身控制器130通信连接。
基于图1所述的应用场景,在对被测车身控制器130进行测试时,上位机110可以运行本申请实施例提供的车身控制器自动测试方法,并基于车身控制器自动测试方法控制下位机120对被测车身控制器130进行测试,如此,便可以实现对被测车身控制器130的自动测试。
参见图2,为本申请实施例提供的一种车身控制器自动测试方法的流程示意图,该测试方法可以应用于如图1所示的上位机,如图2所示,本申请实施例提供的车身控制器自动测试方法,可以包括如下步骤:
S21.解析预设的测试用例,获得测试步骤以及资源对应关系,
S22.响应于测试步骤所属的测试类型为结果检测类或操作执行类,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,
S23.根据测试步骤的执行情况,生成被测车身控制器的测试报告。
其中,S21中的测试用例为用于对被测车身控制器进行测试的测试用例,资源对应关系为测试用例中的变量与下位机中资源接口的对应关系,下位机为与上位机通讯连接用于对被测车身控制器执行测试的下位机。
其中,S22中的结果检测类的测试步骤用于从被测车身控制器中读取对应的变量的值,操作执行类的测试步骤用于设置作用于被测车身控制器的变量的值。
本申请实施例提供的一种车身控制器自动测试方法,上位机通过解析用于对被测车身控制器进行测试的测试用例,获得测试步骤和测试用例中的变量与下位机中资源接口的对应关系,也即资源对应关系,然后针对结果检测类或操作执行类的测试步骤,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,并根据测试步骤的执行情况生成被测车身控制器的测试报告。根据本申请实施例,通过上位机执行车身控制器自动测试方法,即可控制下位机自动对被测车身控制器进行测试,并生成相应的测试报告,整个测试过程几乎无需人工参与,相比于传统的人工测试方式,测试效率更高、测试质量更高、人力成本更低。
在一些实施例中,测试用例中的变量通常为对被测车身控制器进行测试时需要用到的变量。在实际的测试中,可以根据实际被测车身控制器的情况来逐行添加所要设置或读取的变量到测试用例中。其中,变量的数据类型可以包括下述类型中的一种或多种:数字量、模拟量、PWM(Pulse width modulation,脉冲宽度调制)信号、CAN(Controller AreaNetwork,控制器域网)信号、LIN(Local Interconnect Network局域互联网络)信号、电阻等。
在一些实施例中,为了可以通过下位机对被测车身控制器进行测试,与上位机通讯连接的下位机可以支持数字量输出、数字量输入、PWM输入、模拟量输出、模拟量输入、电阻功能、CAN通信、LIN通信等功能。
在一些实施例中,如图3所示,上位步骤S21的具体实现方式可以包括如下步骤:
S31.获取测试用例的配置信息,配置信息包括测试用例文件所在路径和测试用例文件中的资源映射关系表所在页名,资源映射关系表包含多个变量与下位机中资源接口的对应关系,
S32.根据测试用例文件所在路径逐条读取测试用例的测试步骤,
S33.以表格形式将测试步骤转换为上位机程序中的列表变量,生成步骤列表,其中,列表变量包括步骤类型、变量名和/或变量值,
S34.根据测试用例文件中的资源映射关系表所在页名,解析资源映射关系表,获得测试用例中的变量与下位机中资源接口的对应关系。
作为一种示例,上位机中可以设置用于对测试用例进行配置的配置接口,在对被测车身控制器进行测试时,用户可以通过配置接口设置相应的测试用例配置信息。其中,配置信息中的测试用例文件所在路径表示测试所使用的测试用例的文件存储路径,上位机可以基于该路径顺利读取到测试用例文件。
因为测试用例文件所在路径中存储的原始测试用例文件,通常无法被上位机直接执行,因此,在S21中解析测试用例时,上位机可以基于测试用例文件路径逐条读取测试用例文件中包含的测试步骤,也即测试用例的测试步骤,针对每条测试步骤在读取到该测试步骤后,以表格形式将该测试步骤转换为上位机程序中的列表变量写入步骤列表中,从而生成测试用例对应的步骤列表,其中,步骤列表中的元素可以包括步骤类型、变量名、变量值和/或步骤编号等信息。通过将测试步骤转换为列表变量,使得上位机程序可以直接对步骤列表中的每个元素,根据步骤信息进行对应执行与处理,以达到测试步骤的自动执行。步骤列表中与各测试步骤对应的各元素的值通常都包含在测试步骤内,因此上位机在对测试步骤进行解析时,可以直接从测试步骤中获取与步骤列表中各元素对应的值,从而将解析出的值写入元素对应的列中,进而得到与测试用例对应的步骤列表。
通常不同的测试步骤用于实现不同的测试功能,而这些功能的实现需要由上位机控制下位机来执行。
下位机中不同的功能通常由不同的资源接口实现。基于此,为了保证上位机可以基于测试步骤控制下位机实现相应的功能,在得到测试步骤后,对下位机进行控制之前,还需要确定资源对应关系。
资源对应关系可以通过对资源映射关系表进行解析得到。资源映射关系表为预先设置的用于记录测试用例中的变量与下位机中资源接口对应关系的表格,设置完成的资源映射关系表可以存储在测试用例文件中,测试用例文件通常包含有多页,资源映射关系表所在页名则表示资源映射关系表位于测试用例文件中的哪一页或哪几页,如此,根据资源映射关系表所在页名即可从测试用例文件中读取到资源映射关系表。
在一些实施例中,资源映射关系可以如下表1所示:
表1:
变量名 步骤类型 资源接口 备注
Variable1 DO-H PA-2
Variable2 DO-L PA-3
Variable3 DI-H PA-4
Variable4 DI-L PA-5
Variable5 AO IIC1-1
Variable6 AI IIC1-2
Variable7 PWM-IN PWM-1
Variable8 RES RES-1
Variable9 CAN-OUT CAN-1
Variable10 CAN-IN CAN-2
Variable11 LIN-OUT LIN-1
Variable12 LIN-IN LIN-2
由上表1可知,资源映射关系表格可以包括变量名、步骤类型、资源接口、备注。此处的变量名可直接在编写测试用例时使用,比如对某变量赋值,或判断某变量的值等。
其中,“变量名”即为各变量对应的标识,“步骤类型”中的DO-H和DO-L表示对于由上位机和下位机组成的测试系统来说变量是数字输出型,DO-H表示对于被测车身控制器来说属于高电平有效,即当被测车身控制器对应引脚检测出高电平时认为逻辑有效。DO-L表示对于被测车身控制器来说变量属于低电平有效,即当被测车身控制器对应引脚检测出低电平时认为逻辑有效。DI-H和DI-L表示变量对于测试系统是数字输入型。DI-H表示对于被测车身控制器来说变量属于高驱输出,即当被测车身控制器对应引脚输出高电平时认为逻辑有效。DI-L表示对于被测车身控制器来说变量属于低驱输出,即当被测车身控制器输出低电平时认为逻辑有效。AO表示对于测试系统来说变量是模拟量输出型。AI表示对于测试系统来说变量是模拟量输入型。PWM-IN表示对于测试系统来说变量是PWM的输入型,在测试用例中需要写预期占空比和频率以进行PWM信号的判断。RES表示由测试系统向被测车身控制器提供电阻。CAN-OUT和CAN-IN表示相应的变量属于CAN信号。CAN-OUT表示测试系统发给被测车身控制器的CAN信号,CAN-IN表示测试系统要接收的被测车身控制器发来的CAN信号。LIN-OUT和LIN-IN表示相应的变量属于LIN信号。LIN-OUT表示测试系统要发给被测车身控制器的LIN信号,LIN-IN表示测试系统要接收的被测车身控制器发来的LIN信号。
“资源接口”中表示每一个变量对应的下位机的资源接口名称。对于数字输出型、数字输入型的变量,以“GPIO组-引脚号”为命名。对于模拟输出型、模拟输入型的变量,以“IIC从设备序号-设备内资源序号”为命名。对于PWM输入型的变量,以“PWM-测试系统PWM资源序号”为命名。对于电阻型变量,以“RES-测试系统电阻资源序号”为命名。对于CAN信号型变量,以“CAN-CAN通道序号”为命名。对于LIN信号型变量,以“LIN-LIN通道序号”为命名。
“备注”一列通常供测试人员写备注信息,并不会被上位机所读取到。
资源映射关系表格中位于同一行的元素内容对应同一变量。以上表1为例,变量Variable1所属的测试步骤的步骤类型为DO-H,其对应的资源接口为PA-2,其中,PA-2是下位机中用来连接被测车身控制器的数字输入型引脚的资源接口,变量Variable2所属的测试步骤的步骤类型为DO-L,其对应的资源接口为PA-3,其中,PA-3是下位机中用来连接被测车身控制器的数字输入型引脚的资源接口,变量Variable3所属的测试步骤的步骤类型为DI-H,其对应的资源接口为PA-4,其中,PA-4是下位机中用来连接被测车身控制器的数字输出型引脚的资源接口,Variable4所属的测试步骤的步骤类型为DI-L,其对应的资源接口为PA-5,其中,PA-5是下位机中用来连接被测车身控制器的数字输出型引脚的资源接口,Variable5所属的测试步骤的步骤类型为AO,其对应的资源接口为IIC1-1,其中,IIC1-1是下位机中用来连接被测车身控制器的模拟量输入型的引脚的资源接口,Variable6所属的测试步骤的步骤类型为AI,其对应的资源接口为IIC1-2,其中,IIC1-2是下位机中用来连接被测车身控制器的模拟量输出型的引脚的资源接口,Variable7所属的测试步骤的步骤类型为PWM-IN,其对应的资源接口为PWM-1,其中,PWM-1是下位机中用于连接被测车身控制器的PWM的输出型引脚的资源接口,Variable8所属的测试步骤的步骤类型为RES,其对应的资源接口为RES-1,其中,RES-1是下位机中用于连接被测车身控制器需要电阻的引脚的资源接口,Variable9所属的测试步骤的步骤类型为CAN-OUT,其对应的资源接口为CAN-1,其中,CAN-1是下位机中用来连接被测车身控制器CAN总线1接口的资源接口,Variable10所属的测试步骤的步骤类型为CAN-IN,其对应的资源接口为CAN-2,其中,CAN-2是下位机中用来连接被测车身控制器CAN总线2接口的资源接口,Variable11所属的测试步骤的步骤类型为LIN-OUT,其对应的资源接口为LIN-1,其中,LIN-1是下位机中用来连接被测车身控制器LIN总线1接口的资源接口,Variable12所属的测试步骤的步骤类型为LIN-IN,其对应的资源接口为LIN-2,其中,LIN-2是下位机中用于连接被测车身控制器LIN总线2接口的资源接口。
上位机通过对资源映射关系表进行解析,即可获得测试用例中的变量与下位机中资源接口的对应关系。
需要说明的是,资源映射关系表中可以包含所有在测试过程中可能用到的变量与下位机资源接口的对应关系,目的是可以保证能够顺利获取到测试用例中包含的变量的对应关系,而测试用例中可以不包含所有的变量,可以只包含一部分,具体包含的变量可以根据实际被测车身控制器的情况来添加。
在获取到测试步骤和资源对应关系之后,上位机便可以控制下位机来对被测车身控制器进行测试。
测试步骤的测试类型通常可以分为结果检测类和操作执行类,针对不同类型的测试步骤,其中包含的变量、执行过程等通常也不同,因此上位机在基于不同测试类型的测试步骤控制下位机时,通常也存在一些区别。鉴于此,在控制下位机前,可以先识别测试步骤所属的测试类型。
在一些实施例中,可以根据测试步骤的步骤类型来确定测试步骤所属的测试类型。
因为结果检测类的测试步骤用于从被测车身控制器中读取变量的值,所以可以将步骤类型为输入型的测试步骤划分为结果检测类。以表1所示的表格为例,可以将变量Variable3、Variable4、Variable6、Variable7、Variable10和Variable12所属的测试步骤确定为结果检测类的测试步骤。
因为操作执行类的测试步骤用于为被测车身控制器设置变量的值,所以可以将步骤类型为输出型、电阻型的测试步骤划分为操作执行类。以表1所示的表格为例,可以将变量Variable1、Variable2、Variable5、Variable8和Variable9和Variable11所属的测试步骤确定为操作执行类的测试步骤。
在确定出测试步骤所属的测试类型之后,上位机即可根据测试步骤控制下位机,以对被测车身控制器进行测试。
在一些实施例中,响应于测试步骤所属的测试类型为结果检测类,在S22中根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试的具体实现方式可以包括:
将测试步骤中包含的变量作为目标变量,
根据资源对应关系将目标变量对应的资源接口作为目标资源接口,
生成目标资源接口对应的读取命令,
基于读取命令控制下位机读取被测车身控制器中与目标变量对应的值。
根据前面内容可知,结果检测类的测试步骤用于从被测车身控制器中读取对应的变量的值,因此,针对结果检测类的测试步骤将可以生成目标资源接口对应的读取命令,以便可以控制下位机通过目标资源接口从被测车身控制器中读取到目标变量对应的值。
在一些实施例中,响应于测试步骤所属的测试类型为操作执行类,在S22中根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试的具体实现方式可以包括:
将测试步骤中包含的变量作为目标变量,
根据资源对应关系将目标变量对应的资源接口作为目标资源接口,
生成目标资源接口对应的设置命令,
基于设置命令控制下位机设置作用于被测车身控制器中目标变量的值。
根据前面的内容可知,操作执行类的测试步骤用于设置作用于被测车身控制器的变量的值,因此,针对操作执行类的测试步骤将可以生成目标资源接口对应的设置命令,以便可以控制下位机通过目标资源接口对作用于被测车身控制器的目标变量的值进行设置。
在一些实施例中,下位机中针对不同数据类型的变量可以采用不同的模块进行测试,例如针对数字量、PWM信号、模拟量、电阻等可以采用单片机来测试,而针对CAN信号、LIN信号等,可以采用CAN/LIN总线监控设备来测试。鉴于此,上位机在基于读取命令或设置命令控制下位机读取或设置被测车身控制器中目标变量的值采用的方式也有所区别。
如果上位机要执行的测试步骤属于结果检测类的,且其中包含的目标变量的数据类型属于数字量、PWM、模拟量中的其中一个,则上位机在基于读取命令控制下位机读取被测车身控制器中目标变量的值时,可以向下位机发送对应的串口读取命令,并通过串口通信获取下位机返回的数据。如果上位机要执行的测试步骤属于结果检测类的,且其中包含的目标变量的数据类型属于CAN信号或LIN信号类型,则上位机在基于读取命令控制下位机读取被测车身控制器中目标变量的值时,可以直接读取下位机中CAN/LIN总线监控设备中的CAN信号值或LIN信号值。
同理,如果上位机要执行的测试步骤属于操作执行类的,且其中包含的目标变量的数据类型属于数字量、模拟量、电阻中的其中一个,则上位机在控制下位机设置作用于被测车身控制器的目标变量的值时,可以向下位机发送对应的串口设置命令,并通过串口通信获取下位机返回的数据。如果上位机要执行的测试步骤属于操作执行类的,且其中包含的目标变量的数据类型属于CAN信号或LIN信号类型,则上位机在基于设置命令控制下位机设置被测车身控制器中目标变量的值时,可以直接设置下位机中CAN/LIN总线监控设备中的CAN信号值或LIN信号值,如此便可以直接通过CAN/LIN总线监控设备设置被测车身控制器中CAN信号值或LIN信号值。
通常上位机在对下位机进行控制时,可以接收到下位机返回的一些数据,这些数据可以包括但不限于下位机的应答信息、测试数据等。其中应答信息可以用来指示下位机是否执行成功、是否需要上位机重新发送命令、发送的命令是否是错误命令等,测试数据则可以包括针对结果检测类的测试步骤返回的一些目标变量的实际值,也即下位机从被测车身控制器中读取到的目标变量的值。上位机可以根据下位机返回的数据确定测试步骤的执行情况。
在一些实施例中,通常结果检测类和操作执行类的测试步骤只是用于控制下位机对被测车身控制器中对应的变量执行设置操作或读取操作,而针对一些复杂的测试场景,只依靠单纯的对变量的设置操作与读取操作无法测到的想要的数据,比如一些复杂的测试场景可能需要为第一变量设置相应的值后,间隔预设时长后再读取第二变量的值,其中包含一个“间隔预设时长”的条件,而这个条件往往无法通过单纯的结果检测类和操作执行类的测试步骤来实现,这就使得上位机无法得到准确的数据,进而无法确定测试步骤中目标变量的数据是否准确,导致无法准确确定测试步骤的执行情况。对于这种情况,可以预先写好脚本文件,按照固定的开发模式,把复杂的测试场景所需要的程序逻辑以代码的方式写到某函数中或某对象的方法中,并在函数或方法中实现向测试报告中记录每个子步骤的测试成功或失败的信息。然后在测试用例中的某一个测试步骤可以写为该脚本文件名以及要执行的此脚本文件中的函数(或方法)名以及给函数(或方法)的传入参数,上位机在处理到此测试步骤的时候会执行此脚本文件中的对应函数(或方法),以达到能应对复杂测试场景的目的。这一类测试步骤通常只需要上位机执行,因此其不属于结果检测类和操作执行类,故将这一类测试步骤的测试类型确定为脚本接口类。
相应的,上位机在执行测试步骤之前,也需要识别一下测试步骤是否为脚本接口类,识别方式可以为确定测试步骤中是否包含脚本文件名、脚本文件中的函数(或方法)名或给函数(或方法)的传入参数,若包含其中之一,则确定测试步骤的测试类型为脚本接口类。
响应于测试步骤的测试类型为脚本接口类,则上位机根据测试步骤中包含的脚本信息执行脚本信息对应的脚本,获得脚本执行结果,其中脚本信息可以包含脚本文件名、脚本文件中的函数(或方法)名和/或给函数(或方法)的传入参数等可以用于标识脚本的信息。
如此,上位机便可以根据脚本执行结果准确的确定一些测试步骤的执行情况。
进一步的,上位机可以根据测试步骤的执行情况,生成被测车身控制器对应的测试报告。
在一些实施例中,在执行S23之前,可以先确定测试步骤的执行情况,上位机可以采用如下方式中的一种或多种确定测试步骤的执行情况:
确定测试步骤的测试类型是否属于结果检测类、操作执行类、脚本接口类中的任意一种,若不属于,则确定测试步骤失败,
在确定测试步骤的测试类型属于结果检测类或操作执行类的情况下,可以进一步确定测试步骤中包含的变量的数据类型是否属于预设数据类型,若不属于,则确定测试步骤失败。
根据下位机返回的应答信息,确定发送给下位机是否是错误命令,若是,则确定测试步骤失败,
根据下位机返回的应答信息,确定下位机是否执行成功,若下位机执行失败,则确定测试步骤失败,
若根据下位机返回的应答信息确定下位机执行成功,则根据下位机返回的测试数据和/或脚本执行结果,确定测试步骤中目标变量的实际值是否符合测试用例中预设的预期值,若符合,则确定测试步骤成功,若不符合,则确定测试步骤失败。其中符合可以是相等,也可以是相似,对此可以根据实际情况具体设置,
根据下位机返回的应答数据,若确定下位机需要上位机重新发送命令,则确定测试步骤本次失败。
目前,在对车身控制器进行测试时,需要测试的变量的数据类型主要就是数字量、PWM、模拟量、电阻、CAN信号和LIN信号这几种,所以,上述预设数据类型可以包含数字量、PWM、模拟量、电阻、CAN信号和LIN信号。如果测试步骤中出现了预设数据类型之外的变量,则可以确定该测试步骤是非正常步骤。所以在执行测试步骤之前,确定一下测试步骤中包含的目标变量的数据类型是否属于预设数据类型,若属于,则继续执行该测试步骤,若不属于,则不再执行该测试步骤,确定该测试步骤的执行情况为失败。
同理,目前测试步骤的测试类型主要就是分为结果检测类、操作执行类和脚本接口类这三类,如果测试步骤不属于这三类中的任意一类,则也可以确定测试步骤是非正常步骤,从而不再执行该测试步骤,确定该测试步骤的执行情况为失败。
在确定出测试步骤的执行情况后,便可以通过S23根据测试步骤的执行情况,生成被测车身控制器的测试报告,如此无需测试人员再单独整理测试报告,进一步减少了测试人员的工作量。
在一些实施例中,S23中在生成测试报告时,可以根据测试步骤的执行情况,确定测试步骤对应执行结果和执行情况对应的级别,级别用于体现测试步骤执行情况的优劣,将测试步骤对应执行结果和执行情况对应的级别与测试步骤的内容对应写入测试报告。
作为一种示例,可以分为三个级别:正常、警告、错误。上位机执行的每个测试步骤会区分不同情况将与执行情况对应的不同级别的信息写入测试报告。其中不同的级别可以对应不同的条件,在测试步骤执行时,可以根据测试步骤的执行情况判断其所符合的条件,然后将符合的条件对应的级别作为测试步骤的级别。其中,各级别对应的条件可以根据需求设置。
因为一个测试步骤在整个测试过程中由于各种原因(比如需要向下位机重新发送命令)可能会出现多次发送的情况,因此,一个测试步骤在测试报告中可能会对应多个级别,每个级别与其每次发送的情况对应。
作为一种示例,正常这一级别对应的条件可以包括测试步骤成功,警告这一级别对应的条件可以包括测试步骤在整个测试过程中,由于重发导致了失败,错误这一级别对应的条件可以包括测试步骤出现了除了需要重发命令导致的失败之外任意失败的情况,比如,包含的目标变量不属于预设数据类型、测试步骤不属于结果检测类或操作执行类或脚本接口类中的任意一类、下位机执行失败、下位机返回的测试数据和/或脚本执行结果不符合预期值等等。
在生成测试报告时,除了在报告中写入测试步骤的级别之外,还可以写入相应的信息,这些信息可以体现测试步骤的级别之所以为正常、警告或错误的原因,以便测试人员可以根据这些信息确定测试步骤失败的原因,进而进行相应的调整。比如,在测试步骤对应的级别为错误,而导致错误的原因是其中包含的变量类型为“PWN”,不属于预设数据类型,则在报告中写入的相应信息可以包含“PWN”等能够体现导致错误的原因的内容。
在一些实施例中,上位机在执行测试步骤时,还可以确定是否出现了严重问题,在确定出现了严重问题时可以终止测试。
其中确定是否出现严重问题的方式可以包括,针对正在执行的测试步骤,确定在执行该测试步骤时是否向下位机重新发送过相应的命令,若重新发送过,则确定重发的次数,若重发的次数达到了预设的次数阈值,且仍然收到了下位机返回的要求重发的信息,则确定存在严重问题。因为在多次重发命令下位机仍无法顺利执行的情况下,就说明当前无法顺利完成测试,因此终止测试,终止测试一方面可以减少时间的浪费,另一方面还可以保留现场,便于检修。
在一些实施例中,通常一个测试用例中会包含多个测试步骤,因此,上位机在测试过程中,在执行完一个测试步骤后,可以检测当前执行的测试用例中是否还存在尚未执行的测试步骤,若存在,则继续执行尚未执行的测试步骤,直到测试用例中的所有测试步骤全部执行完成,确定测试用例执行完成。如此可以避免出现测试项遗漏的问题。
在一些实施例中,通常在对被测车身控制器进行测试时,可能需要用到多个测试用例,因此,上位机在测试过程中,在执行完一个测试用例后,可以检测是否还存在尚未执行的测试用例,若存在,则继续执行尚未执行的测试用例,直到所有测试用例全部执行完成,确定测试完成。如此可以避免出现测试项遗漏的问题。
作为一个示例,参见图4,为车身控制器自动测试过程中上位机的整体测试流程示意图。
如图4所示,在对被测车身控制器进行测试时,上位机首先进行资源映射关系表的解析,以生成测试用例中变量和下位机资源接口的对应关系。然后判断是否还存在尚未执行的测试用例,如果不存在,则整个测试流程结束。如果还有尚未执行的测试用例,则开始逐个处理单个测试用例。获取单个测试用例的所有测试步骤,形成步骤列表。判断是否还存在尚未执行到的测试步骤,如果不存在尚未执行的测试步骤了,则本测试用例测试结束,转为判断是否还有尚未执行到的测试用例。如果还有尚未执行的测试步骤,则继续读取测试步骤内容,然后判断当前测试步骤是属于操作执行类,还是结果检测类,还是脚本接口类。
如果当前测试步骤属于结果检测类,且其中包含的变量属于数字量、PWM、模拟量中的其中一个,则上位机向下位机发送对应的串口读取命令,并通过串口通信获取下位机返回的数据,然后根据下位机返回的数据判断下位机是否执行成功。如果执行失败,则在测试报告中记录步骤测试失败的信息,如果执行成功,则继续判断读取的数据值是否符合预期。如果符合预期则在测试报告中记录步骤测试成功的信息,如果不符合预期,则在测试报告中记录步骤测试失败的信息。如果上位机要执行测试步骤为结果检测类,其中的变量属于CAN信号或LIN信号类型,则上位机读取下位机中CAN/LIN总线监控设备中的CAN信号值或LIN信号值,读取成功则继续对读取到的数据值进行判断,符合预期则在报告中记录步骤测试成功的信息,否则记录步骤测试失败的信息。如果读取失败,则在测试报告中记录步骤测试失败。如果在结果检测类测试步骤中解析出不属于数字量、PWM、模拟量、CAN信号、LIN信号中的任何一个的变量,则直接在报告中记录步骤失败。
如果当前测试步骤属于操作执行类的,且其中包含的变量属于数字量、模拟量、电阻类型中的其中一个,则上位机向下位机发送对应的串口设置命令,并通过串口通信获取下位机返回的数据,然后根据下位机返回数据判断下位机是否执行成功。如果成功则在测试报告中记录步骤执行成功的信息,否则记录步骤执行失败的信息。如果当前执行的测试步骤属于操作执行类,且其中的变量属于CAN信号或LIN信号类型,则上位机设置下位机中CAN/LIN总线监控设备中的CAN信号值或LIN信号值,如果设置成功则在测试报告中记录步骤执行成功,否则记录执行失败。同理,如果在操作执行类测试步骤中解析出不属于数字量、模拟量、电阻、CAN信号、LIN信号中的任何一个的变量,则直接在报告中记录步骤失败。
如果当前步骤属于脚本接口类,则依据步骤中的脚本名、函数(方法)名、传入参数等信息,执行对应脚本中的函数(或方法),依据脚本代码向测试报告中记录信息。如果当前步骤不属于操作执行类、结果检测类、脚本接口类中的任意一个,则属于非正常步骤,测试终止。
对单个测试步骤的处理执行完毕后,继续判断是否还有尚未执行的测试步骤。依据这样的流程,直到所有测试步骤执行完,则当前测试用例执行完成。直到所有测试用例执行完成,则测试结束。
在一些实施例中,下位机中主要包含两个控制系统,其中一个控制系统用于实现数字量设置、数字量读取、模拟量设置、模拟量读取、PWM读取、电阻设置命令转发等功能,称其为主系统,另一个控制系统则主要用于根据接收的电阻设置命令设置电阻,因此称其为电阻子系统。参见图5,为车身控制器自动测试过程中下位机主系统的整体测试流程示意图。
如图5所示,首先下位机主系统会进行一系列初始配置,包括GPIO(General-purpose input/output,通用型之输入输出)初始化、串口初始化(包括和上位机通信的串口1以及和电阻子系统通信的串口2)、定时器初始化、启动串口接收中断、启动输入捕获功能。当串口接收到一个完整数据帧后,首先依据自定义串口通信协议判断数据校验是否通过,如果不通过则向上位机发送重发命令,以达到让上位机重发命令的目的。如果数据校验通过,首先判断上位机发来的命令是否是指示下位机主系统重新向上位机发送数据的重发命令,若是则向上位机重新发送数据,否则继续判断是否属于数字量设置、数字量读取、PWM读取、模拟量设置、模拟量读取、电阻设置中的一种,如果都不属于,则向上位机发送“命令错误”的串口数据。
如果属于数字量设置命令,则设置对应GPIO引脚为指定电平,并向上位机发送是否设置成功。如果属于数字量读取命令,则读取指定GPIO引脚的电平,并向上位机发送是否读取成功以及读取的电平值。如果属于PWM读取命令,则计算对应PWM通道的占空比和频率,并向上位机发送是否读取成功以及PWM数据。如果属于模拟量设置命令,则根据IIC协议与DA转换器进行通信,构造对应DA通道的输出电压,并向上位机发送是否设置成功。如果属于模拟量读取命令,则根据IIC协议与AD转换器进行通信,获取对应AD通道的采集数据,并向上位机发送是否读取成功以及AD采集数据。
对于电阻设置命令的处理有些特殊,下位机主系统通过串口1和上位机通信,通过串口2和电阻子系统通信。如果串口1收到上位机发来的电阻设置命令,则会将数据转发到串口2中,以便告知电阻子系统需要进行电阻设置。待电阻子系统处理完且返回是否设置成功的响应数据后,再把串口2中接收的电阻子系统的响应数据转发到串口1连接的上位机中,以通知上位机是否设置成功。由于在电阻设置命令中,下位机主系统对串口通信数据只是做的串口1和串口2之间的转发,相当于上位机间接和电阻子系统按照自定义串口协议的流程进行了交互。
下位机主系统对接收到的命令处理完成后等待下一次串口1接收到一个完整数据帧,而后继续处理。
下位机电阻子系统的测试流程如图6所示,首先进行一系列初始配置,包括GPIO初始化、串口初始化、启动串口接收中断等。当接收到一个完整数据帧后,首先根据自定义串口通信协议判断是否数据校验通过,如果不通过则向下位机主系统发送重发命令,以达到让主系统重发的目的。如果数据校验通过,则判断是否属于下位机主系统发送的用于执行电阻子系统向主系统重新发送数据的重发命令,若是则向下位机主系统重新发送数据,否则解析接收到的电阻设置命令中的电阻值,根据解析出的电阻值为被测车身控制器提供相应的阻值,并向下位机主系统发送电阻是否设置成功的应答信息。电阻设置命令处理完成后,再次等待接收完整数据帧,以对下一次命令做处理。
由上述内容可知,本申请实施例提供的一种车身控制器自动测试方法。可以完成对于多类型的测试,包括数字量设置、数字量读取、模拟量设置、模拟量读取、PWM读取、电阻设置、CAN信号设置、CAN信号读取、LIN信号设置、LIN信号读取、脚本开发接口等功能。满足了测试车身控制器所需的各种输入输出类型,使车身控制器的测试能以自动化测试的方式进行,相比于传统的人工测试来说,提高了测试效率、提高了测试质量、节省了人力成本。
基于上述实施例提供的车身控制器自动测试方法,相应地,本申请还提供了一种应用于上位机的车身控制器自动测试装置的具体实现方式。请参见以下实施例。
参见图7,本申请实施例提供的车身控制器自动测试装置可以包括以下模块:
用例步骤解析模块701,用于解析预设的测试用例,获得测试步骤以及资源对应关系,其中,测试用例用于对被测车身控制器进行测试,资源对应关系为测试用例中的变量与下位机中资源接口的对应关系,下位机为与上位机通讯连接用于对被测车身控制器执行测试的下位机,
用例测试执行模块702,用于响应于测试步骤所属的测试类型为结果检测类或操作执行类,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,其中,结果检测类的测试步骤用于从被测车身控制器中读取对应的变量的值,操作执行类的测试步骤用于设置作用于被测车身控制器的变量的值,
公共模块703,用于根据测试步骤的执行情况,生成被测车身控制器的测试报告。
本申请实施例的车身控制器自动测试装置,上位机通过解析用于对被测车身控制器进行测试的测试用例,获得测试步骤和测试用例中的变量与下位机中资源接口的对应关系,也即资源对应关系,然后针对结果检测类或操作执行类的测试步骤,根据测试步骤和资源对应关系控制下位机对被测车身控制器进行测试,并根据测试步骤的执行情况生成被测车身控制器的测试报告。根据本申请实施例,通过上位机执行车身控制器自动测试方法,即可控制下位机自动对被测车身控制器进行测试,并生成相应的测试报告,整个测试过程几乎无需人工参与,相比于传统的人工测试方式,测试效率更高、测试质量更高、人力成本更低。
在一些实施例中,用例步骤解析模块701具体用于:
获取测试用例的配置信息,配置信息包括测试用例文件所在路径和测试用例文件中的资源映射关系表所在页名,资源映射关系表包含多个变量与下位机中资源接口的对应关系,
根据测试用例文件所在路径逐条读取测试用例的测试步骤,
以表格形式将测试步骤转换为上位机程序中的列表变量,生成步骤列表,其中,步骤列表的元素包括步骤类型、变量名和/或变量值,
根据测试用例文件中的资源映射关系表所在页名,解析资源映射关系表,获得测试用例中的变量与下位机中资源接口的对应关系。
在一些实施例中,用例测试执行模块702具体用于:
响应于测试步骤所属的测试类型为结果检测类,将测试步骤中包含的变量作为目标变量,
根据资源对应关系将目标变量对应的资源接口作为目标资源接口,
生成目标资源接口对应的读取命令,
基于读取命令控制下位机读取被测车身控制器中与目标变量对应的值。
在一些实施例中,用例测试执行模块702具体用于:
响应于测试步骤的测试类型为操作执行类,将测试步骤中包含的变量作为目标变量,
根据资源对应关系将目标变量对应的资源接口作为目标资源接口,
生成目标资源接口对应的设置命令,
基于设置命令控制下位机设置作用于被测车身控制器的目标变量的值。
在一些实施例中,用例测试执行模块702具体用于:在根据测试步骤的执行情况,生成被测车身控制器的测试报告之前,响应于测试步骤的测试类型为脚本接口类,根据测试步骤中包含的脚本信息执行脚本信息对应的脚本,获得脚本执行结果,
在一些实施例中,公共模块703,具体用于:
根据脚本执行结果生成被测车身控制器的测试报告。
在一些实施例中,公共模块703,具体用于:
根据测试步骤的执行情况,确定测试步骤对应的执行结果和执行情况对应的级别,级别用于体现测试步骤执行情况的优劣,
将测试步骤对应的执行结果和执行情况对应的级别与测试步骤的内容对应写入测试报告。
在一些实施例中,测试用例中的变量的数据类型包含下述数据类型中的一种或多种:
数字量、模拟量、脉冲宽度调制信号、CAN信号、LIN信号、电阻。
在一些实施例中,公共模块703还提供了判断功能,用于判断测试过程中获取的变量的实际值是否符合测试用例预期值,如果不符合则在报告中记录错误信息。判断功能还支持可设置是否中止整个测试过程的执行,当上位机检测到发现了严重问题,可使整个测试停止,以保留现场。
在一些实施例中,用例步骤解析模块701还可以提供脚本开发接口,针对脚本接口类的测试步骤,可以脚本开发接口来调用相应的脚本。
在一些实施例中,车身控制器自动测试装置还可以包括配置模块,测试人员可以通过配置模块设置测试用例的配置信息。配置模块还可以包含串口配置参数和调试模式使能参数设置。其中,调试模式使能参数设置为开启后,在测试报告中会具更详细的信息,以便人为分析测试现象。
在一些实施例中,车身控制器自动测试装置还可以包括监控命令模块,监控命令模块可以从配置模块中的串口配置参数中获取串口信息,以便正确进行串口数据传输。
本申请实施例提供的车身控制器自动测试装置能够实现上述任意车身控制器自动测试方法实施例实现的各个过程,为避免重复,这里不再赘述。
图8示出了本申请实施例提供的电子设备的硬件结构示意图。
电子设备可以包括处理器801以及存储有计算机程序指令的存储器802。
具体地,上述处理器801可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在综合网关容灾设备的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。
存储器802可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器802包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可执行上述实施例中的任意一种车身控制器自动测试方法所描述的操作。
处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现上述实施例中的任意一种车身控制器自动测试方法。
在一个示例中,电子设备还可包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
通信接口803,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线810包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的车身控制器自动测试方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述实施例中的任意一种车身控制器自动测试方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种车身控制器自动测试方法,其特征在于,应用于上位机,所述方法包括:
解析预设的测试用例,获得测试步骤以及资源对应关系,其中,所述测试用例用于对被测车身控制器进行测试,所述资源对应关系为所述测试用例中的变量与下位机中资源接口的对应关系,所述下位机为与所述上位机通讯连接用于对所述被测车身控制器执行测试的下位机,
响应于所述测试步骤所属的测试类型为结果检测类或操作执行类,根据所述测试步骤和所述资源对应关系控制所述下位机对所述被测车身控制器进行测试,其中,所述结果检测类的测试步骤用于从所述被测车身控制器中读取对应的变量的值,所述操作执行类的测试步骤用于设置作用于所述被测车身控制器的变量的值,
根据所述测试步骤的执行情况,生成所述被测车身控制器的测试报告。
2.根据权利要求1所述的方法,其特征在于,所述解析预设的测试用例,包括:
获取所述测试用例的配置信息,所述配置信息包括测试用例文件所在路径和所述测试用例文件中的资源映射关系表所在页名,所述资源映射关系表包含多个变量与下位机中资源接口的对应关系,
根据所述测试用例文件所在路径逐条读取所述测试用例的测试步骤,
以表格形式将所述测试步骤转换为上位机程序中的列表变量,生成步骤列表,其中,所述步骤列表的元素包括步骤类型、变量名和/或变量值,
根据所述测试用例文件中的资源映射关系表所在页名,解析所述资源映射关系表,获得所述测试用例中的变量与下位机中资源接口的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述根据所述测试步骤和所述资源对应关系,控制所述下位机对所述被测车身控制器进行测试,包括:
响应于所述测试步骤所属的测试类型为结果检测类,将所述测试步骤中包含的变量作为目标变量,
根据所述资源对应关系将所述目标变量对应的资源接口作为目标资源接口,
生成所述目标资源接口对应的读取命令,
基于所述读取命令控制所述下位机读取所述被测车身控制器中与所述目标变量对应的值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述测试步骤和所述资源对应关系,控制所述下位机对所述被测车身控制器进行测试,包括:
响应于所述测试步骤所述的测试类型为操作执行类,将所述测试步骤中包含的变量作为目标变量,
根据所述资源对应关系将所述目标变量对应的资源接口作为目标资源接口,
生成所述目标资源接口对应的设置命令,
基于所述设置命令控制所述下位机设置作用于所述被测车身控制器的所述目标变量的值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述测试步骤的执行情况,生成所述被测车身控制器的测试报告之前,所述方法还包括:
响应于所述测试步骤的测试类型为脚本接口类,根据所述测试步骤中包含的脚本信息执行所述脚本信息对应的脚本,获得脚本执行结果,
所述根据所述测试步骤的执行情况,生成所述被测车身控制器的测试报告,包括:
根据所述脚本执行结果生成所述被测车身控制器的测试报告。
6.根据权利要求1所述的方法,其特征在于,所述根据所述测试步骤的执行情况,生成所述被测车身控制器的测试报告,包括:
根据所述测试步骤的执行情况,确定所述测试步骤的执行结果和所述执行情况对应的级别,所述级别用于体现所述测试步骤执行情况的优劣,
将所述测试步骤对应执行结果和所述执行情况对应的级别与所述测试步骤的内容对应写入所述测试报告。
7.根据权利要求1所述的方法,其特征在于,所述测试用例中的变量的数据类型包含下述数据类型中的一种或多种:
数字量、模拟量、脉冲宽度调制信号、CAN信号、LIN信号、电阻。
8.一种车身控制器自动测试装置,其特征在于,应用于上位机,所述装置包括:
用例步骤解析模块,用于解析预设的测试用例,获得测试步骤以及资源对应关系,其中,所述测试用例用于对被测车身控制器进行测试,所述资源对应关系为所述测试用例中的变量与下位机中资源接口的对应关系,所述下位机为与所述上位机通讯连接用于对所述被测车身控制器执行测试的下位机,
用例测试执行模块,用于响应于所述测试步骤所属的测试类型为结果检测类或操作执行类,根据所述测试步骤和所述资源对应关系控制所述下位机对所述被测车身控制器进行测试,其中,所述结果检测类的测试步骤用于从所述被测车身控制器中读取对应的变量的值,所述操作执行类的测试步骤用于设置作用于所述被测车身控制器的变量的值,
公共模块,用于根据所述测试步骤的执行情况,生成所述被测车身控制器的测试报告。
9.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器,
所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的车身控制器自动测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的车身控制器自动测试方法。
CN202310738807.4A 2023-06-21 2023-06-21 车身控制器自动测试方法、装置、设备及计算机存储介质 Pending CN116627115A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310738807.4A CN116627115A (zh) 2023-06-21 2023-06-21 车身控制器自动测试方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310738807.4A CN116627115A (zh) 2023-06-21 2023-06-21 车身控制器自动测试方法、装置、设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN116627115A true CN116627115A (zh) 2023-08-22

Family

ID=87641933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310738807.4A Pending CN116627115A (zh) 2023-06-21 2023-06-21 车身控制器自动测试方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN116627115A (zh)

Similar Documents

Publication Publication Date Title
CN109656172B (zh) 一种获取波特率的方法、装置
CN104734911A (zh) 一种can总线网络管理测试系统及方法
CN104483959A (zh) 故障模拟与测试系统
CN104568459A (zh) Obd智能设备及其测试方法、系统和ecu模拟器
CN104914845A (zh) 一种基于工控机的车身控制器故障测试方法和系统
CN110658400A (zh) 基于嵌入式的测试方法、微控制器和系统
CN112286825A (zh) 智能座舱的屏幕测试方法、装置及电子设备
CN116489043A (zh) 一种can通信自动化测试方法
CN111381150A (zh) 芯片自动验证系统及其方法
CN115242689B (zh) 一种车载网关测试方法、系统及计算机可读存储介质
CN112835755A (zh) 一种测试数据采集方法、装置、设备及计算机存储介质
CN102707710A (zh) 汽车电子控制单元诊断功能验证方法及系统
CN111596638B (zh) 车辆故障排查方法、装置、设备和计算机可读存储介质
CN113225232B (zh) 硬件测试方法、装置、计算机设备及存储介质
US8391162B2 (en) Apparatus and method for testing SMNP cards
CN116627115A (zh) 车身控制器自动测试方法、装置、设备及计算机存储介质
CN109885432A (zh) NVMe前端测试方法、装置、计算机设备及存储介质
CN110789580A (zh) 列车网络控制系统的通讯检测方法、设备和系统
CN111459730A (zh) 一种Whitley平台下PCH端参数的调整方法及系统
CN107505928A (zh) 测试整车控制器的装置及方法
CN116319475A (zh) 一种信号分析方法、装置、设备及存储介质
US7721260B2 (en) Embedded Test I/O Engine
CN111106979B (zh) 一种交换机阈值告警测试的方法和设备
CN115328708A (zh) 串行外设接口时序的参数测试方法及测试装置
CN110046067B (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