用于车载软件开发的模型测试方法及系统与流程

未命名 09-08 阅读:92 评论:0


1.本技术涉及汽车领域,具体而言,涉及用于车载软件开发的模型测试方法及系统。


背景技术:

2.车载软件的开发过程越来越多使用v模型开发流程,该流程使用建模工具进行应用层模型搭建,完成仿真测试后生成应用层的c代码。因此,在模型设计完成、代码生成后,需要进行功能测试和背靠背测试,以对比模型测试结果与需求的一致性、与模型生成代码行为的一致性。然而,每个测试周期都需要开发人员针对每个测试用例都手动连线将模型输出结果与输出做对比求差,多次在模型中修改标定数值,这些人工操作可能是繁杂且容易出错的,也延长了开发用时。


技术实现要素:

3.鉴于上述问题,本发明旨在提供用于车载软件开发的模型测试方法及系统、计算机可读存储介质和电子设备。
4.根据本技术的第一方面,提供一种用于车载软件开发的模型测试方法。该方法包括如下步骤:加载待测模型;加载测试用例表和标定信息表,并将测试用例表和标定信息表保存为标定文件,测试用例表包括一个或多个测试用例,标定信息表包括一个或多个标定组;调用标定文件中的测试用例而对待测模型进行功能测试;以及将测试输出与测试用例表中的预期输出进行对比。
5.根据本发明一实施例的方法,其中,方法还包括:将测试输出与对比结果填入测试用例表
6.根据本发明一实施例的方法,其中,在加载测试用例表前,测试用例表基于以下步骤生成:对所加载的待测模型进行分析以得到待测模型的端口信息以及标定的数量、名称和数据类型;以及根据待测模型的端口信息以及标定的数量、名称和数据类型,生成测试用例表。
7.根据本发明一实施例的方法,其中,响应于功能测试之后要进行背靠背测试,再次使用标定文件中的相同测试用例而对待测模型进行背靠背测试。
8.根据本发明一实施例的方法,其中,方法还包括:使用标定文件中的测试用例与各个标定组别的交叉而对待测模型进行背靠背测试。
9.根据本发明一实施例的方法,其中,方法还包括:将背靠背测试的结果填入测试用例表
10.根据本技术的第二方面,提供一种用于车载软件开发的模型测试系统。该系统包括:加载单元,其加载待测模型,并加载测试用例表和标定信息表,并将测试用例表和标定信息表保存为标定文件,测试用例表包括一个或多个测试用例,标定信息表包括一个或多个标定组;以及测试单元,其调用标定文件中的测试用例而对待测模型进行功能测试,将测试输出与测试用例表中的预期输出进行对比。
11.根据本发明一实施例的方法,其中,系统还包括:填充单元,其将测试输出与对比结果填入测试用例表
12.根据本发明一实施例的方法,其中,加载单元还配置成对所加载的待测模型进行分析以得到待测模型的端口信息以及标定的数量、名称和数据类型,并根据待测模型的端口信息以及标定的数量、名称和数据类型,生成测试用例表
13.根据本发明一实施例的方法,其中,测试单元还配置成响应于功能测试之后要进行背靠背测试,再次使用标定文件中的相同测试用例而对待测模型进行背靠背测试
14.根据本发明一实施例的方法,其中,测试单元还配置成使用标定文件中的测试用例与各个标定组别的交叉而对待测模型进行背靠背测试。
15.根据本发明一实施例的方法,其中,填充单元还配置成将背靠背测试的结果填入测试用例表。
16.根据本技术的第三方面,还提供一种计算机可读存储介质。该计算机可读存储介质存储有指令,指令在由处理器执行时,实行根据前述任一实施例所描述的方法。
17.根据本技术的第四方面,还提供一种电子设备。该电子设备包括处理器和存储有指令的存储器,指令在由处理器执行时,实行根据前述任一实施例所描述的方法。
18.本技术能够实现功能测试和背靠背测试的自动进行,降低了开发人员进行人工测试用例和标定组的设计、录入等的工作量,在不提升测试用例开发时间的前提下保证了测试的次数和可信度、稳定性。
附图说明
19.从结合附图的以下详细说明中,将会使本技术的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。
20.图1示出了根据本技术的一个或多个实施例的用于车载软件开发的模型测试方法100的流程示意图。
21.图2说明了根据本技术的一个或多个实施例的用于车载软件开发的模型测试系统200的模块示意图。
具体实施方式
22.以下具体实施方式的描述本质上仅仅是示例性的,并且不旨在限制所公开的技术或所公开的技术的应用和用途。此外,不意图受在前述技术领域、背景技术或以下具体实施方式中呈现的任何明示或暗示的理论的约束。
23.在实施例的以下详细描述中,阐述了许多具体细节以便提供对所公开技术的更透彻理解。然而,对于本领域普通技术人员显而易见的是,可以在没有这些具体细节的情况下实践所公开的技术。在其他实例中,没有详细描述公知的特征,以避免不必要地使描述复杂化。
24.诸如“包含”和“包括”之类的用语表示除了具有在说明书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
25.在下文中,将参考附图详细地描述根据本发明的各示例性实施例。
26.图1示出了根据本技术的一个或多个实施例的用于车载软件开发的模型测试方法100的流程示意图。方法100可以包括如下步骤:
27.在s1,加载待测模型。具体而言,对于应用层的车载软件来说,在v模型开发流程下,使用基于模型的设计mbd开发方法而首先进行应用层的模型搭建。在搭建好模型后,进行仿真测试,并生成该车载软件的应用层c代码。在此基础上,本方法可以先加载待测模型(以及相关标定信息),以载入待测模型进行如下的测试和对比,自动生成了测试模型。
28.在s2,加载测试用例表和标定信息表,并将测试用例表和标定信息表保存为标定文件,测试用例表包括一个或多个测试用例,标定信息表包括一个或多个标定组。具体而言,测试用例表可以例如是供模型调用的excel中的一个工作表(sheet),其可以包括诸如以下列:测试用例号列、需求(需求号)列、输入列、理论输出(预期输出)列等,还可以例如预留测试结果列来便于测试完成后的测试结果填入。同理,标定信息表也可以是供模型调用的excel中的一个工作表,可以例如包括标定名称列和标定组别列,该标定信息表包括一个或多个不同的标定组,每个标定组有不同的标定属性数值。可以理解,两张工作表可以保存为便于进行测试调用的标定文件格式(例如可以被matlab调用,而非不便于调用的excel格式),使得在两张工作表的用例及标定内容中,可以供测试流程自由调用任一测试用例和/或任一标定组来进行测试,并且每个测试用例都不需人为切换并运行。
29.在s3,调用标定文件中的测试用例而对待测模型进行功能测试。具体而言,在v模型要求下,在模型设计完成和生成代码之后需要进行单元测试,该单元测试包括功能测试和背靠背测试。功能测试(model-in-the-loop,mil,模型在环测试)对仿真模型测试结果和需求的一致性进行对比,而背靠背测试(software-in-the-loop,sil,软件在环测试)是将功能测试结果和模型生成代码的行为一致性进行对比,如此就能够保证模型和代码的充分测试。本方法可以自动加载测试用例表和标定信息表的标定文件来进行测试,并且能够在测试过程中自动进行测试用例的切换,测试的结果输出可以记录为与上述测试用例表/标定信息表所保存的标定文件格式相同的标定文件。
30.在s4,将测试输出与测试用例表中的预期输出进行对比。例如,在功能测试中,在测试模型的每一周期,都会将模型输出结果和需求结果进行对比做差,差值不为0则说明模型不符合需求。在一些示例中,方法100还可以包括将上述的测试输出与对比结果填入测试用例表,以便于记录测试结果并展现测试的对比求差,还可以便于进一步将测试用例用于其他测试(例如背靠背测试)。
31.如此,开发人员在测试结束后不必靠手工连线来进行对比求差,而是本方法可以自动实施某一特定测试用例的功能测试、背靠背测试的测试输出和对比求差。
32.在一些实施例中,本方法在加载测试用例表前还基于以下步骤来生成测试用例表:对所加载的待测模型进行分析以得到待测模型的端口信息以及标定的数量、名称和数据类型;以及根据待测模型的端口信息以及标定的数量、名称和数据类型,生成测试用例表。也就是说,在本方法100的加载待测模型步骤之后,可以基于载入的待测模型及其标定信息而生成具备一定格式的测试用例表格,该表格可以是一张空表,也可以进一步填充一个或多个测试用例和/或一个或多个标定组别。开发人员可以很方便地在自动生成的测试用例表上进行用例设计,包括每个测试周期的输入和期望输出结果、测试用例和需求、标定组别的对应关系。可以理解,类似地,前述的标定信息表也可以是基于对加载的待测模型的
分析而自动生成的。测试用例表的自动生成可以使得开发人员可以将精力集中于测试用例的设计,开发人员仅需在测试用例表的各个列填入测试用例的输入值大小、标定值大小即可。
33.在一些实施例中,响应于功能测试之后要进行背靠背测试,再次使用标定文件中的相同测试用例而对待测模型进行背靠背测试。也就是说,完成功能测试后,若还需要进行背靠背测试,本方法可以自动复用曾在功能测试中使用的测试用例。例如,可以将模型的运行模式设置为背靠背测试模式,并调用与功能测试相同的测试用例和标定信息。
34.本方法将功能测试和背靠背测试结合起来,测试流程上不再独立。背靠背交叉测试在同样测试用例的数量上能够更多的测试生成代码,极大减少人为操作、解放人力,极大的提高了模型的测试效率和代码的测试幅度,降低出错概率,自动填充测试报告,使得测试流程更加规范。
35.因此,本方法进一步还可以使用标定文件中的测试用例与各个标定组别的交叉而对待测模型进行背靠背测试。具体而言,可以针对测试用例表和标定信息表进行测试用例和标定组的不同组合,从而形成不同的测试输入。例如,测试用例表包括用例1、用例2、用例3

用例7,标定信息表包括标定组1

标定组5,则理论上可以产生5*7=35个测试输入组合,也就是最多可以使得35组不同的输入用于测试。这极大地提升了代码测试的次数,进而提高了测试的可信度和稳定性。此外,也可以不必在多次测试中多次人工修改标定文件以使用不同用例的不同标定数值,避免了人工操作带来的标定组别与测试用例的对应错误等问题。
36.同样地,还可以将背靠背测试的结果填入测试用例表。以便于记录测试结果并展现测试的对比求差。
37.图2示出了根据一个或多个实施例的用于车载软件开发的模型测试系统200。该系统包括加载单元210和测试单元220,加载单元210加载待测模型,并加载测试用例表和标定信息表,并将测试用例表和标定信息表保存为标定文件。其中,测试用例表包括一个或多个测试用例,标定信息表包括一个或多个标定组。具体而言,对于应用层的车载软件来说,在v模型开发流程下,使用基于模型的设计mbd开发方法而首先进行应用层的模型搭建。在搭建好模型后,进行仿真测试,并生成该车载软件的应用层c代码。在此基础上,本系统可以先加载待测模型(以及相关标定信息),以载入待测模型进行如下的测试和对比。测试用例表可以例如是供模型调用的excel中的一个工作表(sheet),其可以包括诸如以下列:测试用例号列、需求(需求号)列、输入列、理论输出(预期输出)列等,还可以例如预留测试结果列来便于测试完成后的测试结果填入。同理,标定信息表也可以是供模型调用的excel中的一个工作表,可以例如包括标定名称列和标定组别列,该标定信息表包括一个或多个不同的标定组,每个标定组有不同的标定属性数值。可以理解,两张工作表可以保存为便于进行测试调用的标定文件格式(例如可以被matlab调用,而非不便于调用的excel格式),使得在两张工作表的用例及标定内容中,可以供测试流程自由调用任一测试用例和/或任一标定组来进行测试,并且每个测试用例都不需人为切换并运行。
38.测试单元220调用标定文件中的测试用例而对待测模型进行功能测试。具体而言,在v模型要求下,在模型设计完成和生成代码之后需要进行单元测试,该单元测试包括功能测试和背靠背测试。功能测试对仿真模型测试结果和需求的一致性进行对比,而背靠背测
试是将功能测试结果和模型生成代码的行为一致性进行对比,如此就能够保证模型和代码的充分测试。本方法可以自动加载测试用例表和标定信息表的标定文件来进行测试,并且能够在测试过程中自动进行测试用例的切换,测试的结果输出可以记录为与上述测试用例表/标定信息表所保存的标定文件格式相同的标定文件。然后,测试单元220将测试输出与测试用例表中的预期输出进行对比。例如,在功能测试中,在测试模型的每一周期,都会将模型输出结果和需求结果进行对比做差,差值不为0则说明模型不符合需求。
39.如此,开发人员在测试结束后不必靠手工连线来进行对比求差,而是本方法可以自动实施某一特定测试用例的功能测试、背靠背测试的测试输出和对比求差。
40.在一些实施例中,系统200还包括填充单元(未示出),填充单元将测试输出与对比结果填入测试用例表。还可以包括将上述的测试输出与对比结果填入测试用例表,以便于记录测试结果并展现测试的对比求差,还可以便于进一步将测试用例用于其他测试(例如背靠背测试)。
41.在一些实施例中,加载单元210还配置成对所加载的待测模型进行分析以得到待测模型的端口信息以及标定的数量、名称和数据类型,并根据待测模型的端口信息以及标定的数量、名称和数据类型,生成测试用例表。也就是说,在本系统200的加载单元210在加载待测模型步骤之后,可以基于载入的待测模型及其标定信息而生成具备一定格式的测试用例表格,该表格可以是一张空表,也可以进一步填充一个或多个测试用例和/或一个或多个标定组别。开发人员可以很方便地在自动生成的测试用例表上进行用例设计,包括每个测试周期的输入和期望输出结果、测试用例和需求、标定组别的对应关系。可以理解,类似地,前述的标定信息表也可以是基于对加载的待测模型的分析而自动生成的。测试用例表的自动生成可以使得开发人员可以将精力集中于测试用例的设计,开发人员仅需在测试用例表的各个列填入测试用例的输入值大小、标定值大小即可。
42.在一些示例中,测试单元220还配置成响应于功能测试之后要进行背靠背测试,再次使用标定文件中的相同测试用例而对待测模型进行背靠背测试。也就是说,完成功能测试后,若还需要进行背靠背测试,本方法可以自动复用曾在功能测试中使用的测试用例。例如,可以将模型的运行模式设置为背靠背测试模式,并调用与功能测试相同的测试用例和标定信息。
43.因此,本系统的测试单元220进一步还可以配置成使用标定文件中的测试用例与各个标定组别的交叉而对待测模型进行背靠背测试。具体而言,可以针对测试用例表和标定信息表进行测试用例和标定组的不同组合,从而形成不同的测试输入。例如,测试用例表包括用例1、用例2、用例3

用例7,标定信息表包括标定组1

标定组5,则理论上可以产生5*7=35个测试输入组合,也就是最多可以使得35组不同的输入用于测试。这极大地提升了代码测试的次数,进而提高了测试的可信度和稳定性。此外,也可以不必在多次测试中多次人工修改标定文件以使用不同用例的不同标定数值,避免了人工操作带来的标定组别与测试用例的对应错误等问题。
44.如此,本系统将功能测试和背靠背测试结合起来,测试流程上不再独立。背靠背交叉测试在同样测试用例的数量上能够更多的测试生成代码,极大减少人为操作、解放人力,极大的提高了模型的测试效率和代码的测试幅度,降低出错概率,自动填充测试报告,使得测试流程更加规范。
45.同样地,填充单元还可以配置成将背靠背测试的结果填入测试用例表。以便于记录测试结果并展现测试的对比求差。
46.根据本技术的又一方面,提供一种计算机可读存储介质。计算机可读存储介质存储有指令,指令在由处理器执行时实现如前述任一实施例所述的用于车载软件开发的模型测试方法100。处理器的如上处理操作可以参照方法100的细节进行。存储器可以是计算机可读介质包括各种类型的计算机存储介质,可以是通用或专用计算机能够存取的任何可用介质。举例而言,计算机可读介质可以包括ram、rom、eprom、e2prom、寄存器、硬盘、可移动盘、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码单元并能够由通用或专用计算机、或者通用或专用处理器进行存取的任何其他临时性或者非临时性介质。如本文所使用的盘通常磁性地复制数据,而碟则用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的保护范围之内。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
47.根据本技术的还又一方面,提供一种电子设备。该电子设备包括处理器和存储有指令的存储器,该指令在由所述处理器执行时,实行如前述任一实施例所述的用于车载软件开发的模型测试方法100。存储器和处理器可以有线或无线地连接,以实现数据的传输或交互。例如,这些元器件相互之间可通过一条或多条通信总线实现电性连接。存储器可以例如是上述的计算机可读存储介质。处理器可以具有信号处理能力的处理模块,例如通用处理器,包括中央处理器cpu、网络处理器np等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
48.以上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此。本领域的技术人员可以根据本技术所披露的技术范围想到其他可行的变化或替换,此等变化或替换皆涵盖于本技术的保护范围之中。在不冲突的情况下,本技术的实施方式及实施方式中的特征还可以相互组合。本技术的保护范围以权利要求的记载为准。

技术特征:
1.一种用于车载软件开发的模型测试方法,其特征在于,所述方法包括如下步骤:加载待测模型;加载测试用例表和标定信息表,并将所述测试用例表和所述标定信息表保存为标定文件,所述测试用例表包括一个或多个测试用例,所述标定信息表包括一个或多个标定组;调用所述标定文件中的测试用例而对所述待测模型进行功能测试;以及将测试输出与所述测试用例表中的预期输出进行对比。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述测试输出与对比结果填入所述测试用例表。3.根据权利要求1所述的方法,其特征在于,在加载所述测试用例表前,所述测试用例表基于以下步骤生成:对所加载的待测模型进行分析以得到所述待测模型的端口信息以及标定的数量、名称和数据类型;以及根据所述待测模型的端口信息以及所述标定的数量、名称和数据类型,生成所述测试用例表。4.根据权利要求1所述的方法,其特征在于,响应于所述功能测试之后要进行背靠背测试,再次使用所述标定文件中的相同测试用例而对待测模型进行所述背靠背测试。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:使用所述标定文件中的所述测试用例与各个所述标定组别的交叉而对待测模型进行所述背靠背测试。6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:将所述背靠背测试的结果填入所述测试用例表。7.一种用于车载软件开发的模型测试系统,其特征在于,所述系统包括:加载单元,其加载待测模型,并加载测试用例表和标定信息表,并将所述测试用例表和所述标定信息表保存为标定文件,所述测试用例表包括一个或多个测试用例,所述标定信息表包括一个或多个标定组;以及测试单元,其调用所述标定文件中的测试用例而对所述待测模型进行功能测试,将测试输出与所述测试用例表中的预期输出进行对比。8.根据权利要求7所述的系统,其特征在于,所述系统还包括:填充单元,其将所述测试输出与对比结果填入所述测试用例表。9.根据权利要求7所述的系统,其特征在于,所述加载单元还配置成对所加载的待测模型进行分析以得到所述待测模型的端口信息以及标定的数量、名称和数据类型,并根据所述待测模型的端口信息以及所述标定的数量、名称和数据类型,生成所述测试用例表。10.根据权利要求8所述的系统,其特征在于,所述测试单元还配置成响应于所述功能测试之后要进行背靠背测试,再次使用所述标定文件中的相同测试用例而对待测模型进行所述背靠背测试。11.根据权利要求10所述的系统,其特征在于,所述测试单元还配置成使用所述标定文件中的所述测试用例与各个所述标定组别的交叉而对待测模型进行所述背靠背测试。12.根据权利要求10所述的系统,其特征在于,所述填充单元还配置成将所述背靠背测试的结果填入所述测试用例表。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,所
述指令在由处理器执行时,实行根据权利要求1-6中任一项所述的方法。14.一种电子设备,其特征在于,所述电子设备包括处理器和存储有指令的存储器,所述指令在由所述处理器执行时,实行根据权利要求1-6中任一项所述的方法。

技术总结
本申请涉及一种用于车载软件开发的模型测试方法及系统、计算机可读存储介质和电子设备。根据本申请的方法,包括如下步骤:加载待测模型;加载测试用例表和标定信息表,并将测试用例表和标定信息表保存为标定文件,测试用例表包括一个或多个测试用例,标定信息表包括一个或多个标定组;调用标定文件中的测试用例而对待测模型进行功能测试;以及将测试输出与测试用例表中的预期输出进行对比。试用例表中的预期输出进行对比。试用例表中的预期输出进行对比。


技术研发人员:王鹏飞 金彦 王柳禕 江艳
受保护的技术使用者:泛亚汽车技术中心有限公司
技术研发日:2023.05.31
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐