整车控制器的仿真测试方法、装置、系统及电子设备与流程

文档序号:17158560发布日期:2019-03-20 00:19阅读:203来源:国知局
整车控制器的仿真测试方法、装置、系统及电子设备与流程

本公开的实施例涉及通信技术领域,尤其涉及一种整车控制器的仿真测试方法、装置、系统及电子设备。



背景技术:

整车控制器(vehiclecontrolunit,vcu)是新能源汽车控制系统的核心部件,对汽车的正常行驶、安全性能、网络管理、故障诊断与处理等功能起着至关重要的作用。目前,通常是通过手写测试用例或是软件静态生成的测试用例来对整车控制器进行软件在环测试;手写测试用例效率较低,而软件静态生成的测试用例由于输入信号的状态值是固定的,可能产生大量的无效测试用例,影响了测试的有效性,也降低了测试效率。



技术实现要素:

本公开的实施例提供了一种整车控制器的仿真测试方法、装置、系统及电子设备,解决了现有的整车控制器的仿真测试方法中存在较多的无效测试用例,测试效率较低的问题。

第一方面,本公开的实施例提供了一种整车控制器的仿真测试方法,包括:

获取输入于仿真测试模型中的输入信号,并根据所述输入信号生成测试用例;所述输入信号包括至少一个信号取值区间,每一个所述信号取值区间对应有触发概率,同一个输入信号对应的各信号取值区间的触发概率之和为1;

执行所述测试用例,并输出测试结果。

在一些实施例中,所述获取输入于仿真测试模型中的输入信号,并根据所述输入信号生成测试用例的步骤,包括:

接收输入于仿真测试模型中的所有的输入信号,并确定所述仿真测试模型中的测试场景;

获取每一个所述输入信号的信号取值区间及所述信号取值区间对应的触发概率;

选择所述所有的输入信号中与所述测试场景对应的输入信号生成测试用例;生成所述测试用例的所述输入信号中各信号取值区间的出现概率与所述触发概率相对应。

在一些实施例中,所述仿真测试模型包括至少一个测试场景,所述至少一个测试场景覆盖所有的输入信号。

在一些实施例中,所述信号取值区间包括极限取值区间及中间取值区间,所述获取每一个所述输入信号的信号取值区间及所述信号取值区间对应的触发概率的步骤,包括:

获取每一个所述输入信号的极限取值区间及中间取值区间;

定义所述信号取值区间中的极限取值区间的触发概率小于中间取值区间的触发概率。

在一些实施例中,所述测试用例为第一测试用例,所述输入信号为第一输入信号;所述执行所述测试用例,并输出测试结果的步骤之后,还包括:

获取所述第一测试用例对应的第一测试结果;

在所述第一测试结果符合预设要求的情况下,将所述第一输入信号更改为第二输入信号,并生成第二测试用例;

执行所述第二测试用例,输出对应的测试结果。

第二方面,本公开的实施例还提供了一种整车控制器的仿真测试装置,包括:

获取模块,用于获取输入于仿真测试模型中的输入信号,并根据所述输入信号生成测试用例;所述输入信号包括至少一个信号取值区间,每一个所述信号取值区间对应有触发概率,同一个输入信号对应的各信号取值区间的触发概率之和为1;

第一执行模块,用于执行所述测试用例,并输出测试结果。

在一些实施例中,所述获取模块包括:

接收子模块,用于接收输入于仿真测试模型中的所有的输入信号,并确定所述仿真测试模型中的测试场景;

获取子模块,用于获取每一个所述输入信号的信号取值区间及所述信号取值区间对应的触发概率;

生成子模块,用于选择所述所有的输入信号中与所述测试场景对应的输入信号生成测试用例;生成所述测试用例的所述输入信号中各信号取值区间的出现概率与所述触发概率相对应。

在一些实施例中,所述仿真测试模型包括至少一个测试场景,所述至少一个测试场景覆盖所有的输入信号。

在一些实施例中,所述信号取值区间包括极限取值区间及中间取值区间,所述获取子模块还用于:

获取每一个所述输入信号的极限取值区间及中间取值区间;

定义所述信号取值区间中的极限取值区间的触发概率小于中间取值区间的触发概率。

在一些实施例中,所述测试用例为第一测试用例,所述输入信号为第一输入信号;所述整车控制器的仿真测试装置还包括:

获取模块,用于获取所述第一测试用例对应的第一测试结果;

更改模块,用于在所述第一测试结果符合预设要求的情况下,将所述第一输入信号更改为第二输入信号,并生成第二测试用例;

第二执行模块,用于执行所述第二测试用例,输出对应的测试结果。

第三方面,本公开的实施例还提供了一种整车控制器的仿真测试系统,包括如第二方面中任一项所述的整车控制器的仿真测试装置。

第四方面,本公开的实施例还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面中任一项所述的整车控制器的仿真测试方法的步骤。

本公开的实施例中,通过对输入于仿真测试模型中的输入信号的信号取值区间定义触发概率,也就对生成测试用例的输入信号的出现概率得到了控制,能够减少甚至避免无效测试用例的产生,进而提供测试效率。

附图说明

为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本公开的实施例提供的一种整车控制器的仿真测试方法的流程图;

图2是本公开的实施例提供的一种整车控制器的仿真测试装置的结构图。

具体实施方式

下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

请参照图1,图1是本公开的实施例提供的一种整车控制器的仿真测试方法的流程图,如图1所示,包括以下步骤:

步骤101、获取输入于仿真测试模型中的输入信号,并根据所述输入信号生成测试用例。

需要说明的是,所述整车控制器的仿真测试方法可以是应用于相应的电子设备中,如特定的用于进行整车控制器仿真测试的计算机等。本公开的实施例中,所述输入信号包括至少一个信号取值区间,每一个所述信号取值区间对应有触发概率,同一个输入信号对应的各信号取值区间的触发概率之和为1。

所述输入信号可以是指整车控制器在仿真测试过程中所需要进行测试的车辆的驾驶参数,如油门踏板控制信号、发动机控制信号、车门控制信号等。所述信号取值区间可以是指所述输入信号可能存在的信号值,每一个所述输入信号包括至少一个信号取值区间;例如,所述输入信号为油门踏板控制信号,则该油门踏板控制信号可以是包括0~20码、20~40码、40~80码、80~120码、大于120码等5个信号取值区间。每一个所述信号取值区间对应的触发概率可以是由测试人员手动设置,或者也可以是测试软件统计得出。需要说明的是,所述信号取值区间的触发概率可以是固定不变,也可以是针对不同的测试场景而相应设置。例如,在所述测试场景是爬坡时,此时应该是需要车辆具有较大的车速,也就是要避免出现较小的车速,则可以设置0~20码的信号取值区间的触发概率为5%,20~40码的信号取值区间的触发概率为10%,40~80码的信号取值区间的触发概率为60%,80~120码的信号取值区间的触发概率为20%,大于120码的信号取值区间的触发概率为5%;这样,也就能够在生成针对爬坡的测试用例时,避免出现车速较小或者车速过大的无效的测试用例,保证了输入信号的合理性以及测试用例的规范性,减小无效测试用例,也就能够提高测试效率。

本公开的实施例中,所述步骤101可以包括:

接收输入于所述仿真测试模型中的所有的输入信号,并确定所述仿真测试模型中的测试场景;

获取每一个所述输入信号的信号取值区间及所述信号取值区间对应的触发概率;

选择所述所有的输入信号中与所述测试场景对应的输入信号生成测试用例。

需要说明的是,生成所述测试用例的所述输入信号中各信号取值区间的出现概率与所述触发概率相对应。例如,假设输入信号a包括a1、a2两个信号取值区间,a2的触发概率为90%,a2的触发概率为10%;若输入信号a生成的测试用例为100个,则a1在这100个测试用例中出现的概率为90%,也就是90个测试用例,a2在这100个测试用例中出现的概率为10%,也就是10个测试用例。

另外,所述测试场景可以是指针对车辆运行过程中可能会出现的行驶场景,如爬坡、倒车、停车等场景。

本公开的实施例中,可以获取针对所述仿真测试模型中所有的测试场景所会涉及到的所有的输入信号,或者,也可以是针对所述仿真测试模型中指定的测试场景,获取该指定的测试场景所涉及到的输入信号。

例如,在所述仿真测试模型的一种指定的测试场景中,该测试场景涉及到a、b、c、d四个输入信号,其中a输入信号的包括a1、a2两个信号取值区间,而a1与b、c、d生成的测试用例是有效的,或者说是需要对测试结果进行观测的,a2仅与d生成的测试用例有效,a2与b、c生成的测试用例无效;此时可设置a2的触发概率为20%。例如,涉及输入信号a的测试用例为10个,则a2只会占到10个测试用例中的2个。这样,在该测试场景中,a2出现的概率减小,a2与b、c组合出现的场景也减小,进而也就能避免在无效的测试用例上花费较多的测试时间,提高了测试效率。

在本公开的实施例中,所述仿真测试模型包括至少一个测试场景,所述至少一个测试场景覆盖所有的输入信号。这样,在确定仿真测试模型的所有测试场景后,获取每一个测试场景对应的输入信号,也就是获取了所有测试场景所涉及的所有输入信号,进而一次性生成所有的测试用例。这样的方式,也就是在构建仿真测试模型后,先一次性生成所有的测试用例,而后再根据预设的测试规则对生成的所有的测试用例一一进行测试,在测试过程中,也就无需再对输入信号的触发概率进行设置或更改,以确保测试的顺畅进行。

另外需要说明的是,所述信号取值区间包括极限取值区间及中间取值区间,所述获取每一个所述输入信号的信号取值区间及所述信号取值区间对应的触发概率的步骤,包括:

获取每一个所述输入信号的极限取值区间及中间取值区间;

定义所述信号取值区间中的极限取值区间的触发概率小于中间取值区间的触发概率。

可以理解地,为确保测试结果的有效性,进而在生成测试用例的过程中,也就要避免或者减少无效测试的产生,防止无效测试用例占用过多的测试时间,而影响测试效率。本公开的实施例中,对输入信号的信号取值区间及信号取值区间的触发概率进行控制,且定义所述信号取值区间中的极限取值区间的触发概率小于中间取值区间的触发概率,进而极限取值区间生成的测试用例的数量也就较少,也就能减少无效测试用例的产生。所述极限取值区间可以理解为生成无效测试用例的信号取值区间,部分极限取值区间的取值可以理解为是导致故障情况的取值;所述中间取值区间可以理解为生成正常有效的测试用例的信号取值区间。

例如,车辆电池出现故障,驱动电机失去动力,车辆进入紧急控制状态,这种极限测试场景出现的概率很低,也就需要控制避免出现这样的测试用例的产生,比如运行100个关于电池输入信号的测试用例,希望只出现1个关于电池故障的测试用例;也就可以通过设置电池输入信号中关于电池故障的信号取值区间的触发概率为1%,电池正常的信号取值区间的触发概率也就为99%。可以理解为,在这个具体的实施方式中,电池输入信号的极限取值区间也就是电池故障这一信号取值区间,中间取值区间也就是电池正常这一信号取值区间。

步骤102、执行所述测试用例,并输出测试结果。

可以理解地,在生成所述测试用例后,则执行所述测试用例,以进行整车控制器的仿真测试,并输出测试结果,例如所述测试结果可以是以测试报告的形式显示于电子设备,以方便测试人员对所述测试结果的读取,并针对不符合预设要求的故障结果进行相应处理,如进行再次测试。

在本公开的实施例中,所述测试用例的生成可以是动态生成,动态可以理解为测试用例不是在进行仿真测试之前一次生成的,测试用例可以是在进行仿真测试的过程中,后一个测试用例可以根据前一个测试用例的测试结果而生成。也就是说,生成后一个测试用例的输入信号是根据前一个测试用例的测试结果而变化的,也就产生了变化的测试场景。针对这种实现方式,所述步骤101及所述步骤102中的所述测试用例为第一测试用例,所述输入信号为第一输入信号,所述步骤102之后还可以包括:

获取所述第一测试用例对应的第一测试结果;

在所述第一测试结果符合预设要求的情况下,将所述第一输入信号更改为第二输入信号,并生成第二测试用例;

执行所述第二测试用例,输出对应的测试结果。

在该实施方式中,所述步骤101中生成的测试用例为第一测试用例,在获得第一测试用例的第一测试结果后,可以是根据预设的算法规则对第一测试结果进行分析,以判断第一测试结果是否符合预设要求。若所述第一测试结果符合预设要求,获取生成所述第一测试用例的第一输入信号,并根据预设规则自动地将第一输入信号更改为第二输入信号,生成该测试场景下的第二测试用例,执行第二测试用例,对第二测试结果进行分析判断。该过程可以是持续进行,直到完成人工设定的最大测试用例数。另外,若第一测试用例的第一测试结果不符合预设要求,则停止后续测试用例的生成。

例如,测试场景为最大车速控制,输入信号可以包括油门踏板,生成的第一测试用例可以是油门踏板输入最大,车速达到最大值后,不再增加。若该测试用例的测试结果符合预设要求,则第一测试用例中的输入信号更改为包括油门踏板和下坡,生成第二测试用例,判断第二测试结果中车速是否不超过最大值;若车速没有超过最大值,则继续更改输入信号,如此迭代地生成测试用例,直至完成人工设定的最大测试用例数。

该实施方式中,通过对前一个测试用例的测试结果的判断分析,在前一个测试用例的测试结果符合预设要求的情况下,自动改变输入信号,以生成后一个测试用例进行测试,若测试结果符合预设要求,再次自动改变输入信号,以生成后续的测试用例,直至完成测试。这样,也就无需测试人员手动执行输入信号的修改,提高了测试效率,使得整车控制器的仿真测试方法更加智能化、高效化。

本公开的实施例提供的技术方案,通过对输入于仿真测试模型中的输入信号的信号取值区间定义触发概率,也就对生成测试用例的输入信号的出现概率得到了控制,能够减少甚至避免无效测试用例的产生,进而提高测试效率。

请参照图2,图2是本公开的实施例提供的一种整车控制器的仿真测试装置的结构图,如图2所示,所述整车控制器的仿真测试装置200包括:

获取模块201,用于获取输入于所述仿真测试模型中的输入信号,并根据所述输入信号生成测试用例;所述输入信号包括至少一个信号取值区间,每一个所述信号取值区间对应有触发概率,同一个输入信号对应的各信号取值区间的触发概率之和为1;

第一执行模块202,用于执行所述测试用例,并输出测试结果。

在一些实施例中,所述获取模块201包括:

接收子模块,用于接收输入于所述仿真测试模型中的所有的输入信号,并确定所述仿真测试模型中的测试场景;

获取子模块,用于获取每一个所述输入信号的信号取值区间及所述信号取值区间对应的触发概率;

生成子模块,用于选择所述所有的输入信号中与所述测试场景对应的输入信号生成测试用例;生成所述测试用例的所述输入信号中各信号取值区间的出现概率与所述触发概率相对应。

在一些实施例中,所述仿真测试模型包括至少一个测试场景,所述至少一个测试场景覆盖所有的输入信号。

在一些实施例中,所述信号取值区间包括极限取值区间及中间取值区间,所述获取子模块还用于:

获取每一个所述输入信号的极限取值区间及中间取值区间;

定义所述信号取值区间中的极限取值区间的触发概率小于中间取值区间的触发概率。

在一些实施例中,所述测试用例为第一测试用例,所述输入信号为第一输入信号;所述整车控制器的仿真测试装置200还包括:

获取模块,用于获取所述第一测试用例对应的第一测试结果;

更改模块,用于在所述第一测试结果符合预设要求的情况下,将所述第一输入信号更改为第二输入信号,并生成第二测试用例;

第二执行模块,用于执行所述第二测试用例,输出对应的测试结果。

需要说明的是,整车控制器的仿真测试装置200能够实现图1所述的整车控制器的仿真测试方法实施例的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。

本公开的实施例提供的技术方案,整车控制器的仿真测试装置200通过对输入于仿真测试模型中的输入信号的信号取值区间定义触发概率,也就对生成测试用例的输入信号的出现概率得到了控制,能够减少甚至避免无效测试用例的产生,进而提高测试效率。

本公开的实施例还提供一种整车控制器的仿真测试系统,包括如上所述的整车控制器的仿真测试装置,所述整车控制器的仿真测试系统能够实现图2所述的整车控制器的仿真测试装置实施例的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。

本公开的实施例还提供一种电子设备,包括处理器、存储器及存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述图1所述的整车控制器的仿真测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本公开的实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述图1所述的整车控制器的仿真测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1