自动驾驶应用程序的测试方法、装置、设备、介质及车辆与流程

未命名 10-19 阅读:83 评论:0


1.本公开涉及性能测试领域,尤其涉及一种自动驾驶应用程序的测试方法、装置、设备、介质及车辆。


背景技术:

2.目前在汽车软件行业开发中,尤其是自动驾驶系统应用程序开发过程中,需要对框架的各个应用程序、自动驾驶算法各个程序、和数据分发服务应用程序(dds,data distribution service)进行功能测试和性能测试。测试的硬件平台环境,一般分为仿真平台环境和台架/实车环境。由于台架/实车测试环境是一个嵌入式平台,嵌入式平台是一个资源受限系统,各个团队和应用程序功能测试和性能测试是串行进行的,即等一个应用程序完成功能测试和性能测试后,才开始下一个应用程序的功能测试和性能测试。
3.但是如果在各个应用程序串行进行功能测试和性能测试衔接的时候,没有对测试环境进行恢复,就无法保证测试环境是稳定的和可控的,测试环境可能在上一个应用程序进行功能测试和性能测试的过程中已经被破坏掉,导致下一个应用程序进程功能测试和性能测试的时候受到影响。
4.现有的串行功能测试和性能测试中,在每一个应用程序测试完毕后,还需要手动恢复测试环境。因此,现有的测试环境恢复方法在测试完毕后,恢复效率较低。


技术实现要素:

5.为克服相关技术中存在的问题,本公开提供一种自动驾驶应用程序的测试方法、装置、设备、介质及车辆。
6.根据本公开实施例的第一方面,提供一种自动驾驶应用程序的测试方法,包括:
7.监测应用程序在第一次测试过程中的运行信息;
8.在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,所述目标监控信息是通过所述运行信息得到的;
9.基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态;
10.根据本公开实施例的第二方面,提供一种应用程序的测试环境恢复装置,包括:
11.监测模块,用于监测应用程序在第一次测试过程中的运行信息;
12.获取模块,用于在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,所述目标监控信息是通过所述运行信息得到的;
13.恢复模块,用于基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态;
14.根据本公开实施例的第三方面,提供一种车辆,存储有一组指令集,所述指令集被所述车辆执行,以实现本公开第一方面所提供的自动驾驶应用程序的测试方法。
15.根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;用于存储所述
处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开第一方面所提供的自动驾驶应用程序的测试方法。
16.根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的自动驾驶应用程序的测试方法的步骤。
17.本公开的实施例提供的技术方案可以包括以下有益效果:通过监测应用程序在第一次测试过程中的运行信息,并在在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,能够在应用程序进行串行测试的过程中,实现测试过程中的运行信息的获取以及目标监控信息的获取,并通过目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态,能够在每次完成应用程序的测试后,通过自动生成的目标监控信息,自动恢复应用程序的测试环境,使得各个应用程序的测试互相独立,互不影响,提高了应用程序在串行测试过程中的恢复效率。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
20.图1是根据一示例性实施例示出的一种自动驾驶应用程序的测试方法的流程图。
21.图2是根据一示例性实施例示出的一种应用程序的测试环境恢复装置的框图。
22.图3是根据一示例性实施例示出的一种车辆的框图。
23.图4是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
24.下面将结合附图详细地对示例性实施例进行描述说明。
25.应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。
26.应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。
27.应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。
28.应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,a和/或b,至少可以表示:单独存在a,同时存在a和b,单独存在b这三种关联关系。
29.应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。
30.需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
31.技术用语说明:
32.功能测试(functional testing):也称为行为测试(behavioral testing),是根据产品特性,操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计要求。例如,执行管理模块的功能测试,包括测试其控制应用程序的启动/关闭的功能。
33.性能测试(performance testing):性能测试是通过自动化的测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试。例如,执行管理模块的性能测试,包括测试其cpu的使用率。
34.测试环境(testing environment):指为了完成软件测试工作所必需的计算机硬件,软件,网络设备,历史数据的总称。
35.示例性方法
36.图1是根据一示例性实施例示出的一种自动驾驶应用程序的测试方法的流程图,如图1所示,自动驾驶应用程序的测试方法用于软件模块的测试中,包括以下步骤。
37.在步骤s110中,监测应用程序在第一次测试过程中的运行信息;
38.本公开实施例中,本技术的应用场景可以是汽车软件行业开发和测试中通过跨团队合作,完成各个应用程序在每一次按照顺序串行进行功能测试和性能测试衔接时,需要自动恢复测试环境到“初始状态”的场景。例如,a团队负责第一个应用程序的测试,b团队负责第二个应用程序的测试,在第一个应用程序测试完成后,可以将测试环境恢复到初始状态,以继续进行第二个应用程序的测试,需要说明的是,第一次测试和第二次测试的应用程序可以是同一个应用程序,也可以是不同的应用程序,本实施例在此不作限制。
39.在实现应用程序的测试过程中,可以对自动驾驶系统应用程序开发进行测试。因此,上述的应用程序可以包括数据分发服务应用程序(dds应用程序)、自动驾驶框架应用程序、自动驾驶系统算法应用程序,示例性地,自动驾驶框架应用程序为框架所涉及到的各个应用程序,可以包括执行管理程序,状态管理程序,时间同步程序等;自动驾驶系统算法应用程序为自动驾驶算法所涉及到的各个程序,可以包括定位程序,感知程序,建图程序,规划控制程序等。
40.具体的,自动驾驶系统应用程序开发需要在硬件平台测试环境中进行,而硬件平台测试环境一般分为仿真平台环境和台架/实车环境,其中,仿真平台环境一般为x86_64平台;台架/实车环境包括常见的域控控制器,例如nvidia的xavier平台,orin平台,地平线的j3/j5平台等。
41.上述测试过程是指功能测试过程或者性能测试过程。例如,定位程序的功能测试过程或者执行管理程序的功能测试过程。
42.上述运行信息可以包括进程信息、软件包信息或者进程信息和软件包信息,运行信息可以表示为应用程序在测试过程中所开启、终止、暂停等实时运行的信息。
43.示例性地,在监测应用程序在第一次测试过程中的运行信息的过程中,运行信息可以通过创建文件夹或者读取测试日志进行监测,例如,1)linux在启动一个进程时,可以在proc目录下创建一个以pid命名的文件夹,进而可以通过实时读取此文件夹下的信息,来进行监控运行信息;2)可以通过syslog来监控测试过程中的日志相关信息,进而得到测试过程中的运行信息。
44.在步骤s120中,在触发开启应用程序的第二次测试的情况下,获取第一次测试后
生成的目标监控信息,所述目标监控信息是通过所述运行信息得到的;
45.本公开实施例中,由于台架/实车测试环境是一个嵌入式平台,而嵌入式平台是一个资源受限系统,各个应用程序功能测试和性能测试是串行进行的,即等一个应用程序完成功能测试和性能测试后,才开始下一个应用程序的功能测试和性能测试。因此,为了保证了下一个应用程序测试的准确性,需要将测试环境恢复到未测试前的初始状态。
46.上述的应用程序可以是相同的应用程序,也可以是不同的应用程序,且第一次测试和第二次测试可以是连续测试的两次测试。示例性地,第一应用程序可以为定位程序,第二应用程序可以为感知程序,在开启感知程序的测试前,需要获取定位程序在测试后生成的目标监控信息,进而根据目标监控信息将测试环境恢复到初始状态。
47.需要说明的是,目标监控信息是对所有运行信息进行监控而得到的,其中包括测试过程中所运行过的所有运行信息,例如在运行过程中所开启的、终止或者暂停的运行信息,是所有运行信息的汇总。
48.在步骤s130中,基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态。
49.本公开实施例中,如果在各个应用程序串行进行功能测试和性能测试衔接的时候,没有对测试环境进行恢复,就无法保证测试环境是稳定的和可控的,因为测试环境可能在上一个应用程序进行功能测试和性能测试的过程中已经被破坏掉,导致下一个应用程序进程功能测试和性能测试的时候受到影响。因此,在本实施例中需要通过目标监控信息将测试环境恢复到初始状态。
50.上述的测试环境即为上述实施例中的硬件平台测试环境。在将第二次测试的测试环境恢复到与所述第一次测试前的初始状态的过程中,可以基于目标监控信息,生成恢复测试脚本,从而直接执行恢复测试脚本,通过恢复测试脚本直接将测试环境恢复至初始状态。
51.需要说明的是,第一次测试前的初始状态指的是测试环境未发生改变的情况下的状态,可以通过技术人员直接在测试环境中设置,从而使得每一个应用程序在进行测试前,可以通过上述步骤将测试环境恢复至初始状态。
52.本公开实施例中,通过监测应用程序在第一次测试过程中的运行信息,并在在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,能够在应用程序进行串行测试的过程中,实现测试过程中的运行信息的获取以及目标监控信息的获取,并通过目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态,能够在每次完成应用程序的测试后,通过自动生成的目标监控信息,自动恢复应用程序的测试环境,使得各个应用程序的测试互相独立,互不影响,提高了应用程序在串行测试过程中的恢复效率。
53.在一些实施方式中,所述获取第一次测试后生成的目标监控信息,包括:
54.获取第一次测试后包含所述运行信息的第一监控信息;
55.根据所述第一监控信息和预设的第二监控信息,从所述第一监控信息中筛选出发生变化的目标监控信息,所述第二监控信息包括第一次测试前的运行信息。
56.本公开实施例中,在从第一监控信息中筛选出发生变化的目标监控信息的过程中,可以通过比较第一监控信息和第二监控信息中的运行信息是否一致进行筛选。
57.运行信息包括进程信息和软件包信息,而进程信息指在测试过程中启动或者终止的进程\进程组,软件包信息则是指在测试过程中测试环境中为软件模块所部署的软件包。
58.目标文件和初始文件均可以通过生成文件的形式进行存储和比对,示例性地,在获取第一次测试后包含所述运行信息的目标文件后,可以生成包括目标文件的目标文件,而初始文件则可以生成初始文件。在从所述目标文件中筛选出发生变化的目标监控信息的过程中,则可以直接通过比对目标文件和初始文件进行筛选。
59.本公开实施例中,通过第一监控信息和第二监控信息,筛选出发生变化的目标监控信息,能够对测试环境中发生变化的运行信息进行准确的筛选处理,提高测试环境的恢复效率。
60.在一些实施方式中,所述运行信息包括进程信息,所述目标监控信息包括目标进程信息,所述目标进程信息包括启动进程信息和终止进程信息;
61.所述根据所述第一监控信息和第二监控信息,从所述第一监控信息中筛选出发生变化的目标监控信息,包括:
62.比对所述第一监控信息和所述第二监控信息中的进程信息;
63.在所述进程信息存在于所述第一监控信息中,且所述进程信息不存在于所述第二监控信息中的情况下,从所述第一监控信息中筛选出启动进程信息;
64.所述进程信息不存在与所述第一监控信息中,且所述进程信息存在于所述第二监控信息中的情况下,从所述第一监控信息中筛选出终止进程信息。
65.本公开实施例中,在第一次测试过程中,可能会在测试环境中启动进程/进程组,这些进程/进程组,可能是应用程序自身释放的二进制可执行文件;也可能是部署在orin等台架/实车环境中的第三方进程/进程组,其中,启动的进程/进程组即为启动进程信息。
66.在第一次测试过程中,也有可能会终止部署在测试环境中的第三方进程\进程组,而终止的进程\进程组即为终止进程信息。
67.在所述进程信息存在于所述第一监控信息中,且所述进程信息不存在于所述第二监控信息中的情况下,说明进程信息为在测试过程中启动的,因此,该进程信息即为启动进程信息。
68.在所述进程信息不存在与所述第一监控信息中,且所述进程信息存在于所述第二监控信息中的情况下,说明进程信息为在测试过程中终止的,因此,该进程信息即为终止进程信息。
69.本公开实施例中,通过比对第一监控信息和第二监控信息中的进程信息,能够准确的获得启动进程信息和终止进程信息,能够在后续恢复测试环境的过程中,提高测试环境恢复的效率。
70.在一些实施例中,所述基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态,包括:
71.将所述目标监控信息和预设的脚本框架进行组装,得到恢复信息;
72.在所述目标进程信息中包括启动进程信息的情况下,基于所述恢复信息,删除所述测试环境中与所述启动进程信息对应的启动进程,以使第二次测试的测试环境恢复到第一次测试前的初始状态;和/或
73.在所述目标进程信息中包括终止进程信息的情况下,基于所述恢复信息,恢复所
述测试环境中与所述终止进程信息对应的终止进程,以使第二次测试的测试环境恢复到第一次测试前的初始状态。
74.本公开实施例中,上述恢复信息可以包括恢复测试脚本,恢复测试脚本可以用于将应用程序在测试后的测试环境恢复到未测试前的初始状态。
75.上述的脚本框架可以是提前编辑完成的脚本,可以用于将测试环境中的运行信息恢复到初始状态。在得到恢复测试脚本的过程中,可以将目标监控信息填充到脚本框架中,得到恢复测试脚本,通过组装得到的恢复测试脚本可以对发生变化的目标监控信息进行相应的处理,使测试环境恢复至初始状态。
76.由于启动进程信息对应的启动进程包括两种不同类型的进程,因此在目标进程信息包括启动进程信息的情况下,还可以基于启动进程信息的类型,删除测试环境中与启动进程信息对应的启动进程,示例性的,在启动进程信息为第一次测试中应用程序自身释放的二进制可执行文件的情况下,可以直接删除启动进程信息,以使第二次测试中应用程序的测试环境恢复到与所述第一次测试前的初始状态;
77.在启动进程信息为部署在测试环境中的第三方进程/进程组的情况下,可以停止启动进程信息对应的第三方启动进程,并删除与该第三方启动进程对应的在测试环境中发生变化的相关参数,以使第二次测试的测试环境恢复到与所述第一次测试前的初始状态。或者,还可以从预设的数据仓库中查找与第三方启动进程对应的初始启动进程,并将初始启动进程覆盖第三方启动进程,以使第二次测试的测试环境恢复到与所述第一次测试前的初始状态。
78.在目标进程信息包括终止进程信息的情况下,由于终止进程信息对应的终止进程包括部署在测试环境中的第三方进程\进程组,因此,可以直接恢复终止进程信息对应的终止进程,以使第二次测试的测试环境恢复到与第一次测试前的初始状态。具体的,可以从预设的数据仓库中查找与终止进程对应的初始终止进程,并将初始终止进程替换终止进程,以使第二次测试的测试环境恢复到与第一次测试测试前的初始状态。
79.需要说明的是,在执行恢复测试脚本时,可以在生成恢复测试脚本之后立刻执行,即第一次测试在测试结束后,也可以是在进行第二次测试的测试之前执行,本技术在此不做限制。
80.本公开实施例中,通过执行恢复测试脚本,能够准确的实现对测试环境中的进程信息进行自动恢复,提高了测试环境的恢复效率,降低了各个应用程序在按照顺序串行进程功能测试和性能测试过程中出现测试环境问题的概率。
81.在一些实施例中,所述运行信息包括软件包信息,目标监控信息包括目标软件包信息;
82.所述根据所述第一监控信息和第二监控信息,从所述第一监控信息中筛选出发生变化的目标监控信息,包括:
83.比对所述第一监控信息和所述第二监控信息中的软件包信息;
84.在所述软件包信息存在于所述第一监控信息和所述第二监控信息,且所述第一监控信息和所述第二监控信息中的软件包信息对应的软件包版本不一致的情况下,确定所述软件包信息为目标软件包信息。
85.本公开实施例中,上述的软件包信息包括软件包,软件包具体为测试环境中部署
的软件包,因此,可以同时存在于第一监控信息和第二监控信息中。
86.由于在应用程序的功能测试和性能测试中,有可能会对测试环境中部署的软件包中的配置文件,可执行文件和动态链接库等数据进行篡改,从而导致软件包的版本与初始版本不一致,因此在恢复测试环境时,同样也需要将软件包的版本恢复至初始版本。
87.相应的,在比对第一监控信息和第二监控信息中的软件包信息的过程中,可以通过比较软件包信息对应的软件包的配置文件、可执行文件或者动态链接库是否一致,来确定该软件包信息是否为目标软件包信息。
88.本公开实施例中,通过比对第一监控信息和第二监控信息中的软件包信息,能够准确的获得版本发生改变的目标软件包信息,进而能够在后续恢复测试环境的过程中,提高测试环境恢复的效率。
89.在一些实施例中,所述基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态,包括:
90.将所述目标监控信息和预设的脚本框架进行组装,得到所述恢复信息;
91.在所述目标监控信息中包括所述目标软件包信息的情况下,基于所述恢复信息,在预设数据仓库中查找与所述目标软件包信息相对应的初始版本文件;
92.采用所述初始版本文件覆盖所述目标软件包信息对应的软件包文件,以使第二次测试的测试环境恢复到第一次测试前的初始状态。
93.本公开实施例中,上述恢复信息可以包括恢复测试脚本,恢复测试脚本可以用于将应用程序在测试后的测试环境恢复到未测试前的初始状态。
94.上述的脚本框架可以是提前编辑完成的脚本,可以用于将测试环境中的运行信息恢复到初始状态。在得到恢复测试脚本的过程中,可以将目标监控信息填充到脚本框架中,得到恢复测试脚本,通过组装得到的恢复测试脚本可以对发生变化的目标监控信息进行相应的处理,使测试环境恢复至初始状态。
95.由于软件包信息对应的软件包只会发生版本信息的变化,因此在恢复测试环境时,可以将发生变化的目标软件包信息对应的初始版本文件直接覆盖当前发生变化的软件包文件。另外,还可以是将当前发生变化的软件包文件删除,并在预设数据仓库中重新下雨目标软件包信息对应的初始版本文件。
96.本公开实施例中,通过执行恢复测试脚本,能够准确的实现对测试环境中的软件包信息进行自动恢复,提高了测试环境的恢复效率,降低了各个软件模块在按照顺序串行进程功能测试和性能测试过程中出现测试环境问题的概率。
97.示例性装置
98.图2是根据一示例性实施例示出的一种应用程序的测试环境恢复装置框图。参照图2,该装置200包括监测模块210,获取模块220和恢复模块230。
99.该监测模块210,用于监测应用程序在第一次测试过程中的运行信息;
100.该获取模块220,用于在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,所述目标监控信息是通过所述运行信息得到的;
101.该恢复模块230,用于基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态。
102.在一些实施例中,上述获取模块220还包括:
103.第一获取子模块,用于获取第一次测试后包含所述运行信息的第一监控信息;
104.筛选子模块,用于根据所述第一监控信息和预设的第二监控信息,从所述第一监控信息中筛选出发生变化的目标监控信息,所述第二监控信息包括第一次测试前的运行信息。
105.在一些实施例中,上述筛选子模块,还包括:
106.第一比对单元,用于比对所述第一监控信息和所述第二监控信息中的进程信息;
107.第一确定单元,用于在所述进程信息存在于所述第一监控信息中,且所述进程信息不存在于所述第二监控信息中的情况下,从所述第一监控信息中筛选出启动进程信息:
108.第二确定单元,用于所述进程信息不存在与所述第一监控信息中,且所述进程信息存在于所述第二监控信息中的情况下,从所述第一监控信息中筛选出终止进程信息。
109.在一些实施例中,上述恢复模块230,还包括:
110.第一组装子模块,用于将所述目标监控信息和预设的脚本框架进行组装,得到恢复信息;
111.第一恢复子模块,用于在所述目标进程信息中包括启动进程信息的情况下,基于所述恢复信息,删除所述测试环境中与所述启动进程信息对应的启动进程,以使第二次测试的测试环境恢复到第一次测试前的初始状态;和/或
112.第二恢复子模块,用于在所述目标进程信息中包括终止进程信息的情况下,基于所述恢复信息,恢复所述测试环境中与所述终止进程信息对应的终止进程,以使第二次测试的测试环境恢复到第一次测试前的初始状态。
113.在一些实施例中,上述筛选子模块,还包括:
114.第二比对单元,用于比对所述第一监控信息和所述第二监控信息中的软件包信息;
115.第三确定单元,用于在所述软件包信息存在于所述第一监控信息和所述第二监控信息,且所述第一监控信息和所述第二监控信息中的软件包信息对应的软件包版本不一致的情况下,确定所述软件包信息为目标软件包信息。
116.在一些实施例中,上述恢复模块230,还包括:
117.第二组装子模块,用于将所述目标监控信息和预设的脚本框架进行组装,得到所述恢复信息;
118.第三恢复子模块,用于在所述目标监控信息中包括所述目标软件包信息的情况下,基于所述恢复信息,在预设数据仓库中查找与所述目标软件包信息相对应的初始版本文件;
119.第四恢复子模块,用于采用所述初始版本文件覆盖所述目标软件包信息对应的软件包文件,以使第二次测试的测试环境恢复到第一次测试前的初始状态。
120.示例性车辆
121.图3是根据一示例性实施例示出的一种车辆300的框图。该车辆300可以是燃油车辆、混合动力车辆、电动车辆、燃料电池车辆或者其他类型的车辆。
122.参照图3,车辆300可包括多个子系统,例如,驱动系统310、控制系统320、感知系统330、通信系统340、信息显示系统350以及计算处理系统360。车辆300还可以包括更多或更少的子系统,且各个子系统还可以包括多个部件,在此不一一赘述。
123.该驱动系统310,包括为车辆300提供动力运动的组件。例如,发动机、能量源、传动装置等。
124.该控制系统320,包括为车辆300提供控制的组件。例如,车辆控制、座舱设备控制、驾驶辅助控制等。
125.该感知系统330,包括为车辆300提供周边环境感知的组件。例如,车辆定位系统、激光传感器、语音传感器、超声波传感器、摄像设备等。
126.该通信系统340,包括为车辆300提供通信连接的组件。例如,移动通信网络(如,3g、4g、5g网络等)、wifi、蓝牙、车联网等。
127.该信息显示系统350,包括为车辆300提供各种信息显示的组件。例如,车辆信息显示、导航信息显示、娱乐信息显示等。
128.该计算处理系统360,包括为车辆300提供数据计算和处理能力的组件。计算处理系统360可包括至少一个处理器361和存储器362。处理器361可以执行存储在存储器362中的指令。
129.处理器361可以是任何常规的处理器,诸如商业可获得的cpu。处理器还可以包括诸如图像处理器(graphic process unit,gpu),现场可编程门阵列(field programmable gate array,fpga)、片上系统(system on chip,soc)、专用集成芯片(application specific integrated circuit,asic)或它们的组合。
130.存储器362可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
131.在本公开实施例中,存储器362中存储有一组指令集,处理器361可以执行该指令集,以实现上述示例性实施例中任一所述的自动驾驶应用程序的测试方法的全部或部分步骤。
132.示例性电子设备
133.图4是根据一示例性实施例示出的一种电子设备400的框图。该电子设备400可以是车辆控制器、车载终端、车载计算机或者其他类型的电子设备。
134.参照图4,电子设备400,可包括至少一个处理器410和存储器420。处理器410可以执行存储在存储器420中的指令。处理器410通过数据总线与存储器420通信连接。除存储器420外,处理器410还可通过数据总线与输入设备430、输出设备440、通信设备450通信连接。
135.处理器410可以是任何常规的处理器,诸如商业可获得的cpu。处理器还可以包括诸如图像处理器(graphic process unit,gpu),现场可编程门阵列(field programmable gate array,fpga)、片上系统(system on chip,soc)、专用集成芯片(application specific integrated circuit,asic)或它们的组合。
136.存储器420可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
137.在本公开实施例中,存储器420中存储有可执行指令,处理器410可以从所述存储
器420中读取所述可执行指令,并执行所述指令以实现上述示例性实施例中任一所述的自动驾驶应用程序的测试方法的全部或部分步骤。
138.示例性计算机可读存储介质
139.除了上述方法和装置以外,本公开的示例性实施例还可以是计算机程序产品或存储有该计算机程序产品的计算机可读存储介质。该计算机产品中包括计算机程序指令,该计算机程序指令可被处理器执行,以实现上述示例性实施例中任一方法中描述的的全部或部分步骤。
140.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言以及脚本语言(例如python)。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
141.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线电连接的静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘,或者上述的任意合适的组合。
142.本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
143.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:
1.一种自动驾驶应用程序的测试方法,其特征在于,包括:监测应用程序在第一次测试过程中的运行信息;在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,所述目标监控信息是通过所述运行信息得到的;基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态。2.根据权利要求1所述的自动驾驶应用程序的测试方法,其特征在于,所述获取第一次测试后生成的目标监控信息,包括:获取第一次测试后包含所述运行信息的第一监控信息;根据所述第一监控信息和预设的第二监控信息,从所述第一监控信息中筛选出发生变化的目标监控信息,所述第二监控信息包括第一次测试前的运行信息。3.根据权利要求2所述的自动驾驶应用程序的测试方法,其特征在于,所述运行信息包括进程信息,所述目标监控信息包括目标进程信息,所述目标进程信息包括启动进程信息和终止进程信息;所述根据所述第一监控信息和第二监控信息,从所述第一监控信息中筛选出发生变化的目标监控信息,包括:比对所述第一监控信息和所述第二监控信息中的进程信息;在所述进程信息存在于所述第一监控信息中,且所述进程信息不存在于所述第二监控信息中的情况下,从所述第一监控信息中筛选出启动进程信息;所述进程信息不存在与所述第一监控信息中,且所述进程信息存在于所述第二监控信息中的情况下,从所述第一监控信息中筛选出终止进程信息。4.如权利要求3所述的自动驾驶应用程序的测试方法,其特征在于,所述基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态,包括:将所述目标监控信息和预设的脚本框架进行组装,得到恢复信息;在所述目标进程信息中包括启动进程信息的情况下,基于所述恢复信息,删除所述测试环境中与所述启动进程信息对应的启动进程,以使第二次测试的测试环境恢复到第一次测试前的初始状态;和/或在所述目标进程信息中包括终止进程信息的情况下,基于所述恢复信息,恢复所述测试环境中与所述终止进程信息对应的终止进程,以使第二次测试的测试环境恢复到第一次测试前的初始状态。5.根据权利要求2所述的自动驾驶应用程序的测试方法,其特征在于,所述运行信息包括软件包信息,目标监控信息包括目标软件包信息;所述根据所述第一监控信息和第二监控信息,从所述第一监控信息中筛选出发生变化的目标监控信息,包括:比对所述第一监控信息和所述第二监控信息中的软件包信息;在所述软件包信息存在于所述第一监控信息和所述第二监控信息,且所述第一监控信息和所述第二监控信息中的软件包信息对应的软件包版本不一致的情况下,确定所述软件包信息为目标软件包信息。6.根据权利要求5所述的自动驾驶应用程序的测试方法,其特征在于,所述基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态,包括:
将所述目标监控信息和预设的脚本框架进行组装,得到恢复信息;在所述目标监控信息中包括所述目标软件包信息的情况下,基于所述恢复信息,在预设数据仓库中查找与所述目标软件包信息相对应的初始版本文件;采用所述初始版本文件覆盖所述目标软件包信息对应的软件包文件,以使第二次测试的测试环境恢复到第一次测试前的初始状态。7.一种应用程序的测试环境恢复装置,其特征在于,包括:监测模块,用于监测应用程序在第一次测试过程中的运行信息;获取模块,用于在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,所述目标监控信息是通过所述运行信息得到的;恢复模块,用于基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态。8.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1-6中任一所述的自动驾驶应用程序的测试方法。9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1-6中任一所述的自动驾驶应用程序的测试方法的步骤。10.一种车辆,其特征在于,存储有一组指令集,所述指令集被所述车辆执行,以实现所述权利要求1-6中任一所述的自动驾驶应用程序的测试方法。

技术总结
本公开涉及一种自动驾驶应用程序的测试方法、装置、设备、介质及车辆,其中,方法包括:监测应用程序在第一次测试过程中的运行信息;在触发开启应用程序的第二次测试的情况下,获取第一次测试后生成的目标监控信息,所述目标监控信息是通过所述运行信息得到的;基于所述目标监控信息,将第二次测试的测试环境恢复到第一次测试前的初始状态。采用上述步骤,能够在软件模块测试完毕后,自动恢复测试环境,提高了恢复效率。高了恢复效率。高了恢复效率。


技术研发人员:刘品 熊磊 许倜 陈永波
受保护的技术使用者:国科础石(重庆)软件有限公司
技术研发日:2023.07.04
技术公布日:2023/10/15
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐