车辆测试方法、装置、电子设备及可读存储介质与流程

1.本技术涉及电子产品技术领域,尤其涉及一种车辆测试方法、装置、电子设备及可读存储介质。
背景技术:
2.随着汽车技术的发展,车辆的测试验证(verification),例如,车辆的功能测试和车辆的性能测试,在车辆出厂前尤为重要。在车辆检测过程中,一般通过单独对汽车定点生产(original equipment manufacturer,oem)的零部件和集成自动化测试开发进行检测。
技术实现要素:
3.本技术提供了一种车辆测试方法、装置、电子设备及可读存储介质,提高了车辆测试中管理效率。
4.根据本技术的第一方面,提供了一种车辆测试方法,应用于测试平台,包括:
5.获得测试指令;所述测试指令包括:第一测试指令和第二测试指令;所述第一测试指令用于对第一测试对象进行测试;所述第二测试指令用于对第二测试对象进行测试;所述第一测试对象和第二测试对象为不同类型的测试对象;根据所述测试指令,确定所述第一测试指令和第二测试指令对应的测试数据;向将所述测试数据发送到客户端发送所述测试数据,所述测试数据用于所述客户端对所述第一测试对象和所述第二测试对象进行测试。
6.通过客户端或平台生成的测试指令获取对应不同测试对象的测试数据,实现了将不同测试对象进行统一管理的效果。
7.可选的,接收第一客户端发送的第一测试对象的第一状态;所述第一状态包括:在线状态或离线状态;
8.根据所述第一测试对象的第一状态及所述第一测试指令,确定所述第一客户端为第一测试对象对应测试的客户端;
9.向客户端发送所述测试数据,包括:
10.向所述第一客户端发送所述第一测试对象的测试数据。
11.通过上述方法,根据第一状态,选择测试第一测试对象的客户端,实现了测试平台与在线的客户端的通信连接,并将测试对象的测试数据发送到相应的测试客户端中。
12.可选的,向所述第一客户端发送第一指示信息;所述第一指示信息用于指示所述第一客户端与所述第一测试对象建立通信连接。
13.通过发送第一指示信息的方式,使得测试平台可以对第一客户端与测试对象的连接状态进行管理,提高了测试效率。
14.可选的,接收所述第一客户端发送的所述第一测试对象的第二状态;所述第二状态包括:工作状态或空闲状态;
15.根据所述第一测试对象的第二状态,向所述第一客户端发送第二指示信息,所述
第二指示信息用于指示所述第一客户端对所述第一测试对象进行测试。
16.在对测试对象进行测试时,通过第一指示信息判断测试对象的工作状态,根据测试对象的第二状态,对测试对象的测试进行管理,例如,处于空闲状态的测试对象执行测试对象的测试,提高了测试效率。
17.可选的,与所述客户端建立通讯连接,所述通讯连接用于传输所述第一测试任务和第二测试任务的测试参数;所述第一测试任务用于对所述第一测试对象进行测试,所述第二测试任务用于对所述第二测试对象进行测试。通过第一测试任务和第二测试任务确定的通讯协议,实现了测试平台与客户端在通信连接的过程中,可以统一收发消息,并将测试任务对应生成的测试结果一起发送,测试平台可以统一解析不同类型的测试对象的测试结果,降低了测试平台和客户端之间通信的成本和开销,便于进行统一管理。
18.可选的,所述第一测试对象包括以下任一项:软件测试对象和硬件测试对象;
19.若所述第一测试对象为软件测试对象,发送第三指示信息;所述第三指示信息用于指示所述客户端与所述软件测试对象建立通讯连接;
20.若所述第一测试对象为硬件测试对象,发送第四指示信息;所述第四指示信息用于指示所述客户端与所述硬件测试对象连接的测试软件建立通讯连接。
21.基于不同的测试对象需要,选择对应的测试方式,提高测试的灵活性。
22.可选的,向所述客户端发送心跳包,所述心跳包用于表征所述客户端与所述测试平台的同步率。
23.通过心跳包实现了客户端与测试平台之间保持同步的效果。
24.可选的,接收所述客户端发送的第一消息,所述第一消息包括第一测试对象对应的第一测试结果和第二测试对象对应的第二测试结果。
25.通过第一消息将多个测试结果进行格式统一,便于测试平台进行统一管理。
26.根据本技术的第二方面,提供了一种车辆测试方法,应用于客户端,包括:接收来自测试平台的测试数据,所述测试数据包括第一测试对象和第二测试对象的测试数据;所述第一测试对象和第二测试对象为不同类型的测试对象;根据所述测试数据,对第一测试对象和第二测试对象进行测试,获得第一测试对象的第一测试结果与所述第二测试对象的第二测试结果;根据所述第一测试对象的第一测试结果与所述第二测试对象的第二测试结果,生成并向所述测试平台发送第一消息;所述第一消息包括所述第一测试结果和所述第二测试结果。
27.通过测试数据生成测试任务对第一测试对象和第二测试对象进行测试,将测试结果进行统一,便于测试平台进行统一管理。
28.可选的,所述客户端为第一客户端,所述方法还包括:
29.向所述测试平台发送的第一测试对象的第一状态;所述第一状态包括:在线状态或离线状态;所述第一状态用于确定所述测试数据包括所述第一测试对象的测试数据;
30.接收来自测试平台的测试数据,包括:
31.接收所述第一测试对象的测试数据。
32.实现了测试平台与在线的客户端的通信连接,并将测试对象的测试数据发送到相应的测试客户端中。
33.可选的,接收来自所述测试平台的第一指示信息;所述第一指示信息用于指示所
述第一客户端与所述第一测试对象建立通信连接。
34.通过指示信息将客户端与测试对象建立通讯连接,提高了测试效率。
35.可选的,向所述测试平台发送所述第一测试对象的第二状态;所述第二状态包括:工作状态或空闲状态;
36.接收来自所述测试平台的第二指示信息;所述第二指示信息用于指示所述第一客户端对所述第一测试对象进行测试,所述第二指示信息为根据所述第二状态确定的。
37.在对测试对象进行测试时,通过第一指示信息判断测试对象的工作状态,处于空闲状态的测试对象才能进行通讯连接,提高了测试效率。
38.可选的,所述生成所述第一消息,包括:
39.与所述测试平台通讯连接,所述通讯连接用于传输所述第一测试任务和第二测试任务的测试参数;所述第一测试任务用于对所述第一测试对象进行测试,所述第二测试任务用于对所述第二测试对象进行测试;
40.根据所述通讯协议,生成所述第一消息。
41.通过第一消息将多个测试结果进行格式统一,便于测试平台进行统一管理。
42.可选的,所述第一测试对象包括:软件测试对象或硬件测试对象;所述方法还包括:
43.若所述第一测试对象为软件测试对象,与所述软件测试对象建立通讯连接;
44.若所述第二测试对象为硬件测试对象,与所述硬件测试对象连接的测试软件建立通讯连接。
45.对于不同的测试对象需要选择对应的测试方式,避免出现测试错误的问题。
46.可选的,所述对第一测试对象进行测试,包括:
47.根据第一测试对象及所述测试数据,获取对应所述第一测试对象的测试框架;
48.基于所述测试框架选择与所述测试框架所匹配的测试软件及测试脚本;
49.根据所述测试脚本执行所述测试软件,对所述第一测试对象进行测试。
50.通过不同的测试脚本选择合适的测试软件,根据测试软件对测试对象进行测试,提高了测试效率。
51.可选的,接收所述测试平台发送的心跳包,所述心跳包用于表征所述客户端与所述测试平台的同步率。
52.通过心跳包实现了客户端与测试平台之间保持同步的效果。
53.根据本技术的第三方面,提供了一种车辆测试装置,应用于测试平台,包括:
54.获得模块,用于获得测试指令;所述测试指令包括:第一测试指令和第二测试指令;所述第一测试指令用于对第一测试对象进行测试;所述第二测试指令用于对第二测试对象进行测试;所述第一测试对象和第二测试对象为不同类型的测试对象;
55.确定模块,用于根据所述测试指令,确定所述第一测试指令和第二测试指令对应的测试数据;
56.发送模块,用于向客户端发送所述测试数据,所述测试数据用于所述客户端对所述第一测试对象和所述第二测试对象进行测试。
57.根据本技术的第四方面,提供了一种车辆测试装置,应用于客户端,包括:
58.接收模块,用于接收来自测试平台的测试数据,所述测试数据包括第一测试对象
和第二测试对象的测试数据;所述第一测试对象和第二测试对象为不同类型的测试对象;
59.测试模块,用于根据所述测试数据,对第一测试对象和第二测试对象进行测试,获得第一测试对象的第一测试结果与所述第二测试对象的第二测试结果;
60.发送模块,用于根据所述第一测试对象的第一测试结果与所述第二测试对象的第二测试结果,生成并向所述测试平台发送第一消息;所述第一消息包括所述第一测试结果和所述第二测试结果。
61.测试平台根据本技术的第五方面,提供了一种电子设备,包括:
62.至少一个处理器;以及
63.与至少一个处理器通信连接的存储器;其中,
64.存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面或第二方面中的任一项方法。
65.根据本技术的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行第一方面或第二方面中的任一项方法。
66.根据本技术的技术优化了现有技术中车辆测试中管理效率较低的缺陷,实现了车辆测试中对不同测试对象提高管理效率的效果。
附图说明
67.图1是本技术实施例中系统模块的结构示意图;
68.图2是本技术实施例中测试平台结构示意图;
69.图3是本技术实施例中一种车辆测试方法的方法流程图;
70.图4是本技术实施例中客户端的一种交互示意图;
71.图5是本技术实施例中客户端的另一种交互示意图;
72.图6是本技术实施例中客户端的又一种交互示意图;
73.图7是本技术实施例中一种车辆测试装置的结构示意图;
74.图8是本技术实施例中另一种车辆测试装置的结构示意图;
75.图9是本技术实施例中电子设备的示意图。
具体实施方式
76.图1为本实施例中测试系统的架构示意图,在本实施例中,测试系统可以包括:测试平台、客户端和测试对象。
77.测试平台可以为服务器端,客户端与测试平台预先进行通讯连接。客户端和测试软件可以安装在上位机或连入网络的计算机,(例如,pc)等电子设备上,客户端和测试软件用于对测试对象进行测试,还可以接受网络测试平台的控制和管理。测试平台可以通过测试平台根据用户或测试平台生成的对目标测试对象进行测试的测试任务生成测试数据,再将测试数据发送到客户端中对相应的测试对象进行测试。
78.具体地,测试平台可以包括服务器端,服务器端用于对测试平台中的相关数据进行统一管理,例如对账号系统、代码、设备、测试过程、测试工具等等进行管理,数据库通过脚本地址配置服务器端的相关数据。测试平台与第一平台、第二平台和第三平台进行通讯连接,示例性的,第一平台可以为供应链平台、第二平台可以为项目与事务跟踪工具,第三
平台可以为产品开发平台;服务器端分别与第一平台、第二平台和第三平台进行数据交换,示例性的,服务器端可以通过第一平台进行代码自测冒烟测试,其中,第一平台中包括了编译与分支功能,也可以通过第二平台进行自动化测试关联,其中,第二平台包括了存储、任务和bug修复,还可以通过第三平台进行测试统计和需求分析,其中,第三平台包括了测试对象、测试用例和测试计划。测试平台与外部开发、测试以及产品管理(product manager,pm)平台进行连接,实现了对测试平台的开发、管理和更新。
79.测试平台可以将生成的测试数据存储在测试平台的数据库中,数据库中包括了测试脚本、测试库和测试工具等等,生成的测试数据可以发送到客户端,客户端可以将该测试数据存储在客户端的数据库中,该测试数据库可以用于对相应的测试对象进行测试。
80.与测试对象为硬件连接的客户端中,包括了测试框架、pc工具、自动化数据库和驱动等模块,其中测试框架包括了集成测试脚本、系统测试脚本以及对集成测试脚本和系统测试脚本进行封装的关键字封装模块。pc工具中包括了carsim、soasim、语音注入、地图仿真、视频注入、刷写、log和标定等功能。自动化数据库中包括了adb、ulautomator、soa、carsim、speech、map和图像比较等功能。驱动中包括了adb、can/lin、ethernet、camera、程控电源、音视频板卡和ad/io板卡等。与测试对象为软件连接的客户端中,包括了测试框架、第三方测试软件和驱动等模块,其中测试框架包括了自动化测试脚本、自研测试工具和自动化数据库等。第三方测试软件中包括了测试管理软件、测试脚本与运行软件和实验软件。
81.测试对象可以为汽车零部件、集成台架和整车等等不同类型。测试的内容可以为测试软件性能、硬件数据等等,举例来说,测试对象可以是第一平台、第二平台和第三平台等平台中的测试对象,示例性的,第一平台可以为供应链平台、第二平台可以为项目与事务跟踪工具,第三平台可以为产品开发平台;在此不做限定。测试对象还可以是研发管理,和远程测试管理中涉及的测试对象,测试对象还可以是汽车电子零部件(ecu)和集成系统等测试对象,在本实施例中不做具体限定。示例性的,硬件测试对象可以包括:pcan、手机、canoe、板卡、rad-moon和相机等等,通过输出接口tca、bgm和cdc等与上位机连接。软件测试对象可以包括测试工具、网络测试台架和hil等,通过输出接口labcar、sub-system和vehcle等与上位机进行连接。
82.图2为本实施例中测试平台的结构示意图,各客户端可以连接到测试平台。
83.测试平台可以包括任务管理、设备管理、远程管理、异步通信框架、调度管理、用户和权限管理、系统模块、通知模块、三方转接器和数据分析等。其中,任务管理用于对不同测试任务和任务类型进行管理。设备管理用于对与测试平台连接的不同客户端以及不同客户端的类型进行管理。远程管理用于对虚拟网络控制台(virtual network console,vnc)和web工程等远程服务器端进行管理。异步通信框架用于同时与多个其他设备进行通讯连接。调度管理用于对触发器、任务管理器和任务执行器等设备进行统一调度。用户和权限管理用于对不同用户的访问权限进行管理。系统模块用于对系统的操作日志和系统的配置进行存储。通知模块用于通过微信和邮件等方式与外部通讯设备进行数据交换。三方转接器用于与其他的测试平台进行数据互通。数据分析用于在测试任务完成后对测试结果生成测试报告与项目分析,并对测试报告与项目分析进行统一管理。
84.设备管理和远程管理用于对测试任务和测试对象进行管理。异步通信框架和调度管理用于对不同测试任务进行调度和分配对应客户端。
85.针对于不同的测试对象,本技术实施例中的测试平台,可以支持各类开源测试框架及测试管理软件的接入,由本技术实施例提供的框架中的自动化测试软件调起测试框架,例如,python编写的功能自动化测试框架、接口自动化框架、嵌入式硬件架构、数字资产管理系统和开源主机性能检测框架等。例如,robot framework、pytest、testng、ni工具链、dspace工具链和vector工具链等。
86.测试平台通过开发过程中统一自动化执行接口,打通了不同类型的测试对象之间的测试,还可以将各类测试对象对应的测试任务接入统一的测试云端平台管理,实现平台的远程任务的下发和结果展示。
87.在本技术中通过在车辆测试中对不同测试对象分别进行测试,将测试结果进行统一返回测试平台,有效提高了车辆测试中对不同测试对象提高管理效率。
88.结合图1和图2所示的系统架构,本实施例提供一种车辆测试方法,如图3所示,包括如下步骤:
89.步骤301、测试平台获得测试指令;
90.其中,测试指令包括:第一测试指令和第二测试指令;第一测试指令用于对第一测试对象进行测试;第二测试指令用于对第二测试对象进行测试;第一测试对象和第二测试对象为不同类型的测试对象。
91.示例性的,在本实施例中第一测试对象和第二测试对象可以为汽车零部件、集成台架和整车、系统框架、应用等等不同类型。测试的内容可以为测试软件性能、硬件数据等等,在本实施例中不做具体限定。
92.一种可能的实现方式,在测试平台上创建测试任务时,测试对象可指定为某一类型的测试对象,例如,同一类型的ecu,例如,座舱的ecu、再比如,还可以是系统测试对象,如自动驾驶hil台架。该类的测试对象可以是对应唯一的实体,该实体可以作为一种类型的测试对象,也可以是对应多种实体,该实体中的一个或多个实体作为该种类型的测试对象。在执行第一测试指令或第二测试指令时,选择的测试对象可以为该类型中唯一的实体,例如测试标识id为001的ecu,测试平台可以向测试标识001的ecu的客户端下发测试指令。
93.另一种可能的实现方式,用户可以通过在测试平台的测试页面上创建或者选择测试对象后,测试平台获得第一测试对象对应的第一测试指令,及第二测试对象对应的第二测试指令。可选的,用户还可以选择测试对象对应的客户端,此时,测试指令中可以包括用户选择的客户端。在一种可选的情况中,用户可以通过选择测试对象触发测试指令,而不需要选择客户端。具体地,测试设备通过连接测试设备的客户端上报到测试平台,测试平台下发测试指令时,会将测试指令下发到测试对象连接的客户端上,由此,可以节省用户的操作过程,提升测试效率。当然,测试平台还可以预留手动选择客户端的能力以应对可能的其他场景,例如,突发的特殊情况,举例来说,测试设备在完全无法上报在线状态并且此时用户又知道该测试设备连接的客户端的信息,例如,客户端的ip地址等,用户可手动选择客户端。
94.再一种可能的实现方式,考虑到测试对象可能执行不同的测试任务,以第一测试对象执行第一测试任务,第二测试对象执行第二测试任务为例,一种可能的实现方式,如图4所述,图4为本实施例中交互示意图,用户可以通过在测试平台的测试页面上创建或者选择测试任务,生成相应的测试指令。例如,用户确定第一测试对象的第一测试任务后,测试
平台基于用户选择的第一测试任务,获得第一测试指令。用户确定第二测试对象的第二测试任务后,测试平台基于用户选择的第二测试任务,获得第二测试指令。
95.测试平台可以根据获得的测试指令,确定第一测试任务对应的客户端,及第二测试任务对应的客户端。
96.可选的,客户端可以获取所述第一测试对象或第二测试对象的第一状态;在获得第一状态后,可以向测试平台发送所述第一测试对象或第二测试对象的第一状态。其中,测试对象的第一状态可以包括:在线状态和离线状态;以第一测试对象为例,第一测试对象的第一状态可以包括在线状态和离线状态。
97.其中,在线状态可以是建立通信连接的状态,也可以是上电状态。离线状态可以是未建立通信连接的状态但是已上电的状态,或者,离线状态可以是未上电状态。
98.测试平台可以在测试页面上显示所述第一测试对象或第二测试对象的第一状态;进而,用户还可以基于所述第一测试对象或第二测试对象的第一状态,确定触发所述第一测试对象或第二测试对象的测试任务的客户端。在一种可能的实施方式中,触发的客户端是测试平台根据测试平台与客户端之间的通信连接确定的,用户可以通过确定执行测试任务的测试对象,触发测试。
99.例如,第一客户端向测试平台发送第一测试对象的第一状态,测试平台根据第一客户端发送的第一测试对象的第一状态,确定与第一客户端连接的第一测试对象为在线状态时,可以在确定获得第一测试指令后,即确定对第一测试对象执行第一测试任务后,可以向第一客户端发送第一测试对象的测试数据,例如,第一测试任务。
100.再比如,在确定与第一客户端连接的第一测试对象为离线状态,确定与第二客户端连接的第一测试对象为在线状态,则可以在确定获得第一测试指令后,即确定对第一测试对象执行第一测试任务后,可以向第二客户端发送第一测试对象的测试数据,例如,第一测试任务。
101.再比如,在确定与第一客户端连接的第一测试对象为离线状态,则可以在确定获得第一测试指令后,即确定对第一测试对象执行第一测试任务后,可以向第二客户端发送第一指示信息,用于指示第一客户端与第一测试对象建立通讯链接。
102.考虑到第一测试对象可能正在执行其他测试任务的场景,客户端可以向测试平台发送测试对象的第二状态,其中,第二状态包括:工作状态或空闲状态,测试平台可以根据所述第一测试对象的第二状态,向所述第一客户端发送第二指示信息,所述第二指示信息用于指示所述第一客户端执行所述第一测试对象的测试。
103.例如,在测试平台确定测试对象处于空闲态时,测试平台可以根据所述第一测试对象的第二状态,向所述第一客户端发送第二指示信息,第一客户端在接收到第二指示信息后,可以与第一测试对象建立通信连接,为后续对第一测试对象执行第一测试任务做准备。
104.举例来说,参阅图5,图5为本实施例中又一种交互示意图,首先用户可以在测试平台中选择浏览测试任务,测试平台将测试任务列表呈现给用户,用户可以在任务列表中同时选择多个测试任务进行测试,此时,测试平台可以异步触发每个测试任务,并将是否成功触发测试任务的结果返回给用户。其中,本地设置存储最大任务数,例如,可以默认为5个,具体数量可以根据用户的需要或其他情况进行调整。当超过最大缓存任务时,清除最早创
建的任务。
105.另一种可能的实现方式,用户还可以通过在客户端的测试页面上创建或者选择测试对象后,并向测试平台发送测试指令,例如,第一客户端上发送第一测试对象的第一测试指令,第二客户端上发送第二测试对象的第二测试指令,从而,测试平台获得第一测试对象对应的第一测试指令,及第二测试对象对应的第二测试指令。需要说明的是,第一客户端和第二客户端可以不是用于测试第一测试对象的客户端,第一客户端和第二客户端可以不是用于测试第二测试对象的客户端。当然,第一客户端也可以是用于测试第一测试对象的客户端,第二客户端也可以是用于测试第二测试对象的客户端,在此不做限定。测试平台确定对测试对象执行测试任务的客户端的方式及向客户端发送测试任务的方式可以参见上一实现方式,在此不在赘述。
106.在一些实施例中,测试指令可以是客户端发送的测试数据的查询请求。
107.一种可能的实现方式,客户端可以所述第一测试对象和所述第二测试对象中的至少一项,生成测试数据的查询请求。再一种可能的实现方式,客户端可以所述第一测试任务和所述第二测试任务中的至少一项,生成测试数据的查询请求。进而,测试平台可以根据客户端发送的查询请求,确定测试数据。
108.步骤302、测试平台根据测试指令,确定第一测试指令和第二测试指令对应的测试数据。
109.在一些实施例中,测试数据可以包括:测试对象的信息,测试框架的信息或测试软件的信息、测试脚本的信息、刷机信息等。
110.其中,测试对象的信息可以包括:测试对象对应的被测系统或零部件信息;测试脚本的信息可以包括测试脚本的地址信息、测试脚本的执行信息;刷机信息可以包括测试软件包的路径信息;测试脚本的执行信息可以包括测试脚本执行的次数等。
111.测试脚本的地址信息可以用于指示测试脚本的地址,例如,测试脚本在客户端的数据库或测试平台的数据库的地址,还可以是测试脚本在本地或远程的地址。
112.一种可能的实现方式,测试平台可以根据用户发送的第一测试指令和第二测试指令,确定第一测试对象和第二测试对象,并针对第一测试对象和第二测试对象,在测试平台的数据库中,确定第一测试对象和第二测试对象的测试数据。
113.以测试脚本为例,测试脚本可以用于对测试对象进行测试。测试脚本可以是基于测试任务的类型生成的,也可以是基于测试对象的类型生成的。
114.测试平台的数据库中包含了用于执行测试任务的测试脚本以及对应测试脚本的数据参数,在测试过程中,测试平台根据测试任务调用对应的测试脚本和数据参数并发送到客户端中,一般地,不同测试任务对应的测试脚本不同。在另一种可能的实现方式中,在客户端中也可以设置数据库,客户端在测试软件执行测试任务中,直接从客户端的数据库中调用测试脚本以及对应测试脚本的数据参数,客户端的数据库与测试平台数据库可以保持数据互通,当测试平台的数据库的存储进行更新时,客户端的数据库也能相应得到更新。
115.结合上述举例,测试平台可以基于用户或测试平台生成的对测试对象进行测试的测试任务,生成测试数据。
116.在一些实施例中,测试脚本可以包括:所述测试平台的数据库中的测试脚本的数据参数,具体地,该测试脚本用于根据第一测试对象和第二测试对象中的至少一项生成的;
也可以是基于第一测试对象对应的第一测试任务,及基于第二测试对象对应的第二测试任务生成的。数据参数用于配置测试脚本,不同的测试脚本中包含的数据参数不同或部分相同。
117.考虑到不同测试任务或不同类型的测试对象,可能使用的测试脚本对应的数据参数有重叠,本技术实施例中,测试平台可以使用关系型数据库管理系统(例如,mysql8)作为主数据存储,使用对象关系映射(object relational mapping,orm)作为数据库中间件;通过数据库中间件,对不同测试对象的测试任务采用的相同测试数据,建立对象关系映射,从而,实现生成测试脚本所调用的数据参数可以存储在测试平台的数据库中,实现数据参数的共享。可选的,测试平台的数据库还可以采用其他存储中间件,可以根据需要部署,例如,远程服务(redis)、分布式文件存储的数据库,例如,mongo。
118.一种可能的实现方式,客户端可以与测试平台预先进行通讯连接,通讯连接用于传输所述第一测试任务和第二测试任务的测试参数。测试平台上创建测试任务时,测试平台会根据所选择的测试对象和测试框架类型定义相关测试任务的测试参数。其中,不同测试对象和不同测试框架的测试参数可能是不同的。例如,测试参数可以以json文件格式基于一定的通讯协议传递给客户端,在测试测试平台与客户端之间,客户端与测试对象之间的通信协议可以是socket通信。
119.另一种可能的实现方式,在测试平台与客户端进行通讯连接之前,可以确定测试平台与客户端之间的通讯协议。举例来说,该通讯协议可以是基于测试平台中的各测试任务确定。
120.具体地,各测试任务对应了不同测试对象,不同测试对象生成的测试结果类型也不相同,符合所有测试结果类型的通讯协议即可在测试平台进行使用。示例性的,在本实施例中测试平台与客户端之间可以采用异步通信框架实现。
121.举例来说,测试平台可以与客户端预先协商通信协议,测试平台根据协商好的接口协议下发测试任务,例如,测试任务可以包括执行命令和任务参数,客户端在收到执行任务的指令后,启动一个双向通信协议传递该测试任务,当测试完成后将包含测试结果的第一消息返回给测试平台,客户端关闭连接。例如,双向通信协议可以是websocket,还可以是其他双向通信协议,在此不做限定。
122.可选的,所述第一测试对象或第二测试对象包括:软件测试对象和硬件测试对象;若所述第一测试对象或第二测试对象为软件测试对象,与所述软件测试对象建立通讯连接;若所述第一测试对象或第二测试对象为硬件测试对象,与所述硬件测试对象连接的测试软件建立通讯连接。
123.具体地,硬件测试对象可以为汽车零部件和整车等,此时,客户端可以与硬件测试对象对应的硬件测试对象的测试软件建立通信连接,测试软件可以是硬件系统或硬件子系统对应的测试软件,比如canoe,automationdesk,teststand等等。此时,该测试软件可以驱动对应的测试设备来完成测试对象的测试。
124.软件测试对象可以为汽车中搭载的软件,当测试对象为软件时,客户端可直接与测试对象建立通讯连接,以对测试对象进行测试和管理。
125.客户端和软件测试对象之间可以采用通用的任务调度接口,客户端和测试软件(例如,用于连接硬件测试对象的测试软件)之间也可以采用统一的任务调度接口,示例性
的,任务调度接口可以用于客户端调度测试任务的开启、暂停和重启;还可以用于客户端传递测试运行环境下载;还可以用于客户端传递测试用例下载和上报测试结果和测试报告等。
126.步骤303、测试平台向客户端发送测试数据。
127.在一些实施例中,测试数据通过测试平台生成后,由测试平台发送到客户端中。相应的,客户端可以接收来自测试平台的测试数据。其中,测试数据用于客户端对所述第一测试对象和第二测试对象进行测试。
128.结合步骤302,测试平台可以根据确定对第一测试对象进行测试的第一客户端发送第一测试对象的测试数据,测试平台可以根据确定对第二测试对象进行测试的第二客户端发送第二测试对象的测试数据。从而,第一客户端可以基于第一测试对象的测试数据,对第一测试对象进行测试。第二客户端可以基于第二测试对象的测试数据对第二测试对象进行测试。需要说明的是,第一客户端和第二客户端可以是相同的客户端,也可以是不同的客户端,为描述方便,本技术中以客户端可以对第一测试对象和第二测试对象进行测试为例进行说明。第一客户端对第一测试对象进行测试或第二客户端对第二测试对象进行测试的方式可以参考下面的实施例,在此不在赘述。
129.可选的,测试平台可以向客户端发送测试数据的查询结果;通过发送查询结果,向客户端发送测试数据。
130.一种可能的实现方式,查询结果包括所述测试平台的数据库中的测试脚本的数据参数,所述测试脚本为根据所述第一测试对象的第一测试任务和所述第二测试对象的第二测试任务中的至少一项生成的。
131.在本实施例中,测试平台会向客户端发送查询结果,该查询结果基于测试数据生成,该查询结果中包含了关于测试脚本的数据参数,通过测试脚本和数据参数,运行测试软件,并对测试对象进行测试。
132.一种可能的实现方式,测试平台将多个测试任务下发到客户端,客户端对测试任务进行执行并唤起对应测试任务的测试软件进行测试。在测试软件的测试过程中,客户端对测试软件进行实时监听,获取测试进度并向测试平台进行汇报。
133.其中,任务监听的内容包括:任务名称、任务id、设备类型、配置测试脚本、触发方式等。任务执行的内容包括:根据任务指定的测试设备,不断查询设备状态和执行测试任务。在一种可能的实施方式中,如果测试软件或者侧测试框架支持,此时客户端还可以监控测试任务的执行状态,其中,执行状态包括但不限于任务执行进度和当前执行的用例条目。
134.步骤304、客户端根据所述第一测试对象的第一测试结果与所述第二测试对象的第二测试结果,生成并向所述测试平台发送第一消息;所述第一消息包括所述第一测试结果和所述第二测试结果。
135.一种可能的实现方式,客户端分别根据第一测试任务和第二测试任务对第一测试对象和第二测试对象进行测试,生成对应第一测试对象的第一测试结果和对应第二测试对象的第二测试结果。
136.在本实施例中,客户端可以通过对第一测试对象和第二测试对象分别匹配对应的测试软件进行测试,参阅图6,图6为本实施例中的另一种交互示意图。
137.可选的,部署和运行客户端之后,客户端可以对测试平台下发的测试数据对应的
测试参数进行解析,并启动对应的测试脚本,通过测试脚本部署测试环境后对目标对象进行测试生成测试结果。
138.可选的,客户端可以根据所述第一测试任务和第二测试任务配置测试脚本;基于所述测试脚本获取数据参数,基于所述测试脚本和数据参数对对所述第一测试对象和第二测试对象进行测试。
139.在一些实施例中,客户端可以根据第一测试对象和测试数据,获取对应所述第一测试对象的测试框架;基于所述测试框架选择与所述测试框架所匹配的测试软件;通过所述测试框架提供的测试脚本,执行所述测试软件,并对所述第一测试对象进行测试。
140.在本实施例中,以第一测试对象为例,客户端通过第一测试对象确定对应的测试框架,其中,测试框架可以是用户在测试任务中配置的,通过测试数据下发到客户端中。在一些实施例中,测试框架用于客户端确认调起测试框架中的执行器(runner),并对调起的执行器(runner)赋予对应的执行参数,以对第一测试对象进行测试。在另一些实施例中,测试框架用于客户端确认调起测试框架中的测试软件,并对调起的测试软件赋予对应的执行参数,以对第一测试对象进行测试。
141.示例性的,第一测试对象为汽车零部件,客户端通过匹配汽车零部件的测试框架,通过该测试框架配置对应的测试脚本,基于该测试脚本对汽车零部件进行测试,而第二测试对象为汽车台架时,客户端会匹配与汽车台架对应的测试框架,并根据该侧测试框架配置对应的测试脚本,其中,汽车台架的测试脚本与汽车零部件的测试脚本不相同。
142.举例来说,在测试平台任务启动之后,客户端会生成一个执行文件夹(workspace),该文件夹用于从存储执行此次任务所需要的各类参数和日志文件,根据测试任务的具体内容生成。文件夹根据此次测试任务执行的唯一id命名,客户端在执行文件夹中生成一个taskinfo.json文件,该文件中记录了测试软件中运行执行此次测试任务中所需要的各类参数。在测试软件执行测试任务结束后,客户端会在执行文件中生成一个result.json文件和report(报文)目录,其中,report目录存放此次测试任务执行的所有日志,result.json文件记录本次测试任务的信息。
143.客户端根据测试框架启动相应的测试软件,测试软件会向远程数据库获取测试脚本和测试环境,其中,远程数据库中预先存储了对应不同测试对象的测试脚本,相比于现有技术中在测试过程中重新生成测试脚本,提高了测试效率。该测试脚本根据测试任务进行调取,通过测试软件自动向远程数据库部署测试环境和脚本,实现了测试环境自动化部署,减少人工操作,避免测试环境原因导致的差异性。测试软件将测试测试平台下发的数据参数进行解析后传输测试脚本中根据各个测试框架及编程语言实现的自动化测试,最后根据平台的相关要求,返回生成的测试结果。
144.一种可能的实现方式,测试软件与客户端之间可以通过js对象简谱(javascript object notation,json)文件进行数据交换,一种可能的实现方式,测试平台可以采用表格工具与标签工具,实现测试平台与客户端之间的数据交换。在其他实施例中,也可以将测试软件与客户端基于通讯协议进行通讯。在一些实现方式中,测试平台和客户端之间可以通过应用程序接口(application programming interface,api),实现前端和后端之间的分离。客户端使用python、js等系统库,不依赖其他第三方库,可以兼容不同python、js语言版本,提升了开发效率。
145.可选的,在执行第一测试任务的测试过程中,也可以获得第一测试对象的工作状态。
146.举例来说,客户端可以根据第一时间间隔获取所述第一测试对象或第二测试对象的工作状态;第一时间间隔可以为系统或用户预先设定,可以为1分钟或者10秒,在第一时间间隔后,客户端会查询一次需要测试对象的工作状态直到该测试对象完成测试。
147.可选的,测试平台还可以向客户端发送心跳包,所述心跳包用于表征所述客户端与所述测试平台的同步率。相应的,客户端可以在接收到测试平台发送的心跳包后,向测试平台发送心跳包。
148.在本实施例中,测试平台与客户端之间存在心跳监听机制,确保客户端状态与测试平台实时同步,心跳包使用websocket中的ping和pong控制消息作为心跳包,心跳默认时间为60秒。当客户端与服务器的心跳处于同步状态时,客户端会上传本地的状态,例如客户端在线状态、ip地址、连接设备的信息,其中连接设备的信息包括设备的id、设备状态和执行任务的状态。
149.本技术提供的车辆测试方法,通过在车辆测试中对不同测试对象分别进行测试,将测试结果进行统一返回测试平台,实现了车辆测试中对不同测试对象提高管理效率的效果。
150.一种可能的实现方式,根据客户端与测试平台之间的通讯协议,生成第一消息。
151.在本实施例中,客户端将第一测试结果和第二测试结果进行格式统一后合并,生成符合通讯协议要求的第一消息后发送给测试平台。示例性的,第一测试结果和第二测试结的格式可以相同也可以不相同,是否相同具体根据测试对象决定。例如,客户端可以将第一测试结果和第二测试结果合并为第一消息后发送给测试平台。
152.一种可能的实现方式,测试结果可以以测试报告的形式发送。例如,当测试完成后,客户端将测试报告返回到测试平台中,测试平台更新测试任务的执行状态。其中,测试报告包括:收集测试结果基础信息例如测试版本、测试时间、测试成功数量等、测试数据例如测试基础信息和日志。
153.一种可能的实现方式,发送测试结果还可以是在接收到测试平台或客户端的测试结果的查询请求时发送的。该测试结果的查询请求可以是周期性发送的,也可以是用户发起的。
154.例如,用户可以向测试平台发送查询指令,该查询指令用于查询测试任务的执行结果,测试平台响应于该查询指令,可以向客户端发送测试结果的查询请求,在客户端接收到该测试结果的查询请求后,可以向测试平台发送测试结果。并将测试结果显示在测试平台的测试页面。可选的,测试平台在接收到客户端的测试结果后,可以进行后续分析。
155.本技术提供的车辆测试方法,通过在车辆测试中对不同测试对象分别进行测试,将测试结果进行统一返回测试平台,实现了车辆测试中对不同测试对象提高管理效率的效果。
156.如图7所示,本技术提供一种车辆测试装置700,应用于客户端,包括:
157.接收模块710,用于接收来自测试平台的测试数据,所述测试数据包括第一测试对象和第二测试对象的测试数据;所述第一测试对象和第二测试对象为不同类型的测试对象;
158.测试模块720,用于根据所述测试数据,对第一测试对象和第二测试对象进行测试,获得第一测试对象的第一测试结果与所述第二测试对象的第二测试结果;
159.发送模块730,用于根据所述第一测试对象的第一测试结果与所述第二测试对象的第二测试结果,生成并向所述测试平台发送第一消息;所述第一消息包括所述第一测试结果和所述第二测试结果。
160.可选的,所述客户端为第一客户端,发送模块,还用于向所述测试平台发送的第一测试对象的第一状态;所述第一状态包括:在线状态或离线状态;所述第一状态用于确定所述测试数据包括所述第一测试对象的测试数据;
161.接受模块,还用于接收来自测试平台的测试数据,包括:接收所述第一测试对象的测试数据。
162.确定模块,用于确定与测试平台之间的通讯协议,所述通讯协议基于第一测试任务和第二测试任务确定;所述第一测试任务用于对所述第一测试对象进行测试,所述第二测试任务用于对所述第二测试对象进行测试;
163.生成模块,用于根据所述通讯协议,生成所述第一消息。
164.可选的,装置700还包括:
165.配置模块,用于根据所述第一测试任务和第二测试任务配置测试脚本;
166.测试模块,用于基于所述测试脚本获取数据参数,基于所述测试脚本和数据参数对对所述第一测试对象和第二测试对象进行测试。
167.可选的,接收模块,还用于接收来自所述测试平台的查询结果;所述查询结果包括所述测试平台的数据库中的测试脚本的数据参数,所述测试脚本为根据所述第一测试对象的第一测试任务和所述第二测试对象的第二测试任务中的至少一项生成的。
168.可选的,发送模块,还用于向所述测试平台发送测试数据的查询请求;所述查询请求所述第一测试对象和所述第二测试对象中的至少一项生成的。
169.可选的,接受模块,还用于接收来自所述测试平台的第一指示信息;所述第一指示信息用于指示所述第一客户端与所述第一测试对象建立通信连接。
170.可选的,发送模块,还用于向所述测试平台发送所述第一测试对象的第二状态;所述第二状态包括:工作状态或空闲状态;
171.接受模块,还用于接收来自所述测试平台的第二指示信息;所述第二指示信息用于指示所述第一客户端对所述第一测试对象进行测试,所述第二指示信息为根据所述第二状态确定的。
172.可选的,装置700还包括:
173.通讯模块,用于与所述客户端建立通讯连接,所述通讯连接用于传输所述第一测试任务和第二测试任务的测试参数;所述第一测试任务用于对所述第一测试对象进行测试,所述第二测试任务用于对所述第二测试对象进行测试;
174.生成模块,还用于根据所述通讯协议,生成所述第一消息。
175.可选的,所述第一测试对象包括:软件测试对象或硬件测试对象;若所述第一测试对象为软件测试对象,通过通讯模块与所述软件测试对象建立通讯连接;若所述第二测试对象为硬件测试对象,通过通讯模块与所述硬件测试对象连接的测试软件建立通讯连接。
176.可选的,装置700还包括:
177.获取模块,用于根据第一测试对象及所述测试数据,获取对应所述第一测试对象的测试框架;
178.匹配模块,用于基于所述测试框架选择与所述测试框架所匹配的测试软件及测试脚本;
179.测试模块还用于根据所述测试脚本执行所述测试软件,对所述第一测试对象进行测试。
180.可选的,接受模块,还用于接收所述测试平台发送的心跳包,所述心跳包用于表征所述客户端与所述测试平台的同步率。
181.本技术提供的车辆测试装置能够实现车辆测试方法实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
182.如图8所示,本技术提供一种车辆测试装置800,应用于测试平台,包括:
183.获得模块810,用于获得测试指令;所述测试指令包括:第一测试指令和第二测试指令;所述第一测试指令用于对第一测试对象进行测试;所述第二测试指令用于对第二测试对象进行测试;所述第一测试对象和第二测试对象为不同类型的测试对象;
184.确定模块820,用于根据所述测试指令,确定所述第一测试指令和第二测试指令对应的测试数据;
185.发送模块830,用于向客户端发送所述测试数据,所述测试数据用于所述客户端对所述第一测试对象和所述第二测试对象进行测试。
186.可选的,装置800还包括:
187.接受模块,用于接收第一客户端发送的第一测试对象的第一状态;所述第一状态包括:在线状态或离线状态;
188.确定模块,还用于根据所述第一测试对象的第一状态及所述第一测试指令,确定所述第一客户端为第一测试对象对应测试的客户端;
189.发送模块,还用于向客户端发送所述测试数据,包括:
190.向所述第一客户端发送所述第一测试对象的测试数据。
191.可选的,发送模块,还用于向所述第一客户端发送第一指示信息;所述第一指示信息用于指示所述第一客户端与所述第一测试对象建立通信连接。
192.可选的,接受模块,还用于接收所述第一客户端发送的所述第一测试对象的第二状态;所述第二状态包括:工作状态或空闲状态;
193.发送模块,还用于根据所述第一测试对象的第二状态,向所述第一客户端发送第二指示信息,所述第二指示信息用于指示所述第一客户端对所述第一测试对象进行测试。
194.可选的,装置800还包括:
195.通讯模块,用于与所述测试平台通讯连接,所述通讯连接用于传输所述第一测试任务和第二测试任务的测试参数;所述第一测试任务用于对所述第一测试对象进行测试,所述第二测试任务用于对所述第二测试对象进行测试。
196.可选的,所述第一测试对象包括以下任一项:软件测试对象和硬件测试对象;
197.若所述第一测试对象为软件测试对象,发送模块还用于发送第三指示信息;所述第三指示信息用于指示所述客户端与所述软件测试对象建立通讯连接;
198.若所述第一测试对象为硬件测试对象,发送模块还用于发送第四指示信息;所述
第四指示信息用于指示所述客户端与所述硬件测试对象连接的测试软件建立通讯连接。
199.可选的,发送模块,还用于向所述客户端发送心跳包,所述心跳包用于表征所述客户端与所述测试平台的同步率。
200.可选的,接受模块,还用于接收所述客户端发送的第一消息,所述第一消息包括第一测试对象对应的第一测试结果和第二测试对象对应的第二测试结果。
201.本技术提供的车辆测试装置能够实现车辆测试方法实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
202.本技术的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和申请等处理,均符合相关法律法规的规定,且不违背公序良俗。
203.根据本技术的实施例,本技术还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
204.图9示出了可以用来实施本技术的实施例的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
205.如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
206.设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
207.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如车辆测试方法。例如,在一些实施例中,车辆测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的车辆测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车辆测试方法。
208.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实
现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
209.用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
210.在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
211.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
212.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
213.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
214.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本技术中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术的技术方案所期望的结果,本文在此不进行限制。
215.上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明
白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。
技术特征:
1.一种车辆测试方法,其特征在于,应用于测试平台,包括:获得测试指令;所述测试指令包括:第一测试指令和第二测试指令;所述第一测试指令用于对第一测试对象进行测试;所述第二测试指令用于对第二测试对象进行测试;所述第一测试对象和第二测试对象为不同类型的测试对象;根据所述测试指令,确定所述第一测试指令和第二测试指令对应的测试数据;向客户端发送所述测试数据,所述测试数据用于所述客户端对所述第一测试对象和所述第二测试对象进行测试。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收第一客户端发送的第一测试对象的第一状态;所述第一状态包括:在线状态或离线状态;根据所述第一测试对象的第一状态及所述第一测试指令,确定所述第一客户端为第一测试对象对应测试的客户端;向客户端发送所述测试数据,包括:向所述第一客户端发送所述第一测试对象的测试数据。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:向所述第一客户端发送第一指示信息;所述第一指示信息用于指示所述第一客户端与所述第一测试对象建立通信连接。4.根据权利要求2-3中任一项所述的方法,其特征在于,所述方法还包括:接收所述第一客户端发送的所述第一测试对象的第二状态;所述第二状态包括:工作状态或空闲状态;根据所述第一测试对象的第二状态,向所述第一客户端发送第二指示信息,所述第二指示信息用于指示所述第一客户端对所述第一测试对象进行测试。5.根据权利要求1-4任一项中所述的方法,其特征在于,所述方法还包括:与所述客户端建立通讯连接,所述通讯连接用于传输所述第一测试任务和第二测试任务的测试参数;所述第一测试任务用于对所述第一测试对象进行测试,所述第二测试任务用于对所述第二测试对象进行测试。6.根据权利要求1-5任一项中所述的方法,其特征在于,所述第一测试对象包括以下任一项:软件测试对象和硬件测试对象;若所述第一测试对象为软件测试对象,发送第三指示信息;所述第三指示信息用于指示所述客户端与所述软件测试对象建立通讯连接;若所述第一测试对象为硬件测试对象,发送第四指示信息;所述第四指示信息用于指示所述客户端与所述硬件测试对象连接的测试软件建立通讯连接。7.根据权利要求1-6任一项中所述的方法,其特征在于,所述方法还包括:向所述客户端发送心跳包,所述心跳包用于表征所述客户端与所述测试平台的同步率。8.根据权利要求1-7任一项中所述的方法,其特征在于,所述方法还包括:接收所述客户端发送的第一消息,所述第一消息包括第一测试对象对应的第一测试结果和第二测试对象对应的第二测试结果。9.一种车辆测试方法,其特征在于,应用于客户端,包括:
接收来自测试平台的测试数据,所述测试数据包括第一测试对象和第二测试对象的测试数据;所述第一测试对象和第二测试对象为不同类型的测试对象;根据所述测试数据,对第一测试对象和第二测试对象进行测试,获得第一测试对象的第一测试结果与所述第二测试对象的第二测试结果;根据所述第一测试对象的第一测试结果与所述第二测试对象的第二测试结果,生成并向所述测试平台发送第一消息;所述第一消息包括所述第一测试结果和所述第二测试结果。10.根据权利要求9所述的方法,其特征在于,所述客户端为第一客户端,所述方法还包括:向所述测试平台发送的第一测试对象的第一状态;所述第一状态包括:在线状态或离线状态;所述第一状态用于确定所述测试数据包括所述第一测试对象的测试数据;接收来自测试平台的测试数据,包括:接收所述第一测试对象的测试数据。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:接收来自所述测试平台的第一指示信息;所述第一指示信息用于指示所述第一客户端与所述第一测试对象建立通信连接。12.根据权利要求10-11中任一项所述的方法,其特征在于,所述方法还包括:向所述测试平台发送所述第一测试对象的第二状态;所述第二状态包括:工作状态或空闲状态;接收来自所述测试平台的第二指示信息;所述第二指示信息用于指示所述第一客户端对所述第一测试对象进行测试,所述第二指示信息为根据所述第二状态确定的。13.根据权利要求9-12中任一项中所述的方法,其特征在于,所述生成所述第一消息,包括:与所述测试平台通讯连接,所述通讯连接用于传输所述第一测试任务和第二测试任务的测试参数;所述第一测试任务用于对所述第一测试对象进行测试,所述第二测试任务用于对所述第二测试对象进行测试;根据所述通讯协议,生成所述第一消息。14.根据权利要求13中所述的方法,其特征在于,所述第一测试对象包括:软件测试对象或硬件测试对象;所述方法还包括:若所述第一测试对象为软件测试对象,与所述软件测试对象建立通讯连接;若所述第二测试对象为硬件测试对象,与所述硬件测试对象连接的测试软件建立通讯连接。15.根据权利要求9中所述的方法,其特征在于,所述对第一测试对象进行测试,包括:根据第一测试对象及所述测试数据,获取对应所述第一测试对象的测试框架;基于所述测试框架选择与所述测试框架所匹配的测试软件及测试脚本;根据所述测试脚本执行所述测试软件,对所述第一测试对象进行测试。16.根据权利要求14中所述的方法,其特征在于,所述方法还包括:接收所述测试平台发送的心跳包,所述心跳包用于表征所述客户端与所述测试平台的同步率。
17.一种车辆测试装置,其特征在于,应用于测试平台,包括:获得模块,用于获得测试指令;所述测试指令包括:第一测试指令和第二测试指令;所述第一测试指令用于对第一测试对象进行测试;所述第二测试指令用于对第二测试对象进行测试;所述第一测试对象和第二测试对象为不同类型的测试对象;确定模块,用于根据所述测试指令,确定所述第一测试指令和第二测试指令对应的测试数据;发送模块,用于向客户端发送所述测试数据,所述测试数据用于所述客户端对所述第一测试对象和所述第二测试对象进行测试。18.一种车辆测试装置,其特征在于,应用于客户端,包括:接收模块,用于接收来自测试平台的测试数据,对第一测试对象和第二测试对象进行测试;所述第一测试对象和第二测试对象为不同类型的测试对象;发送模块,用于根据所述第一测试对象的第一测试结果与所述第二测试对象的第二测试结果,生成并向所述测试平台发送第一消息;所述第一消息包括所述第一测试结果和所述第二测试结果。19.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法;或,如权利要求9-16中任一项所述的方法。20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法;或,如权利要求9-16中任一项所述的方法。
技术总结
本申请提供了一种车辆测试方法、装置、电子设备及可读存储介质,涉及车辆技术领域,具体涉及车辆测试技术领域。该方法包括:获得测试指令;所述测试指令包括:第一测试指令和第二测试指令;所述第一测试指令用于对第一测试对象进行测试;所述第二测试指令用于对第二测试对象进行测试;所述第一测试对象和第二测试对象为不同类型的测试对象;根据所述测试指令,确定所述第一测试指令和第二测试指令对应的测试数据;向客户端发送所述测试数据,所述测试数据用于所述客户端对所述第一测试对象和所述第二测试对象进行测试。本申请提供的车辆测试方法,实现了车辆测试中对不同测试对象提高管理效率的效果。提高管理效率的效果。提高管理效率的效果。
技术研发人员:蔡文聪
受保护的技术使用者:上海集度汽车有限公司
技术研发日:2022.01.19
技术公布日:2023/7/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/