CN114443503A - 测试用例的生成方法、装置、计算机设备、存储介质 - Google Patents

测试用例的生成方法、装置、计算机设备、存储介质 Download PDF

Info

Publication number
CN114443503A
CN114443503A CN202210163701.1A CN202210163701A CN114443503A CN 114443503 A CN114443503 A CN 114443503A CN 202210163701 A CN202210163701 A CN 202210163701A CN 114443503 A CN114443503 A CN 114443503A
Authority
CN
China
Prior art keywords
test case
test
modular
result
code
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
CN202210163701.1A
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.)
FAW Jiefang Automotive Co Ltd
Original Assignee
FAW Jiefang Automotive 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 FAW Jiefang Automotive Co Ltd filed Critical FAW Jiefang Automotive Co Ltd
Priority to CN202210163701.1A priority Critical patent/CN114443503A/zh
Publication of CN114443503A publication Critical patent/CN114443503A/zh
Pending legal-status Critical Current

Links

Images

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/3684Test management for test design, e.g. generating new test cases
    • 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

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)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本申请涉及一种测试用例的生成方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:通过获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,模块化代码用于执行诊断指令。基于诊断协议从多个模块化代码中确定目标模块化代码,并基于目标模块化代码生成初始测试用例。获取与初始测试用例对应的校验规则,并通过校验规则对初始测试用例进行有效校验,得到初始测试用例的有效校验结果。基于校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和校正后的测试用例,用于对车辆控制器的诊断通信功能进行验证。这样,大大提高了测试用例生成的准确性。

Description

测试用例的生成方法、装置、计算机设备、存储介质
技术领域
本申请涉及车辆测试技术领域,特别是涉及一种测试用例的生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着车辆测试技术的发展,常常通过测试用例对车辆控制器的诊断通信功能进行完善,从而,通过完善后的控制器查找整车发生故障的原因。
传统技术中,结合VECTOR工具,根据主机厂自定义规范,编写测试数据库的CDD(CANdelaStudio,诊断说明)文件,然后再将该CDD文件加载至CANDiva软件,生成测试用例。
然而,在生成测试用例的过程中较多的生成步骤,难以确保各个步骤准确执行,从而无法确保生成测试用例的准确性,即存在对测试用例生成的准确性低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种测试用例的生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种测试用例的生成方法。所述方法包括:
获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令;
基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例;
获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果;
基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
第二方面,本申请还提供了一种测试用例的生成装置。所述装置包括:
获取模块,用于获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令;
生成模块,用于基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例;
校验模块,用于获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果;
校正模块,用于基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令;
基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例;
获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果;
基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令;
基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例;
获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果;
基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令;
基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例;
获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果;
基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
上述测试用例的生成方法、装置、计算机设备、存储介质和计算机程序产品,通过获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,该模块化代码用于执行诊断指令。基于该诊断协议从多个模块化代码中确定目标模块化代码,并基于该目标模块化代码能够快速生成初始测试用例,大大简化了测试用例的生成步骤,降低了生成过程出错的概率。获取与该初始测试用例对应的校验规则,并通过该校验规则对该初始测试用例进行有效校验,得到该初始测试用例的有效校验结果,从而,能够及时且准确的反映出初始测试用例的有效性,提高了生成测试用例的可信度。基于该校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和该校正后的测试用例,用于对该车辆控制器的诊断通信功能进行验证。这样,通过校验规则能够实现对有效校验不通过的测试用例的精准且高效的校正,确保了校验质量,从而,大大提高了测试用例生成的准确性。
附图说明
图1为一个实施例中测试用例的生成方法的应用环境图;
图2为一个实施例中测试用例的生成方法的流程示意图;
图3为一个实施例中确定有效校验结果步骤的流程示意图;
图4为一个实施例中确定错误原因步骤的流程示意图;
图5为另一个实施例中测试用例的生成方法的流程示意图;
图6为另一个实施例中测试用例的生成方法的流程示意图;
图7为一个实施例中测试用例的生成装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的测试用例的生成方法,可以应用于如图1所示的应用环境中。其中,车辆控制器102与计算机设备104进行通信。数据存储系统可以存储计算机设备104需要处理的数据。数据存储系统可以集成在计算机设备104上,也可以放在云上或其他网络服务器上。计算机设备104获取经车辆控制器102发送的诊断协议,并获取多个模块化代码;其中,该模块化代码用于执行诊断指令。计算机设备104基于该诊断协议从多个模块化代码中确定目标模块化代码,并基于该目标模块化代码生成初始测试用例。计算机设备104获取与该初始测试用例对应的校验规则,并通过该校验规则对该初始测试用例进行有效校验,得到该初始测试用例的有效校验结果。计算机设备104基于该校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和该校正后的测试用例,用于对该车辆控制器102的诊断通信功能进行验证。其中,车辆控制器可以是包含有交通工具的控制器,计算机设备可以是终端或服务器。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备,物联网设备可为智能电视、智能车载设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种测试用例的生成方法,以该方法应用于图1中的计算机设备104为例进行说明,包括以下步骤:
步骤S202,获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,该模块化代码用于执行诊断指令。
其中,诊断协议为主机厂自定义诊断协议,该模块化代码是将诊断指令在代码中实现模块化,以实现每个模块独立开发,不相互嵌套。
具体地,计算机设备导入主机厂自定义诊断协议、以及导入多个模块化代码。例如,计算机设备将主机厂自定义诊断协议内容按照excel(电子表格)模板(或其他可导入的文件)导入,并且导入多个模块化代码。其中,该主机厂自定义诊断协议包含有:波特率、诊断ID(Identity document,身份标识号)、传输层时间、超时时间、物理寻址下支持的服务、功能寻址下支持的服务、支持服务的格式、支持的故障码、数据流是否可读、数据流是否可写、数据流的格式、数据流的字节长度、数据流的范围等信息。其中,该模块化代码举例,如表1所示:
表1模块化代码示例
Figure BDA0003515088380000051
Figure BDA0003515088380000061
步骤S204,基于该诊断协议从多个模块化代码中确定目标模块化代码,并基于该目标模块化代码生成初始测试用例。
具体地,计算机设备基于该诊断协议从多个模块化代码中多组模块化代码集合,其中该模块化代码集合中包含有多于一个的目标模块化代码。计算机设备基于各组模块化代码集合,确定与各组模块化代码分别对应的目标模块化代码,并基于目标模块化代码生成初始测试用例。
例如,计算机设备基于ISO 14229和ISO15765的UDS诊断协议,生成多组模块化代码。其中,各组诊断协议分别对应不同的诊断指令。计算机设备基于各组模块化代码集合,确定与各组模块化代码分别对应的目标模块化代码,并基于目标模块化代码生成初始测试用例。
需要说明的是,该初始测试用例可以是正向初始测试用例、也可以是反向初始测试用例。该测试用例主要涉及如下方面:格式相关的测试、测试相关的数据内容、测试ECU(Electronic Control Unit,电子控制单元)行为的合理性的测试、与ECU状态/会话相关的所有测试、通用ECU特性的测试、功能请求的测试、传输协议测试等。比如,对于格式相关测试的格式测试用例,根据协议,车辆控制器支持默认模式转换服务,期待肯定响应(即正向格式测试用例);现发送过长的默认模式转换服务指令,期待控制器给出否定响应(即反向格式测试用例),具体如下表2为例:
表2格式测试用例示例
Figure BDA0003515088380000062
Figure BDA0003515088380000071
步骤S206,获取与该初始测试用例对应的校验规则,并通过该校验规则对该初始测试用例进行有效校验,得到该初始测试用例的有效校验结果。
其中,校验规则用于对测试用例进行校验和校正,该校验规则中包含有与测用例对应的模块规则和序号规则。该校验规则可以根据诊断规范和ISO14229诊断协议确定。
具体地,计算机设备获取与该初始测试用例对应的校验规则,并通过该校验规则中的模块规则和序号规则,分别对该初始测试用例进行代码匹配和顺序匹配,得到代码匹配结果和顺序匹配结果。计算机设备基于该代码匹配结果和顺序匹配结果得到该初始测试用例的有效校验结果。
步骤S208,基于该校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和该校正后的测试用例,用于对该车辆控制器的诊断通信功能进行验证。
具体地,若该初始测试用例的有效校验结果为不通过,则计算机设备基于该校验规则,对该有效校验不通过的初始测试用例进行代码校正和顺序校正,得到校正后的测试用例。计算机设备获取有效校验通过的初始测试用例,并基于有效校验通过的初始测试用例和该校正后的测试用例,对车辆控制器的诊断通信功能进行验证。
需要说明的是,基于校验规则能够实现对初始测试用例进行全面且准确的校验和校正,能够确保校正后的初始测试用例的准确性。
上述测试用例的生成方法中,通过获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,该模块化代码用于执行诊断指令。基于该诊断协议从多个模块化代码中确定目标模块化代码,并基于该目标模块化代码能够快速生成初始测试用例,大大简化了测试用例的生成步骤,降低了生成过程出错的概率。获取与该初始测试用例对应的校验规则,并通过该校验规则对该初始测试用例进行有效校验,得到该初始测试用例的有效校验结果,从而,能够及时且准确的反映出初始测试用例的有效性,提高了生成测试用例的可信度。基于该校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和该校正后的测试用例,用于对该车辆控制器的诊断通信功能进行验证。这样,通过校验规则能够实现对有效校验不通过的测试用例的精准且高效的校正,确保了校验质量,从而,大大提高了测试用例生成的准确性。
在一个实施例中,如图3所示,该目标模块化代码的数量为多于一个,该初始测试用例由该目标模块化代码组合构成,该通过该校验规则对该初始测试用例进行有效校验,得到该初始测试用例的有效校验结果,包括:
步骤S302,基于该校验规则,确定与初始测试用例对应的多个预设模块化代码、以及各个该预设模块化代码的预设序号。
具体地,计算机设备获取与该初始测试用例对应的校验规则,并基于该校验规则,确定模块规则和序号规则。计算机设备基于该模块规则,确定与初始测试用例对应的多个预设模块化代码,并基于该序号规则,确定各个该预设模块化代码的预设序号。例如,结合表1,对于初始测试用例为写服务指令的测试用例,则该模块规则为写服务指令需执行的预设模块化代码分别为A、B、C、E。该序号规则中预设序号分别为1、2、3、4。该,写服务指令的测试用例可以表征为A-B-C-E。其中,该数字越小则预设序号排名最前,其中,可以用数字、字符等表现形式表征序号在顺序中的位置,表现形式具体不作限定。又比如,对于初始测试为读服务指令的测试用例,则预设模块化代码分别为A、D,预设序号分别为1、2,即表征为A-D。又比如,对初始测试用例为关闭控制器通信报文的测试用例,则预设模块化代码分别为A、B、F,预设序号分别为1、2、3,即表征为A-B-F。
步骤S304,确定构成该初始测试用例的各个目标模块化代码、以及各个目标模块化代码的实际序号。
具体地,计算机设备获取该初始测试用例,确定构成该初始测试用例的各个目标模块化代码,并确定各个目标模块化代码的实际序号。
步骤S306,将各个预设模块化代码与各个目标模块化代码进行匹配,得到代码匹配结果,并将各个预设模块化的预设序号与各个初始模块化的实际序号进行匹配,得到顺序匹配结果。
具体地,计算机设备将各个预设模块化代码和各个目标模块化代码进行代码匹配,得到代码匹配结果。其中,若存在至少一个目标模块化代码与多个预设模块化代码均不匹配、或存在至少一个目标模块代码缺失、或存在至少一个目标模块代码新增,则确定代码匹配结果为不通过,若目标模块化代码不存在缺失、且不存在新增、且各个目标模块化代码与各个预设模块化代码一一匹配,则确定代码匹配结果为通过。计算机设备将各个预设模块化代码的预设序号与各个初始模块化代码的实际序号进行匹配,得到顺序匹配结果。若存在至少一个实际序号与多个预设序号均不匹配,则确定顺序匹配结果为不通过,若各个目标模块化代码的实际序号与各个预设模块化代码的预设序号一一匹配,则确定顺序匹配结果为通过。
比如,结合表1,对于初始测试用例为写服务指令的测试用例,则该模块规则为写服务指令需执行的预设模块化代码分别为A、B、C、E。该序号规则中预设模块化代码A、B、C、E。预设序号分别为1、2、3、4。若初始测试用例的目标模块化代码为A、C、E,实际序号分别为1、2、3。对于代码匹配,该目标模块化代码中缺失模块化代码B,即,存在一个目标模块化代码缺失则代码匹配结果为不通过。对于顺序匹配,预设序号为模块化代码A最前、模块化代码B位于模块化代码A之后且位于模块化代码C之前、模块化代码C位于模块化代码B之后且位于模块化代码E之前(即,表明模块化代码C也位于模块化代码A之后且位于模块化代码E之前)、模块化代码E排在最后,实际序号中满足模块化代码A最前、模块化代码C位于模块化代码A之后且位于模块化代码E之前、模块化代码E排在最后,则确定顺序匹配结果为通过。
需要说明的是,序号表征模块化代码的排列位置,排列序号。
步骤S308,基于该代码匹配结果和该顺序匹配结果,确定该初始测试用例的有效校验结果。
具体地,计算机设备获取代码匹配结果和顺序匹配结果,若代码匹配结果和顺序匹配结果中存在至少一种结果为不通过,则计算机设备确定初始测试用例的有效校验结果为不通过。若代码匹配结果为通过且顺序匹配结果为通过,则计算机设备确定该初始测试用例的有效校验结果为通过。
例如,若结合表1,对于初始测试用例为写服务指令的测试用例,则该模块规则为写服务指令需执行的预设模块化代码分别为A、B、C、E。该序号规则中预设模块化代码A、B、C、E。预设序号分别为1、2、3、4。若初始测试用例的目标模块化代码为A、B、C、E,实际序号分别为1、2、3、4,即初始测试用例表征为A-B-C-E,则该代码匹配结果为通过,顺序匹配结果为通过,则确定该写服务指令的测试用例的有效校验结果为通过。
或者,对于初始测试用例为写服务指令的测试用例,则该模块规则为写服务指令需执行的预设模块化代码分别为A、B、C、E。该序号规则中预设模块化代码A、B、C、E。预设序号分别为1、2、3、4。若初始测试用例的目标模块化代码为A、C、E,实际序号分别为1、2、3。则该代码匹配结果为不通过,顺序匹配结果为通过,则确定该写服务指令的测试用例的有效校验结果为不通过。
在本实施例中,通过校验规则确定与初始测试用例对应的预设模块化代码和各个预设模块化代码的预设序号。基于该预设模块化代码和预设序号,通过代码匹配和顺序匹配两个维度的匹配,共同确定初始测试用例的有效校验结果,确保了有效校验的有效性,并且,大大提高了初始测试用例的有效校验结果的准确性。
在一个实施例中,该基于该校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例,包括:基于该校验规则中的多个预设模块化代码,对有效校验不通过的初始测试用例中的各个目标模块化代码进行代码校正,得到代码校正后的目标模块化代码。基于该校验规则中的各个预设模块化代码的预设序号,对代码校正后的目标模块化代码进行顺序校正,得到顺序校正后的目标模块化代码。基于该顺序校正后的目标模块化代码,确定校正后的测试用例。
具体地,计算机设备基于该校验规则中的多个预设模块化代码,对有效校验不通过的初始测试用例中的各个目标模块化代码进行代码校正,得到与预设模块化代码数量一致、且与预设模块化代码一致的各个代码校正后的目标模块化代码。计算机设备获取各个代码校正后的目标模块化代码,并基于该校验规则中的各个预设模块化代码的预设序号,对模块化校正后的目标模块化代码的序号进行顺序校正,得到顺序校正后的目标模块化代码。计算机设备基于各个该顺序校正后的目标模块化代码,构建校正后的测试用例。
例如,结合表1,对于初始测试用例为写服务指令的测试用例。该测试用例为正向测试用例,即在写入时,期待肯定响应。其中,该模块规则为写服务指令需执行的预设模块化代码分别为A、B、C、E。该序号规则中预设模块化代码A、B、C、E。预设序号分别为1、2、3、4。若初始测试用例的目标模块化代码为A、C、E,实际序号分别为1、2、3。该初始测试用例存在逻辑错误,即有效校验不通过。计算机设备新增模块化代码B,得到代码校正后的目标模块化代码,即A、B、C、E。计算机设备根据预设序号,对模块化校正后的目标模块化代码的序号进行顺序校正,得到顺序校正后的目标模块化代码A-B-C-E,即模块化代码A最前、模块化代码B位于模块化代码A之后且位于模块化代码C之前、模块化代码C位于模块化代码B之后且位于模块化代码E之前、模块化代码E排在最后。
在本实施例中,基于校验规则中的预设模块化代码和各个预设模块化代码的预设序号,能够对目标模块化代码进行代码校正和顺序校正两重校正,从而,能够对有效校验不通过的测试用例直接进行编辑修改,极大地提高了校正测试用例的便捷程度,同时也实现了对有效校验不通过的测试用例的精准校正,确保了校验质量,从而,大大提高了测试用例生成的准确性。
在一个实施例中,如图4所示,该方法还包括:
步骤S402,将有效校验通过的初始测试用例和该校正后的测试用例作为待处理的测试用例。
具体地,计算机设备获取该校正后的测试用例,并从用例库中获取有效校验通过的初始测试用例。计算机设备将该有效校验通过的初始测试用例和该校正后的测试用例作为待处理的测试用例。计算机设备基于该校正后的测试用例对用例库进行更新。该用例库中存储有生成的初始测试用例。
需要说明的是,校正后的测试用例满足有效校验,即校正后的测试用例能够通过有效校验。
步骤S404,获取与待处理的测试用例对应的测试结果;其中,该测试结果为汽车控制器对与该待处理的测试用例对应的测试条目进行测试得到的。
其中,测试条目与待处理的测试用例对应,该测试条目为在该待处理的测试用例下具体的测试项目。
具体地,计算机设备将与待处理的测试用例对应的测试条目发送至车辆控制器中,该车辆控制器对该测试条目进行测试,得到与待处理的测试用例对应的多个测试结果。其中,比如,待处理的测试用例为写服务指令的测试用例,该测试条目可以为写入速度、写入日期+里程、写入里程等。
需要说明的是,该测试结果为待处理的测试用例对车辆控制器的诊断通信功能进行验证而得到的。
步骤S406,若存在测试结果表征为结果错误,则将结果错误的测试结果作为待处理测试结果。
具体地,计算机设备获取与待处理的测试用例对应的多个测试结果,并判断是否存在测试结果表征为结果错误。若存在测试结果表征为结果错误,则计算机设备将结果错误的测试结果作为待处理测试结果。
例如,计算机设备基于ISO 14229、ISO15765的诊断协议,结合主机厂定义的参数,确定测试结果。其中,若测试结果表征为与期望响应一致,则测试结果为通过,若测试结果表征为与期望响应不一致,则测试结果为不通过,并基于ISO 14229、ISO15765的诊断协议确定错误原因。如表3所示,该表为测试用例为格式测试用例时的两个测试条目。
表3格式测试用例示例
Figure BDA0003515088380000121
步骤S408,确定与待处理测试结果对应的测试条目,并基于与该待处理测试结果对应的测试条目,通过诊断协议,确定与测试条目对应的该待处理测试结果的错误原因。
具体地,计算机设备确定与待处理测试结果对应的测试条目,基于该测试条目确定多个测试信息。计算机设备通过诊断协议,对与测试条目对应的多个测试信息进行比对,得到比对结果。计算机设备基于比对结果,确定与测试条码对应的待处理测试结果的错误原因。
在本实施例中,将有效校验通过的初始测试用例和该校正后的测试用例作为待处理的测试用例,从而,大大提升了对汽车控制器诊断结果的可信度。获取与待处理的测试用例对应的测试结果;其中,该测试结果为汽车控制器对与该待处理的测试用例对应的测试条目进行测试得到的,这样,基于合理且正确的待处理的测试用例得到的测试结果,能够准确且有效的反映对汽车控制器的诊断情况。若存在测试结果表征为结果错误,则将结果错误的测试结果作为待处理测试结果。确定与待处理测试结果对应的测试条目,并基于与该待处理测试结果对应的测试条目,通过诊断协议,确定与测试条目对应的该待处理测试结果的错误原因。这样,通过错误原因能够迅速且准确的掌握诊断情况,便于开发人员对出现的错误的问题进行整改。
在一个实施例中,该基于与该待处理测试结果对应的测试条目,通过诊断协议,确定与测试条目对应的该待处理测试结果的错误原因,包括:对于每个测试条目,确定与相应测试条目对应的多个测试信息,并基于诊断协议,确定与各个测试信息分别对应的测试标准。对于每个测试条目,将每个测试信息与对应的测试标准进行比对,得到与测试条目对应的比对结果。从多个比对结果中确定不通过的比对结果,并基于该不通过的比对结果,确定与测试条目对应的该待处理测试结果的错误原因。
具体地,对于每个测试条目,计算机设备确定与相应测试条目对应的多个测试信息,并通过诊断协议,确定与各个测试信息分别对应的测试标准。对于每个测试条目,计算机设备将每个测试信息与与相应测试信息对应的测试标准进行比对,得到与测试条目对应的多个比对结果。计算机设备判断各个测试条目分别对应的比对结果,若与测试条目对应的多个比对结果存在至少一个比对结果为不通过,则基于不通过的比对结果,确定与测试条目对应的该待处理测试结果的错误原因。
比如,测试用例为写服务指令的反向测试用例,则存在3个测试条目,测试条目1为写入速度,测试条目2为写入在某个日期下的里程,测试条目3为写入里程。其中,3个测试条目表征形式可以为:测试条目1:在安全访问情况下,请求对DID XX XX写入数据FF FF(2EXX XX FF FF),期待得到否定响应请求超限NRC_31(7F 2E 31)。测试条目2:在安全访问情况下,请求对DID YY YY写入数据FF FF(2E YY YY FF FF),期待得到否定响应请求超限NRC_31(7F 2E31)。测试条目3:在安全访问情况下,请求对DID ZZ ZZ写入数据FF FF(2EZZZZ FF FF),期待得到否定响应请求超限NRC_31(7F 2E 31)。其中,DID(DataIdentifier数据标识符)表征有类别,类别可以为速度、里程等。计算机设备得到与各个测试条目对应的测试结果为结果错误,即实际均得到肯定响应,与期待不符。计算机设备基于测试条目,确定各个测试条目在具体类别下分别对应的测试信息,即属性、数据范围、计数方式等,具体不作限定。该属性为数据是否可读。计算机设备基于该诊断协议,确定测试条目1在类别为速度时的属性测试标准、数据范围测试标准、计数方式测试标准,并确定测试条目2在类别为日期和里程的组合时的属性测试标准、数据范围测试标准、计数方式测试标准,并确定测试条目3在类别为里程时的属性测试标准、数据范围测试标准、计数方式测试标准。对于测试条目1,测试信息为数据范围的比对结果不通过,即该写入的速度(FF FF)数据超过数据范围测试标准,则与测试条目1对应的待处理测试结果的错误原因为超过数据范围。对于测试条目2,测试信息为计数方式的比对结果不通过,即,该测试条目只支持十进制数据(BCD),而实际写入的数据为十六进制数据(HEX),则与测试条目2对应的待处理测试结果的错误原因为计数方式错误。对于测试条目3,测试信息为数据范围的比对结果不通过,即写入的数据超过数据范围测试标准,则与测试条目3对应的待处理测试结果的错误原因为超过数据范围。
在本实施例中,基于各个测试条目分别对应的测试信息,通过诊断协议确定的与各测试信息分别对应的测试标准,从而能够得到可信度高的比对结果。基于与测试条目对应的多个比对结果,能够精准且快速的查询出与测试条目对应的待处理测试结果的错误原因,从而,能够及时掌握在该待处理的测试用例下各个测试条目是否出现错误以及准确确定错误原因,以便于开发人员对出现的错误的问题进行整改。
在一个实施例中,该方法还包括:通过与测试条目对应的该待处理测试结果的错误原因,判断是否存在相同的错误原因。若存在,则基于该相同的错误原因,生成与该相同的错误原因对应的标签,并基于该标签,对与该测试条目对应的测试用例进行优化。
具体地,计算机设备获取与测试条目对应的该待处理测试结果的错误原因,其中,该待处理测试结果为汽车控制器对与待处理的测试用例对应的测试条目进行测试、且测试结果表征为结果错误的测试结果。计算机设备判断是否存在相同的错误原因。若存在,则计算机设备将相同的错误原因归为一类,且生成与相同原因对应的错误标签。计算机设备将不相同的错误原因分别归为不同类。计算机设备基于该标签,对与该测试条目对应的测试用例(即对应为待处理的测试用例)进行优化,得到优化后的测试用例,并通过该优化后的测试用例对用例库进行更新。
比如,测试用例为写服务指令的反向测试用例,则存在3个测试条目,其中,测试条目1:在安全访问情况下,请求对DID XX XX写入数据FF FF(2E XX XX FF FF),期待得到否定响应请求超限NRC_31(7F 2E 31)。测试条目2:在安全访问情况下,请求对DID YY YY写入数据FF FF(2E YY YY FF FF),期待得到否定响应请求超限NRC_31(7F 2E 31)。测试条目3:在安全访问情况下,请求对DID ZZ ZZ写入数据FF FF(2E ZZ ZZ FF FF),期待得到否定响应请求超限NRC_31(7F 2E 31)。虽然,三条测试条目均是期待得到的否定相应NRC_31,实际均得到肯定响应,与期待不符。但是,与测试条目1对应的待处理测试结果的错误原因为超过数据范围。与测试条目2对应的待处理测试结果的错误原因为计数方式错误。与测试条目3对应的待处理测试结果的错误原因为超过数据范围。计算机设备确定将测试条目1和测试条目3对应的错误原因归为一类,即写入数据超限,并生成写入数据超限的标签,该标签中包含有测试项目所属的待处理的测试用例。
在本实施例中,通过与测试条目对应的该待处理测试结果的错误原因,判断是否存在相同的错误原因。这样,能够细致分析导致待处理测试结果错误的原因。若存在,则基于该相同的错误原因,生成与该相同的错误原因对应的标签,并基于该标签,对与该测试条目对应的测试用例进行优化,确保了对车辆控制器的诊断通信功能验证的可靠性。
在一个实施例中,如图5所示,工作人员将包含有诊断协议的开发文件导入计算机设备中的专家系统。计算机设备的专家系统基于该开发文件从多个模块化代码中确定目标模块化代码,并基于目标模块化代码生成初始测试用例(即对应图中的生成用例),并将该初始测试用例发送至车辆控制器进行测试,生成待确定的测试结果,并对测试结果进行测试数据分析,得到初始的测试数据分析结果。计算机设备的专家系统获取与该初始测试用例对应的校验规则,并通过该校验规则中的模块规则和序号规则,分别对该初始测试用例进行代码匹配和顺序匹配,得到代码匹配结果和顺序匹配结果。计算机设备的专家系统基于该代码匹配结果和顺序匹配结果,得到该初始测试用例的有效校验结果。若该初始测试用例的有效校验结果为不通过,则计算机设备的专家系统基于该校验规则,对该有效校验不通过的初始测试用例进行代码校正和顺序校正,得到校正后的测试用例(即对应图中的测试用例合理化)。计算机设备的专家系统基于校正后的测试用例和有效校验的测试用例进行自学习过程,具体地,将有效校验通过的初始测试用例,并从多个待确定的测试结果中确定与有效校验通过的初始测试用例对应的第一测试结果。计算机设备的专家系统获取校正后的测试用例对车辆控制器的测试结果,作为第二测试结果。计算机设备的专家系统通过第一测试结果和第二测试结果,更新测试数据分析的分析结果,并基于分析结果出具报告。计算机设备的专家系统从第一测试结果和第二测试结果中错误的测试结果,并将错误的测试结果作为待处理测试结果。计算机设备的专家系统确定与待处理测试结果对应的测试条目,并基于与该待处理测试结果对应的测试条目,通过诊断协议,确定与测试条目对应的所述待处理测试结果的错误原因,并判断是否存在相同的错误原因,若存在,则计算机设备的专家系统将该相同的错误原因进行归类(对应图中的测试问题归类),并基于相同的错误原因,生成与该相同的错误原因对应的标签,并基于该标签,对与该测试条目对应的测试用例进行优化。
在本实施例中,通过获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,该模块化代码用于执行诊断指令。基于该诊断协议从多个模块化代码中确定目标模块化代码,并基于该目标模块化代码能够快速生成初始测试用例,大大简化了测试用例的生成步骤,降低了生成过程出错的概率。获取与该初始测试用例对应的校验规则,并通过该校验规则对该初始测试用例进行有效校验,得到该初始测试用例的有效校验结果,从而,能够及时且准确的反映出初始测试用例的有效性,提高了生成测试用例的可信度。基于该校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和该校正后的测试用例,用于对该车辆控制器的诊断通信功能进行验证。这样,通过校验规则能够实现对有效校验不通过的测试用例的精准且高效的校正,确保了校验质量,从而,大大提高了测试用例生成的准确性。
为了便于更加清楚的了解本申请的技术方案,提供了一个更为详细实施例进行描述,如图6所示,计算机设备的专家系统导入主机厂自定义诊断协议、以及导入多个模块化代码,并基于该诊断协议从多个模块化代码中多组模块化代码集合,其中,该模块化代码集合中包含有多于一个的目标模块化代码。计算机设备的专家系统基于各组模块化代码集合,确定与各组模块化代码分别对应的目标模块化代码。计算机设备的专家系统基于目标模块化代码,生成初始测试用例,并基于初始测试用例生成用例库。测试人员搭建测试硬件环境。计算机设备的专家系统通过与初始测试用例对应的测试条目对车辆控制器进行测试(即执行测试),生成待确定的测试结果,并对测试结果进行测试数据分析,得到初始的测试数据分析结果。需要说明的是,部分车辆控制器会出现数据标识符支持写入,但写入的数据范围有特殊限制,即不能在专家系统导入诊断协议时生成对应的测试用例,则专家系统支持可编辑的结果分析策略,用于特定的策略分析。比如,对表示车辆控制器当前时间的数据标识符进行写入,只能写入比出厂日期晚的时间,否则会回复否定相应,请求超限,该数据标识符的特定策略一般写在诊断协议的备注中,判断标准不易通过专家系统生成。
计算机设备的专家系统获取与该初始测试用例对应的校验规则,并基于该校验规则,确定模块规则和序号规则。计算机设备的专家系统基于该模块规则,确定与初始测试用例对应的多个预设模块化代码,并基于该序号规则,确定各个该预设模块化代码的预设序号。计算机设备的专家系统确定构成该初始测试用例的各个目标模块化代码,并确定各个目标模块化代码的实际序号。计算机设备的专家系统将各个预设模块化代码和各个目标模块化代码进行代码匹配,得到代码匹配结果。其中,若存在至少一个目标模块化代码与多个预设模块化代码均不匹配、或存在至少一个目标模块代码缺失、或存在至少一个目标模块代码新增,则确定代码匹配结果为不通过,若目标模块化代码不存在缺失、且不存在新增、且各个目标模块化代码与各个预设模块化代码一一匹配,则确定代码匹配结果为通过。计算机设备的专家系统将各个预设模块化代码的预设序号与各个初始模块化代码的实际序号进行匹配,得到顺序匹配结果。若存在至少一个实际序号与多个预设序号均不匹配,则确定顺序匹配结果为不通过,若各个目标模块化代码的实际序号与各个预设模块化代码的预设序号一一匹配,则确定顺序匹配结果为通过。若代码匹配结果和顺序匹配结果中存在至少一种结果为不通过,则计算机设备的专家系统确定初始测试用例的有效校验结果为不通过。若代码匹配结果为通过且顺序匹配结果为通过,则计算机设备的专家系统确定该初始测试用例的有效校验结果为通过。
若该初始测试用例的有效校验结果为通过,则计算机设备的专家系统从多个待确定的测试结果中,确定与有效校验通过的初始测试用例对应的第一测试结果,即经过与有效校验通过的初始测试用例对应的测试条目测试得到的第一测试结果,并将结果错误的第一测试结果作为待处理的测试结果。计算机设备的专家系统将该有效校验通过的初始测试用例作为待处理测试用例。对于每个测试条目,确定与相应测试条目对应的多个测试信息,并基于诊断协议,确定与各个测试信息分别对应的测试标准。对于每个测试条目,将每个测试信息与对应的测试标准进行比对,得到与测试条目对应的比对结果。从多个比对结果中确定不通过的比对结果,并基于该不通过的比对结果,确定与测试条目对应的该待处理测试结果的错误原因。计算机设备的专家系统询问其他类似错误是否可归类,若不可归类相关错误原因,则直接将不可归类的错误原因报告(即对应报告不可归类相关问题),若可归类,则报告可归类的错误原因(相关问题),并基于该相同的错误原因,生成与该相同的错误原因对应的标签,并基于该标签,对与该测试条目对应的测试用例进行优化,以完善测试用例库,更新专家系统。此外,该计算机设备专家系统整理诊断测试出现的错误原因(即整理诊断测试问题),反馈测试的问题,以使得设计人员整改问题。
若该初始测试用例的有效校验结果为不通过,则计算机设备的专家系统记录不通过的初始测试用例(即对应图中记录用例不合理)。计算机设备的专家系统基于该校验规则中的多个预设模块化代码,对有效校验不通过的初始测试用例中的各个目标模块化代码进行代码校正,得到与预设模块化代码数量一致、且与预设模块化代码一致的各个代码校正后的目标模块化代码。计算机设备的专家系统获取各个代码校正后的目标模块化代码,并基于该校验规则中的各个预设模块化代码的预设序号,对模块化校正后的目标模块化代码的序号进行顺序校正,得到顺序校正后的目标模块化代码。计算机设备的专家系统基于各个该顺序校正后的目标模块化代码,构建校正后的测试用例。计算机设备的专家系统将校正后的测试用例导入测试用例库进行完善,并更新专家系统。计算机设备的专家系统通过该校正后的测试用例,对车辆控制器的诊断通信功能进行测试,生成第二测试结果,并确定结果错误的第二测试结果,将该结果错误的第二测试结果作为待处理的测试结果,且将该校正后的测试用例也作为待处理测试用例,返回对于每个测试条目,确定与相应测试条目对应的多个测试信息步骤继续执行。
在本实施例中,通过获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,该模块化代码用于执行诊断指令。基于该诊断协议从多个模块化代码中确定目标模块化代码,并基于该目标模块化代码能够快速生成初始测试用例,大大简化了测试用例的生成步骤,降低了生成过程出错的概率。获取与该初始测试用例对应的校验规则,并通过该校验规则对该初始测试用例进行有效校验,得到该初始测试用例的有效校验结果,从而,能够及时且准确的反映出初始测试用例的有效性,提高了生成测试用例的可信度。基于该校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和该校正后的测试用例,用于对该车辆控制器的诊断通信功能进行验证。这样,通过校验规则能够实现对有效校验不通过的测试用例的精准且高效的校正,确保了校验质量,从而,大大提高了测试用例生成的准确性。此外,通过将诊断指令模块化,能够自定义编辑测试用例,方便复验,便于修改测试用例。与此同时,可针对不同控制器策略分析其结果,定制测试用例,可自学习定制用例作为模板。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的测试用例的生成方法的测试用例的生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试用例的生成装置实施例中的具体限定可以参见上文中对于测试用例的生成方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种测试用例的生成装置,包括:获取模块702、生成模块704、校验模块706和校正模块708,其中:
获取模块702,用于获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令。
生成模块704,用于基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例。
校验模块706,用于获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果。
校正模块708,用于基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
在一个实施例中,该校验模块706,用于基于该校验规则,确定与初始测试用例对应的多个预设模块化代码、以及各个该预设模块化代码的预设序号。确定构成该初始测试用例的各个目标模块化代码、以及各个目标模块化代码的实际序号。将各个预设模块化代码与各个目标模块化代码进行匹配,得到代码匹配结果,并将各个预设模块化的预设序号与各个初始模块化的实际序号进行匹配,得到顺序匹配结果。基于该代码匹配结果和该顺序匹配结果,确定该初始测试用例的有效校验结果。
在一个实施例中,该校正模块708,用于基于所述校验规则中的多个预设模块化代码,对该有效校验不通过的初始测试用例中的各个目标模块化代码进行代码校正,得到代码校正后的目标模块化代码。基于该校验规则中的各个预设模块化代码的预设序号,对代码校正后的目标模块化代码进行顺序校正,得到顺序校正后的目标模块化代码。基于所述顺序校正后的目标模块化代码,确定校正后的测试用例。
在一个实施例中,该校正模块708,还用于将有效校验通过的初始测试用例和该校正后的测试用例作为待处理的测试用例。获取与待处理的测试用例对应的测试结果;其中,该测试结果为汽车控制器对与该待处理的测试用例对应的测试条目进行测试得到的。若存在测试结果表征为结果错误,则将结果错误的测试结果作为待处理测试结果。确定与待处理测试结果对应的测试条目,并基于与该待处理测试结果对应的测试条目,通过诊断协议,确定与测试条目对应的该待处理测试结果的错误原因。
在一个实施例中,该校正模块708,还用于对于每个测试条目,确定与相应测试条目对应的多个测试信息,并基于诊断协议,确定与各个测试信息分别对应的测试标准。对于每个测试条目,将每个测试信息与对应的测试标准进行比对,得到与测试条目对应的比对结果。从多个比对结果中确定不通过的比对结果,并基于该不通过的比对结果,确定与测试条目对应的该待处理测试结果的错误原因。
在一个实施例中,该校正模块708,还用于通过与测试条目对应的该待处理测试结果的错误原因,判断是否存在相同的错误原因。若存在,则基于该相同的错误原因,生成与该相同的错误原因对应的标签,并基于该标签,对与该测试条目对应的测试用例进行优化。
上述测试用例的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试用例的生成数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试用例的生成方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种测试用例的生成方法,其特征在于,所述方法包括:
获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令;
基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例;
获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果;
基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
2.根据权利要求1所述的方法,其特征在于,所述目标模块化代码的数量为多于一个,所述初始测试用例由所述目标模块化代码组合构成,所述通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果,包括:
基于所述校验规则,确定与初始测试用例对应的多个预设模块化代码、以及各个所述预设模块化代码的预设序号;
确定构成所述初始测试用例的各个目标模块化代码、以及各个目标模块化代码的实际序号;
将各个预设模块化代码与各个目标模块化代码进行匹配,得到代码匹配结果,并将各个预设模块化的预设序号与各个初始模块化的实际序号进行匹配,得到顺序匹配结果;
基于所述代码匹配结果和所述顺序匹配结果,确定所述初始测试用例的有效校验结果。
3.根据权利要求2所述的方法,其特征在于,所述基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例,包括:
基于所述校验规则中的多个预设模块化代码,对有效校验不通过的初始测试用例中的各个目标模块化代码进行代码校正,得到代码校正后的目标模块化代码;
基于所述校验规则中的各个预设模块化代码的预设序号,对代码校正后的目标模块化代码进行顺序校正,得到顺序校正后的目标模块化代码;
基于所述顺序校正后的目标模块化代码,确定校正后的测试用例。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将有效校验通过的初始测试用例和所述校正后的测试用例作为待处理的测试用例;
获取与待处理的测试用例对应的测试结果;其中,所述测试结果为汽车控制器对与所述待处理的测试用例对应的测试条目进行测试得到的;
若存在测试结果表征为结果错误,则将结果错误的测试结果作为待处理测试结果;
确定与待处理测试结果对应的测试条目,并基于与所述待处理测试结果对应的测试条目,通过诊断协议,确定与测试条目对应的所述待处理测试结果的错误原因。
5.根据权利要求4所述的方法,其特征在于,所述基于与所述待处理测试结果对应的测试条目,通过诊断协议,确定与测试条目对应的所述待处理测试结果的错误原因,包括:
对于每个测试条目,确定与相应测试条目对应的多个测试信息,并基于诊断协议,确定与各个测试信息分别对应的测试标准;
对于每个测试条目,将每个测试信息与对应的测试标准进行比对,得到与测试条目对应的比对结果;
从多个比对结果中确定不通过的比对结果,并基于所述不通过的比对结果,确定与测试条目对应的所述待处理测试结果的错误原因。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过与测试条目对应的所述待处理测试结果的错误原因,判断是否存在相同的错误原因;
若存在,则基于所述相同的错误原因,生成与所述相同的错误原因对应的标签,并基于所述标签,对与所述测试条目对应的测试用例进行优化。
7.一种测试用例的生成装置,其特征在于,所述装置包括:
获取模块,用于获取经车辆控制器发送的诊断协议,并获取多个模块化代码;其中,所述模块化代码用于执行诊断指令;
生成模块,用于基于所述诊断协议从多个模块化代码中确定目标模块化代码,并基于所述目标模块化代码生成初始测试用例;
校验模块,用于获取与所述初始测试用例对应的校验规则,并通过所述校验规则对所述初始测试用例进行有效校验,得到所述初始测试用例的有效校验结果;
校正模块,用于基于所述校验规则,对有效校验不通过的初始测试用例进行校正,得到校正后的测试用例;其中,有效校验通过的初始测试用例和所述校正后的测试用例,用于对所述车辆控制器的诊断通信功能进行验证。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210163701.1A 2022-02-22 2022-02-22 测试用例的生成方法、装置、计算机设备、存储介质 Pending CN114443503A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210163701.1A CN114443503A (zh) 2022-02-22 2022-02-22 测试用例的生成方法、装置、计算机设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210163701.1A CN114443503A (zh) 2022-02-22 2022-02-22 测试用例的生成方法、装置、计算机设备、存储介质

Publications (1)

Publication Number Publication Date
CN114443503A true CN114443503A (zh) 2022-05-06

Family

ID=81372901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210163701.1A Pending CN114443503A (zh) 2022-02-22 2022-02-22 测试用例的生成方法、装置、计算机设备、存储介质

Country Status (1)

Country Link
CN (1) CN114443503A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968827A (zh) * 2022-08-01 2022-08-30 江铃汽车股份有限公司 车辆总线信号信息校验方法及系统
CN115467754A (zh) * 2022-09-06 2022-12-13 中国第一汽车股份有限公司 车辆及其发动机的控制方法和装置
CN117574869A (zh) * 2023-10-19 2024-02-20 镁佳(北京)科技有限公司 自动化生成诊断应用数据包的方法、装置、设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968827A (zh) * 2022-08-01 2022-08-30 江铃汽车股份有限公司 车辆总线信号信息校验方法及系统
CN115467754A (zh) * 2022-09-06 2022-12-13 中国第一汽车股份有限公司 车辆及其发动机的控制方法和装置
CN117574869A (zh) * 2023-10-19 2024-02-20 镁佳(北京)科技有限公司 自动化生成诊断应用数据包的方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN114443503A (zh) 测试用例的生成方法、装置、计算机设备、存储介质
CN109474578A (zh) 报文消息校验方法、装置、计算机设备和存储介质
CN109254969A (zh) 数据表处理方法、装置、设备及存储介质
WO2019019640A1 (zh) 订单信息的模拟处理方法、装置、存储介质和计算机设备
CN108460068A (zh) 报表导入导出的方法、装置、存储介质及终端
CN105868127A (zh) 一种数据存储、读取方法及装置
CN116974813B (zh) 寄存器数据管理方法、装置、寄存器模块、计算机设备
CN117493309A (zh) 一种标准模型生成方法、装置、设备及存储介质
CN110806979B (zh) 接口返回值的校验方法、装置、设备及存储介质
CN115827691A (zh) 批量处理结果验证方法、装置、计算机设备、存储介质
CN105989021A (zh) 一种文件处理方法和装置
CN117971649A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112035890B (zh) 一种数据完整性验证方法及装置
CN113360388B (zh) 对无人机地面站软件的测试过程进行一体化管理的方法
CN116863486A (zh) 金融凭证信息录入处理方法、装置、设备、介质和产品
CN113495831B (zh) 基于关键字生成测试用例的方法、系统、设备及介质
CN116846670A (zh) 网络安全配置策略的生成方法、装置和计算机设备
CN117278625A (zh) 报文转换方法、装置、计算机设备和存储介质
CN116880927A (zh) 规则管理方法、装置、计算机设备和存储介质
CN116089293A (zh) 软件测试方法、装置、设备和存储介质
CN116881164A (zh) 金融信息系统中测试数据的校验修正方法、装置和设备
CN118113622A (zh) 应用于批量作业排程的检测与修复方法、装置和设备
CN117453661A (zh) 资源配置方法、装置、计算机设备、存储介质
CN115629958A (zh) 一种针对不同业务接口的通用字段级自动校验方法和装置
CN117708151A (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