CN117950391A - 整车控制器诊断测试方法、装置、设备及存储介质 - Google Patents
整车控制器诊断测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117950391A CN117950391A CN202311862802.9A CN202311862802A CN117950391A CN 117950391 A CN117950391 A CN 117950391A CN 202311862802 A CN202311862802 A CN 202311862802A CN 117950391 A CN117950391 A CN 117950391A
- Authority
- CN
- China
- Prior art keywords
- test
- service
- vehicle controller
- diagnostic
- diagnosis
- 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
- 238000002405 diagnostic procedure Methods 0.000 title claims abstract description 54
- 238000012360 testing method Methods 0.000 claims abstract description 394
- 238000003745 diagnosis Methods 0.000 claims abstract description 81
- 238000013507 mapping Methods 0.000 claims abstract description 76
- 238000013101 initial test Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000013112 stability test Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本申请的实施例揭示了一种整车控制器诊断测试方法、装置、设备及存储介质,该方法包括:获取整车控制器诊断需求文件中的服务类别,并获取与服务类别对应的数据标识;根据数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;根据服务类别、数据标识和映射变量生成诊断服务的测试模板;将测试模板导入预设测试程序的测试序列中生成测试用例,并执行测试用例得到针对整车控制器的诊断测试结果。本申请的实施例能够高效自动进行整车控制器的诊断测试,自动生成测试结果。
Description
技术领域
本申请涉及一种车辆技术领域,具体而言,涉及整车控制器诊断测试方法、装置、设备及介质。
背景技术
随着现代汽车技术的快速发展,汽车各总成的结构越来越复杂,车辆的故障诊断也越来越重要;目前,汽车诊断技术已经不仅仅局限于售后的故障维修,还更多的应用于汽车安全、排放检测、生产下线匹配等多个方面。
在这个背景下,整车厂认识到介入到控制器产品的诊断功能开发过程是至关重要的,而提前进行诊断测试能够确保功能的正确实现,从而增强汽车的整体性能。目前汽车控制器统一诊断服务的诊断测试工作大多是基于硬件在环的汽车诊断自动化测试,但主要侧重点是故障注入和故障诊断测试,而且主要针对变速箱的故障诊断测试。
发明内容
为解决上述技术问题,本申请的实施例提供了一种整车控制器诊断测试方法及装置、电子设备、计算机可读存储介质以及计算机程序产品,能够高效自动进行整车控制器的诊断测试,自动生成测试结果。
根据本申请实施例的一个方面,提供了一种整车控制器诊断测试方法,包括:获取整车控制器诊断需求文件中的服务类别,并获取与所述服务类别对应的数据标识;根据所述数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;根据所述服务类别、所述数据标识和所述映射变量生成诊断服务的测试模板;将所述测试模板导入所述预设测试程序的测试序列中生成测试用例,并执行所述测试用例得到针对所述整车控制器的诊断测试结果。
根据本申请实施例的一个方面,执行所述测试用例得到针对所述整车控制器的诊断测试结果之后,所述方法还包括:根据所述测试结果,将所述关键参数对应的测试数值存储在所述映射变量中得到目标映射变量;获取所述整车控制器的与所述诊断服务相关的内部变量,将所述内部变量与所述目标映射变量进行对比;根据对比结果对所述诊断测试结果的正确性进行验证。
根据本申请实施例的一个方面,所述关键参数包括测试数值与物理值的转化关系;所述获取所述整车控制器的与所述诊断服务相关的内部变量,将所述内部变量与所述目标映射变量进行对比,包括:根据所述整车控制器的接口协议,查找与诊断服务相关的内部变量;根据所述转化关系将所述目标映射变量转化为物理值,并将转化后的目标映射变量与所述内部变量进行对比。
根据本申请实施例的一个方面,所述根据所述对比结果对所述诊断测试结果的正确性进行验证,包括:若所述对比结果表征所述内部变量与所述目标映射变量的差值大于预设误差值,则查看所述诊断测试结果对应的测试报告;根据所述测试报告调整所述整车控制器的参数或所述测试用例,并重新执行所述测试用例,直至重新执行的所述测试用例的验证通过。
根据本申请实施例的一个方面,所述根据所述服务类别、所述数据标识和所述映射变量生成诊断服务的测试模板;包括:根据所述服务类别,选择与所述服务类别相匹配的初始测试模板;根据所述诊断需求文件的诊断需求定制针对所述服务类别的测试步骤;将所述服务类别、所述数据标识和所述映射变量作为测试元素,并所述测试步骤和所述测试元素填充至所述初始测试模板得到所述诊断服务的测试模板。
根据本申请实施例的一个方面,所述将所述测试模板导入所述预设测试程序的测试序列中生成测试用例,包括:在所述预设测试程序的测试序列中设置测试执行参数,所述测试执行参数包括循环次数和执行条件中的至少一种;将所述测试模板导入到所述预设测试程序的测试序列中生成至少一个测试用例,并为每个测试用例分配描述和唯一的测试标识。
根据本申请实施例的一个方面,所述将所述测试模板导入所述预设测试程序的测试序列中生成测试用例之后,所述方法还包括:模拟运行所述测试用例,检测在所述测试用例运行过程中是否存在错误信息;若存在错误信息,则根据所述错误信息调整所述测试用例,直到调整后的测试用例正常执行。
根据本申请实施例的一个方面,提供了一种整车控制器诊断测试装置,包括:获取模块,用于获取整车控制器诊断需求文件中的服务类别,并获取与所述服务类别对应的数据标识;生成模块,用于根据所述数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;生成模块,还用于根据所述服务类别、所述数据标识和所述映射变量生成诊断服务的测试模板;测试模块,用于将所述测试模板导入所述预设测试程序的测试序列中生成测试用例,并执行所述测试用例得到针对所述整车控制器的诊断测试结果。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的整车控制器诊断测试方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的整车控制器诊断测试方法。
根据本申请实施例的一个方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的整车控制器诊断测试方法中的步骤。
在本申请的实施例所提供的技术方案中,获取整车控制器诊断需求文件中的服务类别,并获取与服务类别对应的数据标识,之后根据数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量,进而根据服务类别、数据标识和映射变量生成诊断服务的测试模板,使得测试模板与整车控制器的诊断服务类别相匹配;将测试模板导入预设测试程序的测试序列中生成测试用例,并执行测试用例得到针对整车控制器的诊断测试结果,从而能够高效自动进行整车控制器的诊断测试,自动生成测试结果,通过测试用例的方式重复性和工况复现性好,提高整车控制器诊断测试的测试效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的进行整车控制器诊断测试的实施环境示意图;
图2是本申请的一示例性实施例示出的整车控制器诊断测试方法的流程图;
图3是图2中在步骤S240之后增加的验证过程的具体实现流程示意图;
图4是图2中步骤S230在一示例性实施例中的具体实现流程示意图;
图5是图2中步骤S240在一示例性实施例中的具体实现流程示意图;
图6是本申请一示例性实施例示出的另一种整车控制器诊断测试方法的流程图;
图7是本申请一示例性实施例示出的测试模板的示意图;
图8是本申请的一示例性实施例示出的整车控制器诊断测试装置的框图;
图9示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1是本申请一示例性实施例示出的整车控制器诊断测试的实施环境示意图。该实施环境包括车辆10和测试终端20,该车辆包括整车控制器,测试终端通过有线或无线与该车辆连接。
其中,测试终端20用于获取整车控制器诊断需求文件中的服务类别,并获取与服务类别对应的数据标识;根据数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;根据服务类别、数据标识和映射变量生成诊断服务的测试模板,之后将测试模板导入预设测试程序的测试序列中生成测试用例,之后执行测试用例得到针对整车控制器的诊断测试结果。
在一示例中,本申请的整车控制器诊断测试方法也可以由车辆单独执行;在车辆上设置有预设测试程序,由车辆获取与服务类别对应的数据标识;根据数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;之后生成测试模板,将测试模板导入预设测试程序的测试序列中生成测试用例,并执行测试用例得到诊断测试结果。
请参阅图2,图2是本申请的一示例性实施例示出的整车控制器诊断测试方法的流程图。该方法可应用于图1所示的实施环境,并由该实施环境中的车辆具体执行,应当理解的是,该方法也可以适用于其他的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
如图2所示,在一示例性的实施例中,整车控制器诊断测试方法至少包括步骤S210至步骤S240,详细介绍如下:
S210、获取整车控制器诊断需求文件中的服务类别,并获取与服务类别对应的数据标识。
在本申请实施例中,整车控制器诊断需求文件包括针对整车控制器的诊断服务需求,包括诊断服务的种类例如读取故障码、清除故障码、读取数据流等,不同的服务类别有不同的数据标识,即数据ID,用来标识诊断服务的数字编码。
从诊断需求文档中提取出服务类别,根据该服务类别与预设数据标识的对应关系,找到对应的数据ID。在一示例中,该诊断需求文档可以是测试技术人员编写得到的。
S220、根据数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量。
不同的数据标识,其对应的关键参数不同,该关键参数用于描述诊断服务的关键测试参数,关键参数包括名称、数据长度、数据范围等。
在一示例中,在预设测试程序中创建一个变量库,用来存储和管理诊断服务的结果数据,在新创建的变量库中,定义与数据ID的关键参数相关的映射mapping变量,并为每个变量设置相应的数据类型,如整数、浮点数、字符串等,之后保存这个变量库,以便后续在测试模板中引用,用来接收和存储诊断服务的返回值;其中,预设测试程序包括AutomationDesk、SYNECT、ControlDesk等。
S230、根据服务类别、数据标识和映射变量生成诊断服务的测试模板。
在本申请实施例中,基于预设测试程序编写该诊断服务的测试模板,在编写时,在测试模板中指定服务类别、数据标识和数据类型映射的mapping变量,以便在测试执行时,能够正确地调用和存储诊断服务的测试数据。
S240、将测试模板导入预设测试程序的测试序列中生成测试用例,并执行测试用例得到针对整车控制器的诊断测试结果。
在本申请实施例中,测试序列是测试操作和步骤按照一定顺序排列的一组指令,用于组织和管理测试执行,该测试序列可以在预设测试程序中以图形化的方式创建,也可以使用Python代码创建;其中,测试序列可以根据不同的测试目标进行组织,例如功能测试、性能测试、稳定性测试等。
将测试模板导入预设测试程序的测试序列中,可以生成一个或多个测试用例。
在一示例中,测试序列可以在预设测试程序中运行,也可以通过远程控制的方式运行;在测试用例的测试结束后,得到诊断测试结果和测试报告。其中,测试结果中包括每个测试用例的执行状态,如通过、失败、跳过等,以及每个测试用例的执行时间、执行次数、执行错误等;而测试报告包括更详细的测试信息,如测试数据的图形表示、测试结果的评估标准、测试结果的统计分析等。
可以理解的是,诊断服务的测试数量较大,而本申请实施例中的同一类型的服务类别的测试用例可以直接复用,也可以在该测试用例的基础上进行修改得到新的测试用例。
在本实施例中,获取整车控制器诊断需求文件中的服务类别,并获取与服务类别对应的数据标识,之后根据数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量,进而根据服务类别、数据标识和映射变量生成诊断服务的测试模板,使得测试模板与整车控制器的诊断服务类别相匹配;将测试模板导入预设测试程序的测试序列中生成测试用例,并执行测试用例得到针对整车控制器的诊断测试结果,从而能够高效自动进行整车控制器的诊断测试,自动生成测试结果,通过测试用例的方式重复性和工况复现性好,提高整车控制器诊断测试的测试效率。
进一步的,基于上述实施例,请参照图3,在本申请所提供的其中一个示例性实施例中,步骤S240之后,还包括对诊断测试结果进行验证的过程,具体包括步骤S310至步骤S330,详细介绍如下:
S310、根据测试结果,将关键参数对应的测试数值存储在映射变量中得到目标映射变量。
如前所描述的,诊断服务的结果数据是存储在映射变量中,因此在获得测试结果后,从测试结果中提取出与关键参数对应的测试数值,进而将测试数值存储在映射变量中得到目标映射变量。
S320、获取整车控制器的与诊断服务相关的内部变量,将内部变量与目标映射变量进行对比。
在本申请实施例中,整车控制器的内部变量是指连接整车控制器所读取的值,该与诊断服务相关的内部变量与映射变量一一对应,如映射变量为测试电池电压所得到测试值,则内部向量为读取电池电压的实际值,因此,将内部变量与目标映射变量进行比对,可验证诊断服务的测试数据是否与整车控制器的内部变量一致。
在一示例中,获取整车控制器的接口文档,文档包含有关内部变量的详细信息,包括名称、数据类型、单位等,进而根据整车控制器的接口文档,找到与诊断服务相关的内部变量;例如利用专门的诊断工具,例如OBD-II(On-Board Diagnostics)扫描仪或车辆网络分析工具,通过接口文档中的对应的接口读取整车控制器对应类型的内部变量。
其中,内部变量为物理值,诊断服务的测试结果非物理值,而关键参数包括测试数值与物理值的转化关系,为了进行准确比较,需要根据该转化关系将预设数据格式的目标映射变量转化为物理值,并将转化后的目标映射变量与内部变量进行对比,该预设数据格式即诊断服务的测试结果的数据格式;例如诊断测试结果为16进制,则需要将16进制转化为物理值。当然也可以根据转化关系将内部变量转化为预设数据格式,进而将转化后的内部变量与目标映射变量进行对比。
S330、根据对比结果对诊断测试结果的正确性进行验证。
本申请实施例中,对比结果包括数值的类型对比,以及相同类型下的数值之间的差值,为了直观的了解诊断测试结果是否在误差许可范围内,根据该差值的大小和预设误差阈值对诊断测试结果的正确性进行验证。
进一步的,若对比结果表征内部变量与目标映射变量的类型相同,且内部变量与目标映射变量的差值小于预设误差值,则表示对诊断测试结果的正确性的验证通过。
若对比结果表征内部变量与目标映射变量的类型不同,或类型相同但变量的差值大于等于预设误差值,则表示存在较大的不一致,对诊断测试结果的正确性的验证未通过,此时,可以查看诊断测试结果对应的测试报告,如前所描述的,测试报告包括测试的详细的测试信息,如包括输入参数、测试条件、测试用例、测试过程中的输出参数等;因此,可以根据测试报告查看原因,进而根据原因调整整车控制器的参数或对测试用例进行调整,如修改某些控制器的设置、调整测试输入条件等,在调整完成后,重新执行该测试用例,直至再次获取的诊断测试报告的正确性的验证通过,即变量的差值小于预设误差值。
在本申请实施例中,诊断测试结果对应的数值存储在映射变量中,进而通过与整车控制器的内部变量进行对比,可有效验证测试用例的正确性,进而保证测试的准确性。
进一步的,基于上述实施例,请参照图4,在本申请所提供的其中一个示例性实施例中,步骤S230中生成测试模板的具体实现过程包括步骤S410和步骤S430,详细介绍如下:
S410、根据服务类别,选择与服务类别相匹配的初始测试模板。
在本申请实施例中,预先为各服务类别配置了对应的初始测试模板,而不同的服务类别,其对应的初始测试模板不同,该初始测试模板包括该服务类别所通用的测试信息,如该服务类别下的通用的测试结构和流程,如初始化、配置等,因此,获取服务类别后,从多个配置的初始测试模板中选择相匹配的初始测试模板。
S420、根据诊断需求文件的诊断需求定制针对服务类别的测试步骤。
在本申请实施例,根据诊断需求文件,定制测试步骤以满足具体的服务类别的需求,如从初始测试模板中选择适当的测试步骤,或者添加新的测试步骤,例如前置条件、后置条件等,以确保覆盖了所有的诊断需求。在一示例中,还可以根据诊断需求定义期望的输出,即诊断服务应该返回的值。
S430、将服务类别、数据标识和映射变量作为测试元素,并测试步骤和测试元素填充至初始测试模板得到诊断服务的测试模板。
将服务类别、数据标识和映射变量作为测试元素,然后将测试步骤和测试元素填充到初始测试模板中,即在初始测试模板中配置测试输入,包括服务类别、数据标识等信息,填入定制的测试步骤,并导入之前生成的数据类型映射的变量库,得到了一个专门为该服务类别设计的诊断服务的测试模板。
例如有一个服务类别是“22”,表示某种特定的车辆诊断服务,在初始测试模板中,可能有一些通用的测试步骤,但这些步骤可能需要根据服务类别“22”的具体需求进行调整,之后通过将“22”作为服务类别、相关的数据标识和映射变量填入相应的位置,生成一个适用于服务类别“22”的测试模板,以确保对该服务的全面测试。
在一示例中,在测试模板中还包括配置测试报告的模板,包括报告所需的信息、格式和样式等,之后保存测试模板以便后续使用。
在本申请实施例中,在测试模板中指定服务类别、数据ID和数据类型映射的mapping变量,以便在测试执行时,能够正确地调用和存储诊断服务的测试数据,且通过选择与服务类别相匹配的初始测试模板,定制测试步骤,确保测试的定制性和准确性,以满足不同服务类别的需求。
进一步的,基于上述实施例,请参照图5,在本申请所提供的其中一个示例性实施例中,上述S240中生成测试用例的具体实现过程包括步骤S510和步骤S520,详细介绍如下:
S510、在预设测试程序的测试序列中设置测试执行参数,测试执行参数包括循环次数和执行条件中的至少一种。
在本申请实施例中,在预设测试程序的测试序列中设置的参数,该参数将影响测试序列中所有测试步骤的整体执行;其中,参数包括循环次数和执行条件,循环次数定义了整个测试用例将运行的次数;执行条件是指触发测试执行的条件,例如某个变量达到特定值或满足其他条件。
S520、将测试模板导入到预设测试程序的测试序列中生成至少一个测试用例,并为每个测试用例分配描述和唯一的测试标识。
测试模板包括服务类别、数据标识和映射变量,以及与诊断服务相关的测试步骤,将测试模板导入预设测试程序的测试序列中,结合测试执行参数,生成执行实例,而测试序列中的每次执行实例可被称为测试用例,在本申请实施例中,在测试序列中创建多个测试用例,每个用例可以具有不同的输入参数和执行条件,为每个测试用例分配唯一的标识和描述,以便在测试执行和结果报告中进行区分和理解。
在本申请实施例中,通过合理设计和配置测试序列,生成至少一个测试用例,实现对测试的自动化且多方面执行。
进一步地,在将测试模板导入预设测试程序的测试序列中生成测试用例之后,执行该测试用例之前,还包括:
模拟运行测试用例,检测在运行过程中测试用例是否存在错误信息;若存在错误信息,则根据错误信息调整测试用例,直到调整后的测试用例正常执行。
在本申请实施例中,在生成测试用例之后,还需要检测测试用例是否报错,因此需模拟运行该测试用例,以检测在测试用例运行过程中是否存在错误信息,其中,模拟运行该测试用例可以是模拟整车控制器所对应的环境,在该模拟的环境中运行该测试用例,在一示例中,可以检测测试用例是否被中断退出,若中断退出,则表示测试用例运行过程中报错,从报错窗口中获取错误信息;在另一示例中,可以在测试用例运行完后,通过测试报告检测测试用例是否存在错误信息。
在本申请实施例中,若存在错误信息,则根据该错误信息调整测试用例,直至调整后的测试用例正常执行,其中,该错误信息包括错误原因,还可以包括错误修正方式,进而根据错误原因和错误修正方式调整测试用例。
在本申请实施例中,通过模拟运行测试用例,并在检测错误信息后,根据错误信息调整测试用例,保证了测试用例的准确性和可靠性。
为了便于理解,以新能源整车控制器为例,对本申请实施例提供的整车控制器诊断测试方法进行详细说明:
如图6所示,该方法包括:
S610、获取诊断需求文档中服务类别,根据服务类别获取数据的ID。
不同服务类别需求的数据ID是不一样的,常用的服务类型有22、2E、14、19、10、27等,而不同的服务类别对应不同的数据ID的格式和长度,例如服务类别22表示读取数据,服务类别2E表示写入数据,服务类别14表示清除故障码等。
S620、根据数据的ID的关键参数在AutomationDesk中生成相应数据类型的映射mapping变量库。
参看表1,表中为数据ID的关键参数生成映射mapping变量的具体实施例,需求文件中有一个数据的ID电池电压,它的关键参数包括名称、字节长度、最大最小值和与物理值转化关系,映射mapping变量用于存储和处理诊断服务的诊断测试结果,因为诊断测试结果是16进制数,根据这些关键参数将诊断测试结果在AutomationDesk中生成相应数据类型的映射mapping变量,用于存放结果。
表1
例如表1,诊断测试结果包括电池电压的测试最大值,则将该测试最大值存储在Max对应的映射mapping变量中。
S630、基于AutomationDesk测试序列编写诊断服务的测试模板,模板包括服务类别、数据的ID、数据类型映射的mapping变量。
在本申请实施例中,可以利用AutomationDesk的图形化测试开发功能,编写诊断服务的测试模板,测试模板是一种预定义的测试结构,包含了一些必要的测试元素,例如服务类别、数据ID、mapping变量等。测试模板中的测试步骤可以根据不同的诊断需求进行定制,例如读取数据、写入数据、清除故障码等;测试模板可以在AutomationDesk中以图形化的方式编写,也可以使用Python代码编写。如图7所示,图7示出了一个基于AutomationDesk的诊断测试的测试模板的示例,该测试模板中包括初始化步骤、清除历史数据后上电并上线的步骤、以及清故障后进行写操作,最后下电并下线,之后释放MA端口。
S640、将测试模板导入测试序列中生成可执行的测试用例,调整测试报告样式。
将测试模板转换为可执行的测试用例,并配置测试执行和测试报告的选项。其中,可将测试模板导入到AutomationDesk的测试序列中,并为每个测试用例分配一个唯一的名称和描述,其中测试序列可以在AutomationDesk中以图形化的方式创建,也可以使用Python代码创建。在本申请实施例中,还可在测试序列中设置测试执行的参数,如循环次数、执行顺序、执行条件等,在测试序列中选择测试报告的样式,如PDF或HTML格式,以及报告的内容,如测试名称、测试结果、测试数据、测试图像等,进而生成测试用例。
S650、执行测试用例得到测试结果和测试报告。
在本申请实施例中,执行测试用例得到测试结果和测试报告。在AutomationDesk中启动测试执行,并在测试结束后,查看测试结果和测试报告,测试报告包括每个测试用例的执行状态,如通过、失败、跳过等,以及每个测试用例的执行时间、执行次数、执行错误等;而测试报告可以包含不同的测试信息,例如测试概况、测试步骤、测试数据、测试评估等,以及测试数据的图形表示、测试结果的评估标准、测试结果的统计分析等。
S660、获取整车控制器的内部变量,与诊断测试结果进行对比,以查看诊断测试结果是否正确。
为了验证诊断服务的回复数据是否与整车控制器的内部变量一致,整车控制器的内部变量是指其存储的物理值,例如电池电压的实际值。诊断服务的回复数据存储mapping变量中,如整车控制器通过诊断协议返回的16进制数据,例如电池电压的16进制表示,为了进行比较,需要使用mapping变量将诊断数据转换为物理值,或者将内部变量转换为16进制数据。比较的结果需要考虑误差刻度线,即允许的误差范围,因为诊断数据和内部变量可能存在一定的偏差。
本申请实施例的测试方法,利用AutomationDesk诊断测试序列将不同类别的诊断生成测试用例,执行测试用例得到测试结果和测试报告,能够高效自动进行整车控制器的诊断测试,自动生成测试报告,重复性和工况复现性好,提高测试效率,且测试用例简单,测试结果直观,方法灵活高效,成本较低,对操作人员的要求不高。
在此介绍本申请的装置实施例,可以用于执行本申请上述实施例中的整车控制器诊断测试方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的整车控制器诊断测试方法的实施例。
图8是本申请的一示例性实施例示出的整车控制器诊断测试装置的框图。该装置可以应用于图8所示的实施环境,并具体配置在车辆中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
如图8所示,该示例性的整车控制器诊断测试装置包括:
获取模块810,用于获取整车控制器诊断需求文件中的服务类别,并获取与所述服务类别对应的数据标识;
生成模块820,用于根据所述数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;
生成模块820,还用于根据所述服务类别、所述数据标识和所述映射变量生成诊断服务的测试模板;
测试模块830,用于将所述测试模板导入所述预设测试程序的测试序列中生成测试用例,并执行所述测试用例得到针对所述整车控制器的诊断测试结果。
在本申请所提供的其中一个实施例中,装置还包括验证模块,用于根据所述测试结果,将所述关键参数对应的测试数值存储在所述映射变量中得到目标映射变量;获取所述整车控制器的与所述诊断服务相关的内部变量,将所述内部变量与所述目标映射变量进行对比;根据对比结果对所述诊断测试结果的正确性进行验证。
根据本申请实施例的一个方面,所述关键参数包括测试数值与物理值的转化关系;上述验证模块具体用于根据所述整车控制器的接口协议,查找与诊断服务相关的内部变量;根据所述转化关系将所述目标映射变量转化为物理值,并将转化后的目标映射变量与所述内部变量进行对比。
根据本申请实施例的一个方面,上述验证模块具体用于若所述对比结果表征所述内部变量与所述目标映射变量的差值大于预设误差值,则查看所述诊断测试结果对应的测试报告;根据所述测试报告调整所述整车控制器的参数或所述测试用例,并重新执行所述测试用例,直至重新执行的所述测试用例的验证通过。
根据本申请实施例的一个方面,上述生成模块820具体用于根据所述服务类别,选择与所述服务类别相匹配的初始测试模板;根据所述诊断需求文件的诊断需求定制针对所述服务类别的测试步骤;将所述服务类别、所述数据标识和所述映射变量作为测试元素,并所述测试步骤和所述测试元素填充至所述初始测试模板得到所述诊断服务的测试模板。
根据本申请实施例的一个方面,上述生成模块820具体用于在所述预设测试程序的测试序列中设置测试执行参数,所述测试执行参数包括循环次数和执行条件中的至少一种;将所述测试模板导入到所述预设测试程序的测试序列中生成至少一个测试用例,并为每个测试用例分配描述和唯一的测试标识。
根据本申请实施例的一个方面,上述装置还包括调整模块,该调整模块具体用于模拟运行所述测试用例,检测在所述测试用例运行过程中是否存在错误信息;若存在错误信息,则根据所述错误信息调整所述测试用例,直到调整后的测试用例正常执行。
需要说明的是,上述实施例所提供的整车控制器诊断测试装置与上述实施例所提供的整车控制器诊断测试方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
上述实施例所提供的整车控制器诊断测试装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的整车控制器诊断测试方法。
图9示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制,其中,电子设备可配置于车辆中。
如图9所示,计算机系统900包括中央处理单元(Central Processing Unit,CPU)901,其可以根据存储在只读存储器(Read-Only Memory,ROM)902中的程序或者从储存部分908加载到随机访问存储器(Random Access Memory,RAM)903中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的储存部分908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入储存部分908。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的整车控制器诊断测试方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的整车控制器诊断测试方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种整车控制器诊断测试方法,其特征在于,包括:
获取整车控制器诊断需求文件中的服务类别,并获取与所述服务类别对应的数据标识;
根据所述数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;
根据所述服务类别、所述数据标识和所述映射变量生成诊断服务的测试模板;
将所述测试模板导入所述预设测试程序的测试序列中生成测试用例,并执行所述测试用例得到针对所述整车控制器的诊断测试结果。
2.根据权利要求1所述的方法,其特征在于,所述执行所述测试用例得到针对所述整车控制器的诊断测试结果之后,所述方法还包括:
根据所述测试结果,将所述关键参数对应的测试数值存储在所述映射变量中得到目标映射变量;
获取所述整车控制器的与所述诊断服务相关的内部变量,将所述内部变量与所述目标映射变量进行对比;
根据对比结果对所述诊断测试结果的正确性进行验证。
3.根据权利要求2所述的方法,其特征在于,所述关键参数包括测试数值与物理值的转化关系;所述获取所述整车控制器的与所述诊断服务相关的内部变量,将所述内部变量与所述目标映射变量进行对比,包括:
根据所述整车控制器的接口协议,查找与诊断服务相关的内部变量;
根据所述转化关系将所述目标映射变量转化为物理值,并将转化后的目标映射变量与所述内部变量进行对比。
4.根据权利要求2所述的方法,其特征在于,所述根据所述对比结果对所述诊断测试结果的正确性进行验证,包括:
若所述对比结果表征所述内部变量与所述目标映射变量的差值大于预设误差值,则查看所述诊断测试结果对应的测试报告;
根据所述测试报告调整所述整车控制器的参数或所述测试用例,并重新执行所述测试用例,直至重新执行的所述测试用例的验证通过。
5.根据权利要求1所述的方法,其特征在于,所述根据所述服务类别、所述数据标识和所述映射变量生成诊断服务的测试模板;包括:
根据所述服务类别,选择与所述服务类别相匹配的初始测试模板;
根据所述诊断需求文件的诊断需求定制针对所述服务类别的测试步骤;
将所述服务类别、所述数据标识和所述映射变量作为测试元素,并所述测试步骤和测试元素填充至所述初始测试模板得到所述诊断服务的测试模板。
6.根据权利要求1所述的方法,其特征在于,所述将所述测试模板导入所述预设测试程序的测试序列中生成测试用例,包括:
在所述预设测试程序的测试序列中设置测试执行参数,所述测试执行参数包括循环次数和执行条件中的至少一种;
将所述测试模板导入到所述预设测试程序的测试序列中生成至少一个测试用例,并为每个测试用例分配描述和唯一的测试标识。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述将所述测试模板导入所述预设测试程序的测试序列中生成测试用例之后,所述方法还包括:
模拟运行所述测试用例,检测在所述测试用例运行过程中是否存在错误信息;
若存在错误信息,则根据所述错误信息调整所述测试用例,直到调整后的测试用例正常执行。
8.一种整车控制器诊断测试装置,其特征在于,包括:
获取模块,用于获取整车控制器诊断需求文件中的服务类别,并获取与所述服务类别对应的数据标识;
生成模块,用于根据所述数据标识的关键参数在预设测试程序中生成对应数据类型的映射变量;
生成模块,还用于根据所述服务类别、所述数据标识和所述映射变量生成诊断服务的测试模板;
测试模块,用于将所述测试模板导入所述预设测试程序的测试序列中生成测试用例,并执行所述测试用例得到针对所述整车控制器的诊断测试结果。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使得所述电子设备执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311862802.9A CN117950391A (zh) | 2023-12-29 | 2023-12-29 | 整车控制器诊断测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311862802.9A CN117950391A (zh) | 2023-12-29 | 2023-12-29 | 整车控制器诊断测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117950391A true CN117950391A (zh) | 2024-04-30 |
Family
ID=90797078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311862802.9A Pending CN117950391A (zh) | 2023-12-29 | 2023-12-29 | 整车控制器诊断测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117950391A (zh) |
-
2023
- 2023-12-29 CN CN202311862802.9A patent/CN117950391A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108563214B (zh) | 车辆诊断方法、装置及设备 | |
CN107992409A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN110888414B (zh) | 一种车辆控制器升级的测试方法 | |
CN111506358B (zh) | 更新容器配置的方法及装置 | |
CN112181854A (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN113572658A (zh) | 车辆控制信号的测试方法、装置、电子设备及存储介质 | |
CN110928556A (zh) | 轨道车辆用程序自动烧录方法及装置、测试方法及系统 | |
CN113608518A (zh) | 数据生成方法、装置、终端设备及介质 | |
CN117009243A (zh) | 芯片性能自动化测试方法、装置、计算机设备及存储介质 | |
CN113225232B (zh) | 硬件测试方法、装置、计算机设备及存储介质 | |
CN109032956A (zh) | 一种接口测试方法及装置 | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN117950391A (zh) | 整车控制器诊断测试方法、装置、设备及存储介质 | |
CN114064489A (zh) | 一种自动化测试方法、装置、设备及可读存储介质 | |
CN113094251B (zh) | 嵌入式系统测试方法、装置、计算机设备和存储介质 | |
CN114116522A (zh) | 一种基于swagger进行接口自动测试的方法 | |
CN109960238B (zh) | 一种车辆诊断仪自动化测试系统和方法 | |
CN113787977A (zh) | 车辆维修方法、通信设备及存储介质 | |
CN113434405A (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
CN111752823A (zh) | 一种车载电源应用软件的测试方法、装置及设备 | |
CN114116466B (zh) | 一种基于操作日志的单元测试方法、装置及介质 | |
CN114756217B (zh) | 基于插件的脚本生成系统 | |
CN117148018B (zh) | 用于配电模组的功能测试系统和方法 | |
CN117193798A (zh) | 应用部署方法、装置、设备、可读存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |