
1.本技术涉及计算机技术领域,尤其涉及一种服务测试方法、装置、存储介质及电子设备。
背景技术:2.随着汽车智能化、网联化、电动化和共享化的发展趋势,用户对车辆功能的需求正在往“个性化”发展,提升用户体验,满足快速的功能更新和升级成为各大汽车产商的发展目标。
3.随着智能汽车中软件重要性的提升,面向服务架构(service-orientedarchitecture,soa)理念逐渐引入了汽车领域,汽车上的soa,就是将汽车各子系统中最小功能的逻辑单位抽离出来,封装成服务,组成一种粗粒度小,松耦合的服务架构。通过标准化的接口,soa可以调用整车各域的传感器、执行器的硬件能力,为软件的开发提供更多的可能。
4.在车辆研发过程中,对各项soa服务进行测试以确保服务的功能准确性,成为车辆研发阶段必不可少的重要环节。
技术实现要素:5.本技术实施例提供的一种服务测试方法、装置、存储介质及电子设备,可以在车辆研发阶段,通过部署虚拟客户端对车辆各项服务进行测试。所述技术方案如下:
6.第一方面,本技术实施例提供的一种服务测试方法,所述方法包括:
7.基于被测服务的第一服务端参数文件,生成客户端参数文件;
8.基于所述第一服务端参数文件生成所述被测服务对应的测试代码;
9.采用所述客户端参数文件和所述测试代码部署虚拟客户端;
10.调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试。
11.第二方面,本技术实施例提供的一种服务测试装置,所述装置包括:
12.第一文件生成模块,用于基于被测服务的第一服务端参数文件,生成客户端参数文件;
13.代码生成模块,用于基于所述第一服务端参数文件生成所述被测服务对应的测试代码;
14.客户端部署模块,用于采用所述客户端参数文件和所述测试代码部署虚拟客户端;
15.服务测试模块,用于调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试。
16.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
17.第四方面,本技术实施例提供一种电子设备,可包括:处理器和存储器;其中,所述
存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
18.在本技术一个或多个实施例中,在车辆服务测试过程中,通过基于被测服务的第一服务端参数文件,生成客户端参数文件,基于第一服务端参数文件生成被测服务对应的测试代码,然后采用客户端参数文件和所述测试代码部署虚拟客户端,最后调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试,不需要使用被测服务对应的真实客户端,也不需要人工配置服务测试流程,通过自动部署虚拟客户端对被测服务进行自动测试,降低了服务测试的人工成本,使得服务测试更加灵活,提高了服务测试效率。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本技术实施例提供的一种服务测试方法的流程示意图;
21.图2为本技术实施例提供的一种服务测试方法的流程示意图;
22.图3为本技术实施例提供的一种服务测试的举例示意图;
23.图4为本技术实施例提供的一种服务测试方法的流程示意图;
24.图5为本技术实施例提供的一种服务测试装置的结构示意图;
25.图6为本技术实施例提供的一种服务测试装置的结构示意图;
26.图7为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.在本技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本技术的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
29.相关技术中,针对汽车soa服务的测试工作,大都基于人工手动实现,需要手动进行服务端接口的调用、应用配置、软件组件配置、服务部署配置以及代码实现,需要投入大
量的人力资源且容易出错。
30.基于此,本技术实施例提供一种服务测试方法,基于被测服务的第一服务端参数文件,生成客户端参数文件,基于第一服务端参数文件生成被测服务对应的测试代码,然后采用客户端参数文件和所述测试代码部署虚拟客户端,最后调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试。采用本技术实施例提供的服务测试方法,可以在车辆测试过程中通过自动生成并部署虚拟客户端,基于虚拟客户端对被测soa服务进行自动测试,降低了soa服务测试的人工成本,使得服务测试更加灵活,提高了服务测试效率。
31.下面结合具体的实施例进行详细说明。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。附图中所示的流程图仅是示例性说明,不是必须按照所示步骤执行。例如,有的步骤是并列的,在逻辑上并没有严格的先后关系,因此实际执行顺序是可变的。
32.请参见图1,为本技术实施例提供的一种服务测试方法的流程示意图。在具体的实施例中,所述服务测试方法应用于服务测试装置或配置有服务测试装置的电子设备。下面将针对图1所示的流程进行详细的阐述,所述服务测试方法具体可以包括以下步骤:
33.s101,基于被测服务的第一服务端参数文件,生成客户端参数文件;
34.被测服务即需要进行测试soa服务。soa服务是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。
35.具体的,获取被测soa服务服务端的第一服务端参数文件,基于第一服务端参数文件生成客户端参数文件。
36.其中,第一服务端参数文件可以为被测服务所在服务端的arxml文件,其中包含被测服务服务端的通讯协议信息、服务标识、实例标识、服务部署信息、通讯地址信息以及服务端接口信息。
37.客户端参数文件为与被测服务服务端进行交互的客户端的arxml文件,与第一服务端参数文件相类似,客户端参数文件包括客户端的通讯协议信息、服务标识、实例标识、服务部署信息、通讯地址信息以及客户端接口信息。
38.可以理解的是,在被测服务以及被测服务服务端均已知时,可以基于服务端的第一服务端参数文件,并基于预设生成规则生成用于对服务端进行测试客户端的客户端参数文件。其中,预设生成规则可以包括:基于服务端的服务标识一对一生成客户端的服务标识,基于服务端的实例标识一对一生成客户端的实例标识,基于服务端的通讯协议、接口生成可以与服务端通讯的客户的通讯协议、客户端接口,服务端和客户端的通讯地址互相独立等。
39.s102,基于第一服务端参数文件生成被测服务对应的测试代码;
40.具体的,第一服务端参数文件包含了被测服务信息以及服务端接口信息,基于被测服务信息以及服务端接口信息自动生成可以对被测服务进行测试的测试代码。
41.可选的,测试代码中包括至少一个测试用例。其中,测试用例用于对被测服务进行测试,不同的测试用例用于对测试服务不同的服务功能进行测试。
42.可选的,基于被测服务以及服务端接口分别生成针对各服务端接口的不同测试用例,基于各测试用例生成测试代码。
43.s103,采用客户端参数文件和测试代码部署虚拟客户端;
44.具体的,客户端参数文件包括了客户端所有的通讯细节信息、服务信息以及接口信息,基于客户端参数文件部署生成虚拟客户端,然后将用于对被测服务进行服务测试的测试代码组入虚拟客户端,生成可以自动的对被测服务进行测试的虚拟客户端。
45.其中,测试代码用于在虚拟客户端中自动运行,以使虚拟客户端和服务端进行交互,实现对被测服务的服务测试。
46.s104,调用虚拟客户端中的测试代码对被测服务进行测试。
47.具体的,调用虚拟客户端中的测试代码将至少一个测试用例分别由虚拟客户端发送至被测服务对应的服务端,获取服务端向虚拟客户端返回的各测试用例分别对应的验证结果,基于测试代码对各验证结果进行诊断,以确定各测试用例分别对应的测试结果。
48.进一步具体的,将所述验证结果与所述测试代码中的期望结果进行比较,若所述验证结果与所述期望结果一致,则确定所述测试用例对应的测试结果为测试成功,若所述验证结果与所述期望结果不一致,则确定所述测试用例对应的测试结果为测试失败。
49.可选的,在将所有测试用例测试结束之后,基于虚拟客户端生成测试报告,测试报告包括各测试用例分别对应的测试结果以及测试过程日志记录。
50.在本技术实施例中,在车辆服务测试过程中,通过基于被测服务的第一服务端参数文件,生成客户端参数文件,基于第一服务端参数文件生成被测服务对应的测试代码,然后采用客户端参数文件和所述测试代码部署虚拟客户端,最后调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试,不需要使用被测服务对应的真实客户端,也不需要人工配置服务测试流程,通过自动部署虚拟客户端对被测服务进行自动测试,降低了服务测试的人工成本,使得服务测试更加灵活,提高了服务测试效率。
51.请参见图2,为本技术实施例提供的一种服务测试方法的流程示意图。如图2所示,所述服务测试方法可以包括以下步骤:
52.s201,基于被测服务的第一服务端参数文件,生成客户端参数文件;
53.具体的,步骤s201请参见本技术另一实施例步骤s101中的详细描述,在此不再赘述。
54.s202,基于被测服务以及至少一个服务端接口生成至少一个服务端接口分别对应的测试用例;
55.可以理解的是,被测服务在提供服务时,被测服务服务端不同的服务端接口具有不同的功能。因此,本技术实施例中,基于被测服务以及被测服务服务端的服务端接口生成各服务端接口分别对应的测试用例,以根据各测试用例分别对各接口进行测试,测试粒度更加精细,测试结果也更加准确。
56.s203,基于至少一个测试用例生成测试代码;
57.具体的,基于各测试用例生成包含各测试用例并可以调用各测试用例对被测服务进行测试的测试代码。
58.s204,采用客户端参数文件和测试代码部署虚拟客户端;
59.具体的,客户端参数文件包括了客户端所有的通讯细节信息、服务信息以及接口信息,基于客户端参数文件部署生成虚拟客户端,然后将用于对被测服务进行服务测试的测试代码组入虚拟客户端,生成可以自动的对被测服务进行测试的虚拟客户端。
60.其中,测试代码用于在虚拟客户端中自动运行,以使虚拟客户端和服务端进行交互,实现对被测服务的服务测试。
61.s205,将至少一个测试用例由虚拟客户端发送至被测服务对应的服务端;
62.具体的,在采用客户端参数文件和测试代码部署虚拟客户端之后,虚拟客户端自动运行测试代码,将测试代码中的测试用例依次发送至被测服务服务端。
63.s206,获取服务端向虚拟客户端返回的各测试用例分别对应的验证结果;
64.具体的,服务端接收到虚拟客户端发送的测试用例之后,基于测试用例的内容进行应答,服务端将应答的验证结果发送至虚拟客户端。
65.s207,基于测试代码对各验证结果进行诊断,以确定各测试用例分别对应的测试结果。
66.具体的,虚拟客户端接收服务端返回的验证结果之后,基于测试代码中预存的与测试用例对应的期望结果进行比较,若所述验证结果与所述期望结果一致,则确定所述测试用例对应的测试结果为测试成功,若所述验证结果与所述期望结果不一致,则确定所述测试用例对应的测试结果为测试失败。
67.请参见图3,为本技术实施例提供的一种服务测试的举例示意图。如图3所示,所示虚拟客户端为基于客户端参数文件和测试代码部署生成,虚拟客户端中的测试代码自动运行,将测试代码中包含的测试用例发送至服务端,服务端接收测试用例进行数据处理,向虚拟客户端返回验证结果,由虚拟客户端的测试代码对验证结果进行诊断,以确定测试用例对应的测试结果。
68.例如,被测服务可以为车载空调开关控制服务,测试用例可以为控制空调开启,客户端将“控制空调开启”的测试用例发送至服务端,服务端基于该测试用例控制车载空调开启,并将“车载空调已开启”的验证结果返回至客户端,有客户对“车载空调已开启”,若客户端确定车载空调已开启,则确定该测试用例对应的测试结果为正常。
69.在本技术实施例中,首先基于被测服务的第一服务端参数文件,生成客户端参数文件,基于被测服务以及至少一个服务端接口生成至少一个服务端接口分别对应的测试用例,基于至少一个测试用例生成测试代码,然后采用客户端参数文件和测试代码部署虚拟客户端,最后将至少一个测试用例分别由虚拟客户端发送至被测服务对应的服务端,获取服务端向虚拟客户端返回的各测试用例分别对应的验证结果,基于测试代码对各验证结果进行诊断,以确定各测试用例分别对应的测试结果,实现对被测服务的服务测试。采用本技术实施例提供的服务测试方法,可以在车辆测试过程中根据服务端参数文件自动生成并部署虚拟客户端,基于虚拟客户端对被测服务进行自动测试,降低了服务测试的人工成本,使得服务测试更加灵活,提高了服务测试效率。
70.请参见图4,为本技术实施例提供的一种服务测试方法的流程示意图。如图4所示,所述服务测试方法可以包括以下步骤:
71.s301,基于被测服务的第一服务端参数文件,生成客户端参数文件;
72.具体的,步骤s301请参见本技术另一实施例步骤s101中的详细描述,在此不再赘述。
73.s302,确定被测服务对应的依赖服务;
74.其中,依赖服务为调用被测服务提供相应功能时,被测服务所依赖的其他服务。
75.可以理解的是,当被测soa服务需要依赖其他soa服务一起为客户端提供某种服务时,在测试被测服务之前,首先确定被测服务所依赖的依赖服务。
76.s303,基于第一服务端参数文件生成依赖服务对应的第二服务端参数文件;
77.具体的,根据被测服务服务端的第一服务端参数文件生成依赖服务对应的第二服务端参数文件。
78.其中,第一服务端参数文件可以为被测服务所在服务端的arxml文件,其中包含被测服务服务端的通讯协议信息、服务标识、实例标识、服务部署信息、通讯地址信息以及服务端接口信息。
79.可以理解的是,在被测服务以及被测服务服务端均已知时,可以基于服务端的第一服务端参数文件,根据被测服务的服务内容以及依赖服务的作用生成依赖服务对应的第二服务端参数文件。第二服务端参数文件可以包括依赖服务所在服务端的通讯协议信息、服务标识、实例标识、服务部署信息、通讯地址信息以及服务端接口信息等。
80.进一步具体的,在被测服务以及被测服务服务端均已知时,可以确定被测服务所依赖的依赖服务,进而根据服务端的第一服务端参数文件,按照预设规则生成用于为被测服务提供依赖服务的第二服务端参数文件。其中,预设规则可以根据被测服务的服务内容以及依赖服务对被测服务所起的作用自动生成。按照预设规则,基于被测服务服务端的服务标识一对一生成依赖服务服务端的服务标识,基于被测服务服务端的实例标识一对一生成依赖服务服务端的实例标识,基于被测服务服务端的通讯协议、接口生成可以与被测服务服务端通讯的依赖服务服务端的通讯协议、接口,被测服务服务端和依赖服务服务端的通讯地址互相独立。
81.s304,基于第一服务端参数文件、第二服务端参数文件生成被测服务对应的测试代码;
82.具体的,根据被测服务对应的第一服务端参数文件生成针对被测服务的测试代码,测试代码中包括至少一个测试用例,并根据依赖服务对应的第二服务端参数文件,在生成的测试用例中添加服务测试过程中依赖服务为被测服务提供的返回值。
83.可以理解的是,当被测服务服务端无法独立完成被测服务的服务内容时,需要依赖于依赖服务服务端提供被测服务的依赖服务,依赖服务用于为被测服务的服务实现提供必要的服务参数。具体为,在被测服务在进行服务测试期间,被测服务服务端对依赖服务服务端进行调用,以使依赖服务服务端执行依赖服务,并将执行依赖服务得到的返回值发送至被测服务服务端,返回值即为被测服务的服务实现所必要的服务参数。
84.本技术实施例中,在生成针对被测服务的测试代码时,将依赖服务需要提供给被测服务的返回值预先设置于测试用例中,当根据测试用例对被测服务进行服务测试时,被测服务可直接从测试用例中获取依赖服务提供的返回值,通过预先设置依赖服务的返回值,在被测服务存在依赖服务的情况下实现对被测服务的测试,保证了测试完整性,增大测试覆盖率。
85.例如,被测服务可以为基于乘员舱温度自动控制车载空调开关服务,测试用例可以为:当乘员舱温度大于30度时,自动开启车载空调。虚拟客户端将该测试用例发送至被测服务服务端,被测服务服务端基于该测试用例,首先需要获取乘员舱温度值,乘员舱温度值需要由依赖服务提供。一般情况下,被测服务服务端向依赖服务服务端发送乘员舱温度值
获取请求,由依赖服务服务单将乘员舱温度值发送至被测服务服务端。在本技术实施例中,将依赖服务需要提供的乘员舱温度值提前设置在测试用例中,被测服务可直接从测试用例中获取乘员舱温度值。乘员舱温度值即上述返回值。
86.s305,采用客户端参数文件和测试代码部署虚拟客户端;
87.具体的,客户端参数文件包括了客户端所有的通讯细节信息、服务信息以及接口信息,基于客户端参数文件部署生成虚拟客户端,然后将用于对被测服务进行服务测试的测试代码组入虚拟客户端,生成可以自动的对被测服务进行测试的虚拟客户端。
88.其中,测试代码用于在虚拟客户端中自动运行,以使虚拟客户端和服务端进行交互,实现对被测服务的服务测试。
89.s306,将至少一个测试用例分别由虚拟客户端发送至被测服务对应的服务端;
90.具体的,在采用客户端参数文件和测试代码部署虚拟客户端之后,虚拟客户端自动运行测试代码,将测试代码中的测试用例依次发送至被测服务服务端。
91.s307,获取服务端向虚拟客户端返回的各测试用例分别对应的验证结果;
92.具体的,服务端接收到虚拟客户端发送的测试用例之后,基于测试用例的内容进行应答,服务端将应答的验证结果发送至虚拟客户端。
93.s308,基于测试代码对各验证结果进行诊断,以确定各测试用例分别对应的测试结果。
94.具体的,虚拟客户端接收服务端返回的验证结果之后,基于测试代码中预存的与测试用例对应的期望结果进行比较,若所述验证结果与所述期望结果一致,则确定所述测试用例对应的测试结果为测试成功,若所述验证结果与所述期望结果不一致,则确定所述测试用例对应的测试结果为测试失败。
95.在本技术实施例中,当被测服务存在依赖服务时,基于被测服务的第一服务端参数文件生成依赖服务对应的第二服务端参数文件,基于第一服务端参数文件、第二服务端参数文件生成被测服务对应的测试代码,在生成针对被测服务的测试代码时,将依赖服务提供给被测服务的返回值预先设置于测试代码中的测试用例中,最后基于测试代码对被测服务进行测试,实现了在被测服务存在依赖服务的情况下对被测服务的测试,通过在测试代码的测试用例中预先设置依赖服务的返回值,保证了测试完整性,利用此方法,可以对多分支的依赖服务进行模拟,增大对被测服务的测试覆盖率。
96.下面将结合附图5,对本技术实施例提供的服务测试装置进行详细介绍。需要说明的是,附图5的服务测试装置,用于执行本技术图1-图4所示实施例的方法,为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未揭示的,请参照本技术图1-图4所示的实施例。
97.请参见图5,为本技术实施例提供的一种服务测试装置的结构示意图。如图5所示,该服务测试装置1可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。根据一些实施例,该服务测试装置1包括,第一文件生成模块11、代码生成模块12、客户端部署模块13以及服务测试模块14,具体包括:
98.第一文件生成模块11,用于基于被测服务的第一服务端参数文件,生成客户端参数文件;
99.代码生成模块12,用于基于所述第一服务端参数文件生成所述被测服务对应的测
试代码;
100.客户端部署模块13,用于采用所述客户端参数文件和所述测试代码部署虚拟客户端;
101.服务测试模块14,用于调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试。
102.可选的,请参见图6,为本技术实施例提供的一种服务测试装置的结构示意图。如图6所示,所述服务测试装置还包括第二文件生成模块15,所述第二文件生成模块,具体用于:
103.确定所述被测服务对应的依赖服务;
104.基于所述第一服务端参数文件生成所述依赖服务对应的第二服务端参数文件。
105.可选的,所述代码生成模块,还用于:
106.基于所述第一服务端参数文件、所述第二服务端参数文件生成所述被测服务对应的测试代码。
107.可选的,所述测试代码中包括至少一个测试用例,所述服务测试模块,具体用于:
108.将至少一个测试用例由所述虚拟客户端发送至所述被测服务对应的服务端;
109.获取所述服务端向虚拟客户端返回的各所述测试用例分别对应的验证结果;
110.基于所述测试代码对各所述验证结果进行诊断,以确定各所述测试用例分别对应的测试结果。
111.可选的,所述服务测试模块在执行所述基于所述测试代码对各所述验证结果进行诊断,以确定各所述测试用例分别对应的测试结果,具体用于:
112.将所述验证结果与所述测试代码中的期望结果进行比较,若所述验证结果与所述期望结果一致,则确定所述测试用例对应的测试结果为测试成功;
113.若所述验证结果与所述期望结果不一致,则确定所述测试用例对应的测试结果为测试失败。
114.可选的,请参见图6,所述服务测试装置还包括日志记录模块16,所述日志记录模块,具体用于:
115.基于所述虚拟客户端生成测试报告,所述测试报告包括各所述测试用例分别对应的测试结果以及测试过程日志记录。
116.可选的,所述第一服务端参数文件包括被测服务以及被测服务对应的至少一个服务端接口,所述代码生成模块,具体用于:
117.基于所述被测服务以及所述至少一个服务端接口生成服务端接口分别对应的测试用例;
118.基于所述测试用例生成测试代码。
119.可选的,所述第一服务端参数文件包括通讯协议信息、服务标识、实例标识、服务部署信息和/或通讯地址信息。
120.在本技术实施例中,在车辆服务测试过程中,通过基于被测服务的第一服务端参数文件,生成客户端参数文件,基于第一服务端参数文件生成被测服务对应的测试代码,然后采用客户端参数文件和所述测试代码部署虚拟客户端,最后调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试,不需要使用被测服务对应的真实客户端,也不需要
人工配置服务测试流程,通过自动部署虚拟客户端对被测服务进行自动测试,降低了服务测试的人工成本,使得服务测试更加灵活,提高了服务测试效率。
121.需要说明的是,上述实施例提供的服务测试装置在执行服务测试方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务测试装置与服务测试方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
122.需要说明的是,上述实施例提供的服务测试装置在执行服务测试方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务测试装置与服务测试方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
123.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
124.本技术实施例还提供的一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1~图4所示实施例的所述服务测试方法,具体执行过程可以参见图1~图4所示实施例的具体说明,在此不进行赘述。
125.本技术还提供的一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1~图4所示实施例的所述服务测试方法,具体执行过程可以参见图1~图4所示实施例的具体说明,在此不进行赘述。
126.请参考图7,为本技术实施例提供的一种电子设备的结构示意图。本技术中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
127.处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户页面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
128.存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory,rom)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等,该操作系统可以是安卓(android)系统,包括基于android系统深度开发的系统、苹果公司开发的ios系统,包括基
于ios系统深度开发的系统或其它系统。
129.存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对gpu性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
130.为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
131.其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏。
132.所述触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本技术实施例对此不加以限定。
133.除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,wifi)模块、电源、蓝牙模块等部件,在此不再赘述。
134.在图7所示的电子设备中,处理器110可以用于调用存储器120中存储的服务测试程序,并执行以实现如本技术各个方法实施例所述的服务测试方法。
135.在本技术实施例中,在车辆服务测试过程中,通过基于被测服务的第一服务端参数文件,生成客户端参数文件,基于第一服务端参数文件生成被测服务对应的测试代码,然后采用客户端参数文件和所述测试代码部署虚拟客户端,最后调用所述虚拟客户端中的所述测试代码对所述被测服务进行测试,不需要使用被测服务对应的真实客户端,也不需要人工配置服务测试流程,通过自动部署虚拟客户端对被测服务进行自动测试,降低了服务测试的人工成本,使得服务测试更加灵活,提高了服务测试效率。
136.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
137.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。