CN117271330A - 一种针对odx解释器的功能验证方法及*** - Google Patents

一种针对odx解释器的功能验证方法及*** Download PDF

Info

Publication number
CN117271330A
CN117271330A CN202311213076.8A CN202311213076A CN117271330A CN 117271330 A CN117271330 A CN 117271330A CN 202311213076 A CN202311213076 A CN 202311213076A CN 117271330 A CN117271330 A CN 117271330A
Authority
CN
China
Prior art keywords
odx
interpreter
result
test
data file
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.)
Granted
Application number
CN202311213076.8A
Other languages
English (en)
Other versions
CN117271330B (zh
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.)
Magna Wuhan Technology Co ltd
Original Assignee
Magna Wuhan Technology 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 Magna Wuhan Technology Co ltd filed Critical Magna Wuhan Technology Co ltd
Priority to CN202311213076.8A priority Critical patent/CN117271330B/zh
Publication of CN117271330A publication Critical patent/CN117271330A/zh
Application granted granted Critical
Publication of CN117271330B publication Critical patent/CN117271330B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及汽车诊断技术领域,具体涉及一种针对ODX解释器的功能验证方法及***,该方法包括:首先获取ODX诊断数据文件,并根据ODX协议标准定义,从获取到的ODX诊断数据文件中提取出测试预期结果;然后以该ODX诊断数据文件为输入,执行ODX解释器,得到执行结果;最后对该测试预期结果和该执行结果进行比较,得到该ODX解释器的验证结果。本申请基于ODX协议标准,以及其在汽车诊断***中的应用,提出了上述针对ODX解释器的功能验证方法,用于检验ODX解释器的功能正确性和完备性,从而提高ODX解释器的稳定性,进一步提升车辆诊断***的开发效率,降低综合开发成本。

Description

一种针对ODX解释器的功能验证方法及***
技术领域
本申请涉及汽车诊断技术领域,具体涉及一种针对ODX解释器的功能验证方法及***。
背景技术
在汽车诊断领域,ODX(Open Diagnostic Data Exchange,开放式诊断数据交换格式)是用于描述汽车ECU(Electronic Control Unit,电子控制单元)诊断数据的ISO(International Organization for Standardization,国际标准化组织)标准协议,且被广泛用于汽车诊断领域。
ODX主要用于描述和ECU诊断相关的通信参数、诊断数据、编程数据、车型信息等内容,其主要描述形式为XML(Extensible Markup Language,可扩展标记语言)格式,一个ODX对象通过一个XML节点进行描述,一系列的ODX对象形成一个XML文件,称为ODX诊断数据文件。现阶段,对于支持ODX协议的汽车诊断***都需要对ODX诊断数据文件进行解析,即实现一个ODX解析器,其先需要从ODX诊断数据文件中提取用于汽车ECU诊断相关的通信参数、诊断数据、编程数据、车型信息等内容,然后根据提取到的ODX诊断数据内容完成实际的ECU诊断功能,然而在这个过程中可能会出现以下错误场景:(1)ODX解释器功能实现不正确,导致提取的汽车ECU诊断数据错误,从而导致对汽车ECU的诊断操作失败;(2)ODX解释器功能实现不完备,由于各个汽车ECU的诊断数据文件会有差异,因此可能会出现ODX解释器能完成对ECU_1的诊断测试,但在对ECU_2进行诊断测试时出现错误。
在上述方案中,当上述错误场景出现时,通常需要反复的分析和确认ODX解释器提取诊断数据异常的原因,这会降低对车辆诊断***的开发效率,增加综合开发成本。
发明内容
有鉴于此,本申请实施例提供了一种针对ODX解释器的功能验证方法及***,可以验证ODX解释器功能的正确性和完备性,从而提高ODX解释器的稳定性,进一步提升车辆诊断***的开发效率,降低综合开发成本。
第一方面,本申请提供了一种针对ODX解释器的功能验证方法,所述方法包括:
获取ODX诊断数据文件;
根据ODX协议标准定义,从所述ODX诊断数据文件中提取出测试预期结果;
根据所述ODX诊断数据文件,执行ODX解释器并输出执行结果;
对所述测试预期结果和所述执行结果进行比较,并输出所述ODX解释器的验证结果。
根据上述技术手段,本申请基于ODX协议标准,以及其在汽车诊断***中的应用,提出了一种针对ODX解释器的功能验证方法,用于检验ODX解释器的正确性和完备性,从而提高ODX解释器的稳定性,进一步提升车辆诊断***的开发效率,降低综合开发成本。
结合第一方面,在一种实施方式中,所述ODX诊断数据文件包含车厂所开发车型的汽车电控单元诊断数据,且所述汽车电控单元诊断数据的内容格式符合ODX协议标准定义。
根据上述技术手段,ODX诊断数据文件由车厂提供,用于实现汽车诊断。
结合第一方面,在一种实施方式中,逐行读取所述ODX诊断数据文件,并识别各个ODX对象类型;
从所述ODX诊断数据文件中提取所述各个ODX对象类型分别对应的测试预期结果;
根据ODX对象类型,将所述各个ODX对象类型分别对应的所述测试预期结果存储至预期结果存储库。
根据上述技术手段,本申请所提取的测试预期结果,用于验证ODX解释器输出的执行结果是否正确,该测试预期结果的内容从ODX诊断数据文件中提取,且这些内容都来自ODX的标准定义,并不需要自行构造或特殊处理。
结合第一方面,在一种实施方式中,根据ODX对象类型,将所述各个ODX对象类型分别对应的所述测试预期结果以ODX对象为粒度、以键值对的结构存储至所述预期结果存储库。
根据上述技术手段,本申请将各个ODX对象类型对应的测试预期结果存储至预期结果存储库,以便后续在对测试预期结果和执行结果进行比较时,提取出对应的测试预期结果。
结合第一方面,在一种实施方式中,所述ODX解释器遵循MVCI标准协议,并实现MVCI定义的标准ODX解析接口。
根据上述技术手段,ODX解释器需遵循MVCI(Modular Vehicle CommunicationInterface,模块化车辆通信接口)标准协议,MVCI标准化了ODX诊断数据文件的解析接口,本申请主要针对ODX解释器,对其进行功能验证,假设该ODX解释器遵循了MVCI标准协议,即实现了MVCI定义的标准ODX解析接口。
结合第一方面,在一种实施方式中,选择所述ODX解释器的目标测试项;
根据所述目标测试项,从所述ODX诊断数据文件中选择出目标测试对象;
通过所述目标测试对象,调用MVCI对应接口执行所述ODX解释器,并输出执行结果。
结合第一方面,在一种实施方式中,从所述预期结果存储库中查询所述目标测试对象对应的测试预期结果;
将查询到的所述测试预期结果与所述目标测试对象对应的所述执行结果进行匹配,若匹配成功,则所述ODX解释器执行正确;
若匹配失败,则所述ODX解释器执行错误,并输出详细错误信息。
根据上述技术手段,本申请对测试预期结果和执行结果进行比较,若匹配成功,则表示ODX解释器执行正确;若匹配失败,则表示ODX解释执行错误,并输出详细错误信息,以此验证ODX解释器功能的正确性和完备性。
第二方面,本申请提供了一种针对ODX解释器的功能验证***,所述***用于实现如上所述的一种针对ODX解释器的功能验证方法,所述***包括:ODX诊断数据文件模块、预期结果提取模块、ODX解释器执行模块以及ODX解释器验证模块;所述ODX诊断数据文件模块分别连接至所述预期结果提取模块的输入端以及所述ODX解释器执行模块的输入端,所述预期结果提取模块的输出端以及所述ODX解释器执行模块的输出端分别连接至所述ODX解释器验证模块的输入端;
所述ODX诊断数据文件模块,用于获取ODX诊断数据文件;
所述预期结果提取模块,用于根据ODX协议标准定义,从所述ODX诊断数据文件中提取出测试预期结果;
所述ODX解释器执行模块,用于根据输入至所述ODX解释器执行模块的所述ODX诊断数据文件,执行ODX解释器并输出执行结果;
所述ODX解释器验证模块,用于对输入至所述ODX解释器验证模块的所述测试预期结果以及所述执行结果进行比较,并输出所述ODX解释器的验证结果。
第三方面,本申请提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的一种针对ODX解释器的功能验证方法。
第四方面,本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的一种针对ODX解释器的功能验证方法。
本申请提供的技术方案可以包括以下有益效果:
本申请首先获取ODX诊断数据文件,并根据ODX协议标准定义,从该ODX诊断数据文件中提取出测试预期结果;再根据该ODX诊断数据文件,执行ODX解释器并输出执行结果;最后对该测试预期结果和该执行结果进行比较,并输出该ODX解释器的验证结果。本申请基于ODX协议标准,以及其在汽车诊断***中的应用,提出了上述针对ODX解释器的功能验证方法,用于检验ODX解释器功能的正确性和完备性,从而提高ODX解释器的稳定性,进一步提升车辆诊断***的开发效率,降低综合开发成本。
此外,对于要新开发一套ODX解释器***场景,本申请可以在ODX解释器***开发过程中对所开发功能进行功能测试,提升ODX解释器***的开发效率;对于已有一套开发完成的ODX解释器场景,本申请能对其展开详细的***测试,提升其功能正确性和完备性;对于车厂诊断***开发场景,开发阶段中需要频繁变更所开发车型ECU的诊断数据,本申请也能在ECU诊断数据变更后对ODX解释器进行功能测试,极早的发现隐藏的问题,提升车厂诊断***开发效率,可见,本申请所提供的方案应用灵活,有较高的可靠性。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种针对ODX解释器的功能验证***的结构示意图。
图2是根据一示例性实施例示出的一种针对ODX解释器的功能验证方法的流程图。
图3是根据一示例性实施例示出的一种针对ODX解释器的功能验证方法的流程图。
图4是根据一示例性实施例示出的测试预期结果的提取流程示意图。
图5是根据一示例性实施例示出的ODX解释器的执行结果获取流程示意图。
图6是根据一示例性实施例示出的ODX解释器的验证结果获取流程示意图。
图7示出了本申请一示例性实施例示出的计算机设备的结构框图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是根据一示例性实施例示出的一种针对ODX解释器的功能验证***的结构示意图。该***用于实现如下所述的一种针对ODX解释器的功能验证方法,该***包括:ODX诊断数据文件模块、预期结果提取模块、ODX解释器执行模块以及ODX解释器验证模块;该ODX诊断数据文件模块分别连接至该预期结果提取模块的输入端以及该ODX解释器执行模块的输入端,该预期结果提取模块的输出端以及该ODX解释器执行模块的输出端分别连接至该ODX解释器验证模块的输入端;
该ODX诊断数据文件模块,用于获取ODX诊断数据文件;
该预期结果提取模块,用于根据ODX协议标准定义,从该ODX诊断数据文件中提取出测试预期结果;
该ODX解释器执行模块,用于根据输入至该ODX解释器执行模块的该ODX诊断数据文件,执行ODX解释器并输出执行结果;
该ODX解释器验证模块,用于对输入至该ODX解释器验证模块的该测试预期结果以及该执行结果进行比较,并输出该ODX解释器的验证结果。
进一步的,本申请主要基于ODX协议标准,以及其在汽车诊断***中的应用所提出的方案,主要分为四个模块:ODX诊断数据文件模块、预期结果提取模块、ODX解释器执行模块、ODX解释器验证模块,各模块协同工作。
进一步的,如图1所示,各模块协同工作流程为:预期结果提取模块首先从ODX诊断数据文件中提取出测试预期结果,记为TestExpect(测试预期);其次将ODX诊断数据文件作为ODX解释器执行模块的输入,执行ODX解释器并输出执行结果,记为TestResult(测试结果);最后将TestExpect和TestResult共同输入到ODX解释器验证模块,输出验证结果。
进一步的,该ODX诊断数据文件由车厂提供,其包含所开发车型的各ECU诊断相关的数据,且其内容格式符合ODX协议标准定义。
进一步的,预期结果提取模块是ODX解释器验证模块的先验知识库,所提取的测试预期结果作为ODX解释器验证模块的输入,用于验证ODX解释器执行模块输出的执行结果是否正确。该测试预期结果内容从ODX诊断数据文件中提取,且这些内容都来自ODX的标准定义,并不需要自行构造或特殊处理,对于不同类型的ODX对象可根据需求提取不同的内容作为预期结果,对于结构类似或相同的ODX对象可提取为相同的预期结果。
进一步的,本申请的预期结果提取模块只需要对车厂提供的ODX诊断数据文件进行一遍逐行读取后就能提取所需的测试预期结果,所提取的全部测试预期结果内容以ODX对象为粒度存储为key-value(键值对)的结构,其中key为ODX对象的SHORT-NAME(短名称),value为所提取的测试预期结果内容,其格式为JSON格式,JSON(JavaScript ObjectNotation,JS对象简谱)是一种轻量级的数据交换格式。
进一步的,通用的ODX解释器都应该遵循MVCI(Modular Vehicle CommunicationInterface,模块化车辆通信接口)标准协议,MVCI标准化了ODX诊断数据文件的解析接口,本申请主要针对已有的ODX解释器,对其进行功能验证,假设所述已有的ODX解释器遵循了MVCI标准协议,即实现了MVCI定义的标准ODX解析接口。
进一步的,本申请的ODX解释器验证模块首先从预期结果存储库(该预期结果存储库用于存储所有的测试预期结果)中查找目标测试对象对应的测试预期结果;然后将查询到的测试预期结果与ODX解释器执行模块的输出结果进行匹配,若匹配成功,则表示ODX解释器执行正确;若匹配失败,则表示ODX解释执行错误,并输出错误详细信息,以此验证ODX解释器功能的正确性和完备性。
综上所述,本申请首先获取ODX诊断数据文件,并根据ODX协议标准定义,从该ODX诊断数据文件中提取出测试预期结果;再根据该ODX诊断数据文件,执行ODX解释器并输出执行结果;最后对该测试预期结果和该执行结果进行比较,并输出该ODX解释器的验证结果。本申请基于ODX协议标准,以及其在汽车诊断***中的应用,提出了上述针对ODX解释器的功能验证方法,其用于检验ODX解释器功能的正确性和完备性,从而提高ODX解释器的稳定性,进一步提升车辆诊断***的开发效率,降低综合开发成本。
此外,对于要新开发一套ODX解释器***场景,本申请可以在ODX解释器***开发过程中对所开发功能进行功能测试,提升ODX解释器***的开发效率;对于已有一套开发完成的ODX解释器场景,本申请能对其展开详细的***测试,提升其功能正确性和完备性;对于车厂诊断***开发场景,开发阶段中需要频繁变更所开发车型ECU的诊断数据,本申请也能在ECU诊断数据变更后对ODX解释器进行功能测试,极早的发现隐藏的问题,提升车厂诊断***开发效率,可见,本申请所提供的方案应用灵活,有较高的可靠性。
图2是根据一示例性实施例示出的一种针对ODX解释器的功能验证方法的流程图。该方法应用于如图1所示的一种针对ODX解释器的功能验证***中。如图2所示,该方法可以包括如下步骤:
步骤S201、获取ODX诊断数据文件。
在一种可能的实施方式中,OTX:Open Test Sequence eXchange,是基于XML语言实现的开放测试序列交换格式,专门为汽车行业指定的序列开发标准,在车辆诊断等领域具有广泛的应用;该ODX诊断数据文件为一系列的ODX对象形成的一个XML文件,用于实现汽车诊断,在本申请提供的针对ODX解释器的功能验证***中,ODX诊断数据文件存储于ODX诊断数据文件模块,由车厂提供,其包含车厂所开发车型的各ECU诊断相关的数据(汽车电控单元诊断数据),且其内容格式符合ODX协议标准。
步骤S202、根据ODX协议标准定义,从该ODX诊断数据文件中提取出测试预期结果。
在一种可能的实施方式中,由于ODX诊断数据文件的内容格式符合ODX协议标准,因此可以根据ODX协议标准定义,从该ODX诊断数据文件中提取出测试预期结果,由于测试预期结果的内容从ODX诊断数据文件中提取,且这些内容都来自ODX的协议标准定义,因此并不需要自行构造或特殊处理;在提取测试预期结果时,可根据ODX对象类型进行提取,并在提取完成后,根据ODX对象类型将提取到的测试预期结果存储至预期结果存储库,因此,本申请的预期结果存储库可存储所有需要的各个ODX对象类型对应的测试预期结果,以该预期结果存储库中的测试预期结果为验证标准,对ODX解释器的执行结果进行验证;
在本申请提供的针对ODX解释器的功能验证***中,由预期结果提取模块实现从该ODX诊断数据文件中提取出测试预期结果,ODX诊断数据文件为预期结果提取模块的输入,而测试预期结果则为预期结果提取模块的输出。
步骤S203、根据该ODX诊断数据文件,执行ODX解释器并输出执行结果。
在一种可能的实施方式中,在预期结果存储库中存储了所需要的各个ODX对象类型对应的测试预期结果后,即该预期结果存储库中包含了ODX解释器的各个执行结果所对应的验证标准;此时可根据该ODX诊断数据文件中选出的测试对象,执行ODX解释器,并输出该测试对象对应的执行结果,该预期结果存储库中的各个测试预期结果与各个测试对象的执行结果一一对应;
在本申请提供的针对ODX解释器的功能验证***中,由ODX解释器执行模块实现根据该ODX诊断数据文件,执行ODX解释器并输出执行结果,ODX诊断数据文件为ODX解释器执行模块的输入,而执行结果则为ODX解释器执行模块的输出。
步骤S204、对该测试预期结果和该执行结果进行比较,并输出该ODX解释器的验证结果。
在一种可能的实施方式中,由于预期结果存储库中的各个测试预期结果与各个测试对象的执行结果一一对应,因此,在对ODX解释器的执行结果进行验证时,可根据测试对象的SHORT-NAME从该预期结果存储库中查询到该测试对象的测试预期结果,以该测试对象的测试预期结果和执行结果进行比较,可以得到该ODX解释器的验证结果;
在本申请提供的针对ODX解释器的功能验证***中,由ODX解释器验证模块实现对该测试预期结果和该执行结果进行比较,并输出该ODX解释器的验证结果,测试预期结果和执行结果共同为ODX解释器验证模块的输入,而验证结果则为ODX解释器验证模块的输出。
综上所述,本申请首先获取ODX诊断数据文件,并根据ODX协议标准定义,从该ODX诊断数据文件中提取出测试预期结果;再根据该ODX诊断数据文件,执行ODX解释器并输出执行结果;最后对该测试预期结果和该执行结果进行比较,并输出该ODX解释器的验证结果。本申请基于ODX协议标准,以及其在汽车诊断***中的应用,提出了上述针对ODX解释器的功能验证方法,用于检验ODX解释器功能的正确性和完备性,从而提高ODX解释器的稳定性,进一步提升车辆诊断***的开发效率,降低综合开发成本。
此外,对于要新开发一套ODX解释器***场景,本申请可以在ODX解释器***开发过程中对所开发功能进行功能测试,提升ODX解释器***的开发效率;对于已有一套开发完成的ODX解释器场景,本申请能对其展开详细的***测试,提升其功能正确性和完备性;对于车厂诊断***开发场景,开发阶段中需要频繁变更所开发车型ECU的诊断数据,本申请也能在ECU诊断数据变更后对ODX解释器进行功能测试,极早的发现隐藏的问题,提升车厂诊断***开发效率,可见,本申请所提供的方案应用灵活,有较高的可靠性。
图3是根据一示例性实施例示出的一种针对ODX解释器的功能验证方法的流程图。该方法应用于如图1所示的一种针对ODX解释器的功能验证***中。如图3所示,该方法可以包括如下步骤:
步骤S301、获取ODX诊断数据文件。
在一种可能的实施方式中,该ODX诊断数据文件包含车厂所开发车型的汽车电控单元诊断数据,且该汽车电控单元诊断数据的内容格式符合ODX协议标准定义。
步骤S302、逐行读取该ODX诊断数据文件,并识别各个ODX对象类型。
步骤S303、从该ODX诊断数据文件中提取该各个ODX对象类型分别对应的测试预期结果。
步骤S304、根据ODX对象类型,将该各个ODX对象类型分别对应的该测试预期结果存储至预期结果存储库。
在一种可能的实施方式中,根据ODX对象类型,将该各个ODX对象类型分别对应的该测试预期结果以ODX对象为粒度、以键值对的结构存储至该预期结果存储库。
进一步的,由于测试预期结果都来自ODX的标准定义,并不需要自行构造或特殊处理,因此,对于不同类型的ODX对象可根据需求提取不同的内容作为预期结果,对于结构类似或相同的ODX对象可提取为相同的预期结果。针对部分ODX对象,本实施例举例列出部分测试预期结果如下:
(1)DIAG-SERVICE对象提取的预期结果如下:
REQUEST对象:即本DIAG-SERVICE对象包含的REQUEST对象,用REQUEST对象的ID属性表示;
POS-RESPONSES对象:即本DIAG-SERVICE对象包含的POS-RESPONSE集合,用POS-RESPONSE对象的ID属性表示;
NEG-RESPONSES对象:即本DIAG-SERVICE对象包含的NEG-RESPONSE集合,用NEG-RESPONSE对象的ID属性表示;
(2)REQUEST对象提取的预期结果如下:
PARAMS对象:即本REQUEST对象包含的多个PARAM对象;
(3)POS-RESPONSE对象提取的预期结果如下:
PARAMS对象:即本POS-RESPONSE对象包含的多个PARAM对象;
(4)NEG-RESPONSE对象提取的预期结果如下:
PARAMS对象:即本NEG-RESPONSE对象包含的多个PARAM对象;
(5)PARAM对象提取的预期结果如下:
BYTE-POSITION对象:即本PARAM对象在当前PDU(Protocol Data Unit,协议数据单元,对应ODX中的一个消息结构主体,比如REQUEST对象、POS-RESPONSE对象等)中的绝对起始位置,以字节为单位;
BIT-POSTION对象:即本PARAM对象在当前PDU中,在第BYTE-POSITION个字节中的BIT起始位置,以BIT为单位,范围为0~7;
BIT-LENGTH对象:即本PARAM对象在当前PDU中占用的BIT长度;
CONST-VALUE对象:即本PARAM对象在ODX中定义的常量值;
(6)DATA-OBJECT-PROP对象提取的预期结果如下:
BIT-LENGTH对象:即本DOP描述的数据所占用的BIT长度;
(7)STRUCTURE对象提取的预期结果如下:
BYTE-SIZE对象:即本STRUCTURE对象描述的数据所占用的BYTE长度;
PARAMS对象:即本STRUCTURE对象包含的多个PARAM对象;
上述示例列出了根据部分ODX对象提取的不同预期结果内容,其所提取的内容都是ODX协议标准定义的内容,测试预期结果的提取流程如图4所示,假设车厂提供的ODX诊断数据文件符合ODX协议标准,则本实施例所述预期结果提取模块只需要对车厂提供的ODX诊断数据文件进行一遍逐行读取后就能提取所需的预期结果,所提取的全部预期结果内容以ODX对象为粒度存储为key-value(键值对)的结构,其中key为ODX对象的SHORT-NAME(短名称),value为所提取的预期结果内容,其格式为JSON格式。
步骤S305、选择该ODX解释器的目标测试项。
在一种可能的实施方式中,该ODX解释器遵循MVCI标准协议,并实现MVCI定义的标准ODX解析接口。
步骤S306、根据该目标测试项,从该ODX诊断数据文件中选择出目标测试对象。
步骤S307、通过该目标测试对象,调用MVCI对应接口执行该ODX解释器,并输出执行结果。
进一步的,首先,执行该ODX解释器前,需要选择一个测试项,比如:测试ODX解释器对SHORT-NAME(短名称)名为TEST_SERVICE的DIAG-SERVICE对象所包含的RESPONSE对象的解释正确性;其次,从车厂提供的ODX诊断数据文件中找到SHORT-NAME名为TEST_SERVICE的DIAG-SERVICE对象;接着,通过TEST_SERVICE对象调用MVCI getDbResponses()接口从车厂提供的ODX诊断数据文件获取TEST_SERVICE对象所包含的全部RESPONSE集合,包括POS-RESPONSE和NEG-RESPONSE,作为ODX解释器执行输出。ODX解释器的执行结果获取流程如图5所示。
步骤S308、对该测试预期结果和该执行结果进行比较,并输出该ODX解释器的验证结果。
在一种可能的实施方式中,ODX解释器的验证结果获取流程如图6所示,从该预期结果存储库中查询该目标测试对象对应的测试预期结果;
将查询到的该测试预期结果与该目标测试对象对应的该执行结果进行匹配,若匹配成功,则该ODX解释器执行正确;
若匹配失败,则该ODX解释器执行错误,并输出详细错误信息,以此验证ODX解释器功能的正确性和完备性。
以下通过简单示例对上述实施例公开的内容进行解释:
若对ODX诊断数据文件中一个DIAG-SERVICE对象的解析结果进行验证,其验证步骤如下:
(1)、车厂提供的ODX诊断数据文件中存在一个SHORT-NAME名为TEST_SERVICE的DIAG-SERVICE对象,其ODX定义如下:
(2)、预期结果提取模块提取到的TEST_SERVICE测试预期结果为:
(3)、ODX解释器执行模块输出结果及ODX解释器验证模块验证结果如下:
/>
可见,本实施例提出对ODX解释器进行***测试的方法,用于验证ODX解释器功能的正确性和完备性;可在静态环境下进行ODX解释器测试,而不需要通过实际的ECU诊断环境验证ODX解释器的功能正确性,提高诊断测试效率。
综上所述,本申请首先获取ODX诊断数据文件,并根据ODX协议标准定义,从该ODX诊断数据文件中提取出测试预期结果;再根据该ODX诊断数据文件,执行ODX解释器并输出执行结果;最后对该测试预期结果和该执行结果进行比较,并输出该ODX解释器的验证结果。本申请基于ODX协议标准,以及其在汽车诊断***中的应用,提出了上述针对ODX解释器的功能验证方法,用于检验ODX解释器功能的正确性和完备性,从而提高ODX解释器的稳定性,进一步提升车辆诊断***的开发效率,降低综合开发成本。
此外,对于要新开发一套ODX解释器***场景,本申请可以在ODX解释器***开发过程中对所开发功能进行功能测试,提升ODX解释器***的开发效率;对于已有一套开发完成的ODX解释器场景,本申请能对其展开详细的***测试,提升其功能正确性和完备性;对于车厂诊断***开发场景,开发阶段中需要频繁变更所开发车型ECU的诊断数据,本申请也能在ECU诊断数据变更后对ODX解释器进行功能测试,极早的发现隐藏的问题,提升车厂诊断***开发效率,可见,本申请所提供的方案应用灵活,有较高的可靠性。
请参阅图7,其是根据本申请一示例性实施例提供的一种计算机设备示意图,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的一种针对ODX解释器的功能验证方法。
其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种针对ODX解释器的功能验证方法,其特征在于,所述方法包括:
获取ODX诊断数据文件;
根据ODX协议标准定义,从所述ODX诊断数据文件中提取出测试预期结果;
根据所述ODX诊断数据文件,执行ODX解释器并输出执行结果;
对所述测试预期结果和所述执行结果进行比较,并输出所述ODX解释器的验证结果。
2.根据权利要求1所述的方法,其特征在于,所述ODX诊断数据文件包含车厂所开发车型的汽车电控单元诊断数据,且所述汽车电控单元诊断数据的内容格式符合ODX协议标准定义。
3.根据权利要求1所述的方法,其特征在于,所述根据ODX协议标准定义,从所述ODX诊断数据文件中提取出所述测试预期结果,包括:
逐行读取所述ODX诊断数据文件,并识别各个ODX对象类型;
从所述ODX诊断数据文件中提取所述各个ODX对象类型分别对应的测试预期结果;
根据ODX对象类型,将所述各个ODX对象类型分别对应的所述测试预期结果存储至预期结果存储库。
4.根据权利要求3所述的方法,其特征在于,所述根据ODX对象类型,将所述各个ODX对象类型分别对应的所述测试预期结果存储至预期结果存储库,包括:
根据ODX对象类型,将所述各个ODX对象类型分别对应的所述测试预期结果以ODX对象为粒度、以键值对的结构存储至所述预期结果存储库。
5.根据权利要求1所述的方法,其特征在于,所述ODX解释器遵循MVCI标准协议,并实现MVCI定义的标准ODX解析接口。
6.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述ODX诊断数据文件,执行ODX解释器并输出执行结果,包括:
选择所述ODX解释器的目标测试项;
根据所述目标测试项,从所述ODX诊断数据文件中选择出对应的目标测试对象;
通过所述目标测试对象,调用MVCI对应接口执行所述ODX解释器,并输出执行结果。
7.根据权利要求6所述的方法,其特征在于,所述对所述测试预期结果和所述执行结果进行比较,并输出所述ODX解释器的验证结果,包括:
从预期结果存储库中查询所述目标测试对象对应的测试预期结果;
将查询到的所述测试预期结果与所述目标测试对象对应的所述执行结果进行匹配,若匹配成功,则所述ODX解释器执行正确;
若匹配失败,则所述ODX解释器执行错误,并输出详细错误信息。
8.一种针对ODX解释器的功能验证***,其特征在于,所述***用于实现如权利要求1至7任一所述的一种针对ODX解释器的功能验证方法,所述***包括:ODX诊断数据文件模块、预期结果提取模块、ODX解释器执行模块以及ODX解释器验证模块;所述ODX诊断数据文件模块分别连接至所述预期结果提取模块的输入端以及所述ODX解释器执行模块的输入端,所述预期结果提取模块的输出端以及所述ODX解释器执行模块的输出端分别连接至所述ODX解释器验证模块的输入端;
所述ODX诊断数据文件模块,用于获取ODX诊断数据文件;
所述预期结果提取模块,用于根据ODX协议标准定义,从所述ODX诊断数据文件中提取出测试预期结果;
所述ODX解释器执行模块,用于根据输入至所述ODX解释器执行模块的所述ODX诊断数据文件,执行ODX解释器并输出执行结果;
所述ODX解释器验证模块,用于对输入至所述ODX解释器验证模块的所述测试预期结果以及所述ODX解释器执行结果进行比较,并输出所述ODX解释器的验证结果。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至7任一所述的一种针对ODX解释器的功能验证方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至7任一所述的一种针对ODX解释器的功能验证方法。
CN202311213076.8A 2023-09-19 2023-09-19 一种针对odx解释器的功能验证方法及*** Active CN117271330B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311213076.8A CN117271330B (zh) 2023-09-19 2023-09-19 一种针对odx解释器的功能验证方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311213076.8A CN117271330B (zh) 2023-09-19 2023-09-19 一种针对odx解释器的功能验证方法及***

Publications (2)

Publication Number Publication Date
CN117271330A true CN117271330A (zh) 2023-12-22
CN117271330B CN117271330B (zh) 2024-07-19

Family

ID=89202035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311213076.8A Active CN117271330B (zh) 2023-09-19 2023-09-19 一种针对odx解释器的功能验证方法及***

Country Status (1)

Country Link
CN (1) CN117271330B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867352A (zh) * 2016-04-29 2016-08-17 深圳市元征科技股份有限公司 Odx诊断***
CN107491061A (zh) * 2017-08-31 2017-12-19 中国第汽车股份有限公司 一种商用车obd诊断设备的网络自动化测试***及其方法
CN112860563A (zh) * 2021-02-25 2021-05-28 东风柳州汽车有限公司 汽车诊断仪测试方法、装置、设备及存储介质
US20210241548A1 (en) * 2020-01-31 2021-08-05 Martin Raul Maurer Vehicle diagnostic testing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867352A (zh) * 2016-04-29 2016-08-17 深圳市元征科技股份有限公司 Odx诊断***
CN107491061A (zh) * 2017-08-31 2017-12-19 中国第汽车股份有限公司 一种商用车obd诊断设备的网络自动化测试***及其方法
US20210241548A1 (en) * 2020-01-31 2021-08-05 Martin Raul Maurer Vehicle diagnostic testing system
CN112860563A (zh) * 2021-02-25 2021-05-28 东风柳州汽车有限公司 汽车诊断仪测试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117271330B (zh) 2024-07-19

Similar Documents

Publication Publication Date Title
CN111428462B (zh) 通讯协议模板构建的方法及终端设备
CN110351325B (zh) 一种数据处理方法及相关设备
CN109658542B (zh) 诊断参数数据校验方法、装置、车辆诊断设备和存储介质
CN110990276A (zh) 接口字段自动化测试方法、装置和存储介质
CN111858376A (zh) 请求报文生成方法和接口测试方法
CN108804315B (zh) 应用于动态开发的测试方法、装置、电子设备及存储介质
CN114090671A (zh) 数据导入方法、装置、电子设备及存储介质
CN111258884B (zh) 一种用于自动生成接口准确性校验脚本的***
CN108664546B (zh) Xml数据结构转换方法和装置
CN111723019A (zh) 接口的调试方法及***
CN113761879A (zh) 报文格式校验方法、装置以及存储介质
CN115599359A (zh) 一种代码生成方法、装置、设备及介质
CN110806973A (zh) 一种接口报文的自动生成方法及装置
CN112395339B (zh) ***间数据准入校验方法、装置、计算机设备和存储介质
CN112463261B (zh) 接口调用方法、装置、电子设备、介质及产品
CN111078529B (zh) 客户端写入模块测试方法、装置、电子设备
CN112800194A (zh) 一种接口变更识别方法、装置、设备及存储介质
CN117271330B (zh) 一种针对odx解释器的功能验证方法及***
CN116996601A (zh) 报文格式的转换方法、装置、电子设备及存储介质
CN114429408B (zh) 智能变电站配置文件的校核方法、装置、设备和***
CN114896161A (zh) 基于人工智能的文件构造方法、装置、计算机设备及介质
CN110298018B (zh) 文本数据处理方法、装置、计算机设备及存储介质
CN113792017A (zh) 一种校验导入excel的模板内容的方法和***
CN114253828A (zh) 确定测试模板的方法、装置、计算设备和存储介质
CN117349188B (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