1.本申请实施例涉及程序测试领域,特别涉及一种车载程序的测试方法、装置、设备及计算机可读存储介质。
背景技术:2.在车联网中,车载程序的开发完成后,需要对该车载程序进行测试,以核验该车载程序是否能完成预期的功能。
3.相关技术中,在计算机设备上完成车载程序的开发后,将车载程序部署到车机,并在车机环境中对该车载程序进行测试。
4.然而,由于相关技术需要将车载程序部署到真实车机上进行测试,导致车载程序的测试过程过于繁琐,测试效率不高。
技术实现要素:5.本申请实施例提供了车载程序的测试方法、装置、设备及计算机可读存储介质,用于在开发车载程序的电子设备上实现车载程序在车机上的测试环境,使得车载程序的测试无需部署到真实车机上,提高了测试效率。
6.第一方面,本申请实施例提供了一种车载程序的测试方法,所述方法由开发车载程序的电子设备执行,所述方法包括:获取开发得到的车载程序;获取车载程序接口,所述车载程序接口用于在所述电子设备上提供所述车载程序在车机上的测试环境;基于所述车载程序接口测试所述车载程序。
7.在一种可能的实现方式中,所述获取车载程序接口,包括:获取车机信息;基于所述车机信息修改所述电子设备上已有的程序接口,以使所述已有的程序接口提供所述车载程序在所述车机上的测试环境;将修改后的已有的程序接口作为所述车载程序接口。
8.在一种可能的实现方式中,所述获取车载程序接口,包括:获取车机信息;基于所述车机信息在所述电子设备上定义新的程序接口,以使所述新的程序接口提供所述车载程序在所述车机上的测试环境;将所述新的程序接口作为所述车载程序接口。
9.在一种可能的实现方式中,所述基于所述车载程序接口测试所述车载程序,包括:基于所述车载程序接口运行所述车载程序,获得所述车载程序在所述电子设备上的运行结果;向第一设备发送获取请求,所述获取请求用于向所述第一设备请求所述车载程序在所述车机上运行的预期结果;接收所述第一设备基于所述获取请求发送的预期结果;基于所述运行结果以及所述预期结果获取所述车载程序的测试结果。
10.在一种可能的实现方式中,所述预期结果包括所述基于车机的相关数据获得的结果,所述车机的相关数据是所述车载程序在所述车机上运行时需要使用的数据。
11.在一种可能的实现方式中,所述预期结果包括所述第一设备为所述车载程序配置的结果。
12.在一种可能的实现方式中,所述基于所述运行结果以及所述预期结果获取所述车
载程序的测试结果,包括:响应于所述运行结果以及所述预期结果匹配,所述车载程序的测试结果为测试通过。
13.第二方面,本申请实施例提供了一种车载程序的测试装置,所述装置应用于开发车载程序的电子设备,所述装置包括:第一获取模块,用于获取开发得到的车载程序;第二获取模块,用于获取车载程序接口,所述车载程序接口用于在所述电子设备上提供所述车载程序在车机上的测试环境;测试模块,用于基于所述车载程序接口测试所述车载程序。
14.在一种可能的实现方式中,所述第二获取模块,用于获取车机信息;基于所述车机信息修改所述电子设备上已有的程序接口,以使所述已有的程序接口提供所述车载程序在所述车机上的测试环境;将修改后的所述已有的程序接口作为所述车载程序接口。
15.在一种可能的实现方式中,所述第二获取模块,用于获取车机信息;基于所述车机信息在所述电子设备上定义新的程序接口,以使所述新的程序接口提供所述车载程序在所述车机上的测试环境;将所述新的程序接口作为所述车载程序接口。
16.在一种可能的实现方式中,所述测试模块,用于基于所述车载程序接口运行所述车载程序,获得所述车载程序在所述电子设备上的运行结果;向第一设备发送获取请求,所述获取请求用于向所述第一设备请求所述车载程序在所述车机上运行的预期结果;接收所述第一设备基于所述获取请求发送的预期结果;基于所述运行结果以及所述预期结果获取所述车载程序的测试结果。
17.在一种可能的实现方式中,所述预期结果包括所述基于车机的相关数据获得的结果,所述车机的相关数据是所述车载程序在所述车机上运行时需要使用的数据。
18.在一种可能的实现方式中,或者,所述预期结果是所述第一设备为所述车载程序配置的运行结果。
19.第三方面,本申请实施例提供了一种计算机设备,计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,至少一条程序代码由处理器加载并执行,以使计算机实现如上第一方面任一所述的车载程序的测试方法。
20.第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令,至少一条指令在被处理器执行时使得计算机实现如上第一方面任一所述的车载程序的测试方法。
21.第五方面,本申请实施例提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面所述的车载程序的测试方法。
22.本申请实施例通过在开发车载程序的电子设备上实现用于测试车载程序的车载程序接口,从而为车载程序提供了车机的测试环境,使得开发车载程序的电子设备在开发车载程序后,可以直接在该电子设备上对车载程序进行测试,无需再部署到车机中,提高了车载程序的测试效率。
附图说明
23.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
24.图1是本申请实施例提供的一种实施环境的示意图;
25.图2是本申请实施例提供的一种车载程序的测试方法流程图;
26.图3是本申请实施例提供的一种车载程序的测试系统架构图;
27.图4是本申请实施例提供的一种模拟器的工作流程图;
28.图5是本申请实施例提供的一种车载程序的测试装置示意图;
29.图6是本申请实施例提供的一种车载程序的测试设备的结构示意图。
具体实施方式
30.为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
31.请参考图1,其示出了本申请实施例提供的一种实施环境的示意图。该实施环境可以包括:终端11和服务器12。
32.终端11是具有网络通信功能的终端,比如个人电脑、膝上型电脑、平板电脑、手机、电子书阅读器以及智能可穿戴设备等。在本实施环境中,终端11还可以是在地理位置中分散在各地的且不限运营商的联网设备。
33.服务器12可以是单独的一台服务器,或者,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端11与服务器12通过有线或无线网络建立通信连接。
34.在本申请实施例中,终端11可以是车载程序开发人员用于开发并测试车载程序的终端,该终端11可以向服务器12发送对车载程序运行的预期结果的请求,并接收服务器12返回的预期结果,终端11可以查看预期结果,从而基于预期结果完成对车载程序的测试。
35.基于上述图1所示的实施环境,本申请实施例提供了一种车载程序的测试方法,该方法可以由图1所示的实施环境中的终端11执行,且在本申请实施例中,将该终端11称为开发车载程序的电子设备(为避免冗余,将在下述实施例中称为电子设备),将服务器12称为第一设备。请参考图2,其示出了本申请实施例提供的一种车载程序测试方法的流程图,该方法由开发车载程序的电子设备执行。如图2所示,该方法可以包括如下几个步骤。
36.步骤101,获取开发得到的车载程序。
37.由于本申请实施例是为了实现脱离车机对车载程序进行测试,因此,电子设备可以是区别于车机的其他设备。可选地,电子设备可以是手机、平板电脑、个人计算机等电子设备,本申请实施例对此不做限定。
38.可选地,电子设备基于车载程序需要实现的功能在开发环境中对车载程序进行开发,获得开发得到的车载程序。可选地,电子设备上的开发环境可以通过开发接口实现。
39.在一些实施例中,电子设备也可以从其他设备上获取已开发的车载程序,并对该已开发的车载程序进行修改,获得开发得到的车载程序。本申请实施例对获取开发得到的车载程序的方法不做限定。
40.步骤102,获取车载程序接口,车载程序接口用于在电子设备上提供车载程序在车机上的测试环境。
41.车载程序接口位于电子设备上,是用于在电子设备上为车载程序提供在车机上的测试环境的程序接口。程序接口是不同程序系统之间的进行衔接的协议或协议的集合,程
序接口表现为一系列函数。程序在开发或测试的过程中,可以调用该一系列函数,即调用该程序接口。
42.以车载程序接口为例,车载程序接口是电子设备在测试车载程序时所要调用的程序接口,使得原本无法测试车载程序的电子设备在调用车载程序接口后能够测试车载程序。在本申请实施例中,电子设备获得的车载程序接口能够提供真实车机测试环境的程序接口,使得待测试的车载程序无需被部署到真实车机上即可完成测试。
43.可选地,获取车载程序接口,包括下述两种实现方式。
44.方式一:获取车机信息;基于车机信息修改电子设备上已有的程序接口,以使已有的程序接口提供车载程序在车机上的测试环境;将修改后的已有的程序接口作为车载程序接口。
45.在本实现方式中,电子设备上已存在程序接口,然而已有的程序接口与车机上的程序接口不同,无法支持依赖于车机环境的车载程序在电子设备上进行测试。为了提高测试效率,基于车机信息对电子设备上已存在的程序接口进行修改,使得电子设备上修改后的程序接口可以支持车载程序在电子设备上的测试,该修改后的程序接口即为车载程序接口。
46.车机信息指示对车载程序在车机上进行测试的环境信息,车机信息用于电子设备确定车载程序在车机上的测试环境。可选地,车机信息包括业务类型信息、页面类型信息以及其他用于指示车机程序测试环境的信息。
47.示例性地,业务类型信息包括销售类业务信息、服务类业务信息以及推广类业务信息等。例如,销售类业务信息可以指示车载购物程序在车机上的测试环境的信息;服务类业务信息可以指示车载导航程序在车机上的测试环境的信息;推广类业务信息可以指示车载资讯程序在车机上的测试环境的信息。此外,业务类型信息还可根据车载程序的业务内容进行灵活配置,本申请实施例对此不做限定。
48.示例性地,页面类型信息包括聚合类信息、功能类信息、列表类信息以及内容类信息。以车载购物程序的页面为例,聚合类信息指示对车载购物程序中个性化推荐页面在车机上的测试环境的信息;功能类信息指示对车载购物程序中查询页面在车机上的测试环境的信息;列表类信息指示车载购物程序中商品分类页面在车机上的测试环境的信息;内容类信息指示车载购物程序中商品详情页面在车机上的测试环境的信息。此外,页面类型信息还可根据车载程序的页面内容进行灵活配置,本申请实施例对此不做限定。
49.获取车机信息后,电子设备基于车机信息修改电子设备上已有的程序接口,包括:基于车机信息修改已有的程序接口的配置数据。其中,已有的程序接口的配置数据至少包括程序接口的数据类型、程序接口数据返回的规则以及程序接口请求地址三种数据中的一种。其中,程序接口的数据类型指的是在该程序接口中可以运行的数据类型;程序接口数据返回的规则指的是在该程序接口中运行程序时返回数据的规则,例如,程序运行结果的返回规则;程序接口请求地址指的是调用该程序接口时使用的调用地址。
50.可选地,将修改后的已有的程序接口作为车载程序接口之后,还包括:基于车载程序接口的配置数据生成对应的车载程序接口的配置文件,并将配置文件储存于电子设备上。该车载程序接口的配置文件用于下一次车载程序的测试,或者,在下一次新开发的车载程序在电子设备上测试时,作为已有的程序接口被修改,生成新的车载程序接口。
51.方式二:获取车机信息;基于车机信息在电子设备上定义新的程序接口,以使新的程序接口提供车载程序在车机上的测试环境;将新的程序接口作为车载程序接口。
52.不同于上述方式一,在本实现方式中,直接在电子设备上定义新的程序接口,使得新的程序接口可以提供车载程序在车机上的测试环境,该新的程序接口即为车载程序接口。关于车机信息详见前文方式一的描述,在此不再赘述。
53.获取车机信息后,基于车机信息在电子设备上定义新的程序接口,包括:基于车机信息定义新的程序接口的配置数据。其中,新的程序接口的配置数据至少包括程序接口的数据类型、程序接口数据返回的规则以及程序接口请求地址三种数据中的一种。关于三种配置数据,请参见前文方式一的描述,在此不再赘述。
54.可选地,基于车机信息在电子设备上定义新的程序接口后,还包括:基于新的程序接口的配置数据生成对应的车载程序接口的配置文件,并储存于电子设备上。该车载程序接口的配置文件用于下一次车载程序的测试,或者,在下一次新开发的车载程序在电子设备上测试时,作为已有的程序接口被修改,生成新的车载程序接口。
55.步骤103,基于车载程序接口测试车载程序。
56.在一种可能的实现方式中,电子设备基于车载程序接口测试车载程序,包括:基于车载程序接口运行车载程序,获得车载程序在电子设备上的运行结果;向第一设备发送获取请求,其中,获取请求用于向第一设备请求车载程序在车机上运行的预期结果;接收第一设备基于获取请求发送的预期结果;基于运行结果以及预期结果获取车载程序的测试结果。
57.电子设备获得了车载程序接口,就可以提供车载程序进行测试的环境。电子设备基于车载程序接口运行车载程序,可以得到车载程序在电子设备上的运行结果。电子设备得到运行结果之后,电子设备需要获取车载程序在车机上运行的预期结果,以通过运行结果和预期结果来测试该车载程序的功能。
58.为了获取车载程序在车机上运行的预期结果,电子设备向第一设备发送车载程序在车机上运行的预期结果的获取请求。其中,第一设备是区别于电子设备的设备,示例性地,第一设备可以是一个服务器,或者是一个云端,也可以是一个服务器集群。获取请求中携带车载程序的信息,用于第一设备识别该车载程序,并返回与该车载程序对应的预期结果。
59.以第一设备是一个服务器为例,服务器上存放着车载程序在车机上运行的预期结果,当服务器接收到电子设备发送的获取请求,服务器响应于该获取请求,将与车载程序对应的预期结果返回给电子设备。
60.可选地,车载程序在车机上运行的预期结果包括下述两种结果中的任意一种。
61.结果一、车载程序在车机上运行的预期结果包括第一设备基于车机的相关数据获得的结果。
62.其中,车机的相关数据是车载程序在车机上运行时需要使用的数据。可选地,第一设备上预存了大量车机的数据,第一设备在接收到电子设备发送的获取请求后,基于获取请求中携带的车载程序的信息,从大量车机的数据中选择出该车载程序的车机相关数据。
63.第一设备基于车机相关数据可以生成参考数量个车载程序在车机上运行的预期结果,之后,第一设备进一步从生成的参考数量个预期结果中随机选取一个结果作为车载
程序在车机上运行的预期结果返回给电子设备。
64.例如,在电子设备测试车载导航程序时,第一设备上可以预存大量车机的数据,并在接收到电子设备发送的获取请求后,从该大量车机数据中选择出车载导航程序需要使用的用户数据(例如账户信息、路线信息等),基于该车载导航程序需要使用的用户数据生成参考数量个预期结果,并从该参考数量个预期结果中随机选取一个结果作为车载导航程序在车机上运行的预期结果返回给电子设备。
65.可选地,第一设备可以和车机通过网络进行连接,并按照参考周期定期从车机上采集数据,以更新第一设备上的车机的数据。
66.需要说明的是,本申请实施例提及的参考数量以及参考周期中的任一值可以基于经验设置,也可以基于具体场景设置,本申请实施例对此不做限定。
67.通过结果一的实现方法,电子设备可以获得基于车机的数据而生成的车载程序在车机上的预期结果,使车载程序在车机上运行的预期结果具有适用性,为车载程序的测试提供了准确依据。
68.结果二、车载程序在车机上运行的预期结果包括第一设备为车载程序配置的结果。
69.可选地,第一设备对车载程序预先配置了结果,并在接收到电子设备发送的获取请求后,将该配置好的结果作为预期结果返回给电子设备。
70.示例性地,基于车载程序的功能以人为经验配置结果,并将配置的结果储存至第一设备上。需要说明的是,结果二可以支持对多个子车载程序组成的车载程序进行测试的情况。其中,子车载程序是车载程序中可以独立实现某一功能的部分车载程序,通过子车载程序的组合,可以获得实现多重功能的车载程序。
71.电子设备接收了第一设备发送的上述两种预期结果中任意一种后,查看该预期结果,进一步地,电子通过运行结果和预期结果获取车载程序的测试结果。
72.可选地,电子设备基于运行结果以及预期结果获取车载程序的测试结果,包括:响应于运行结果以及预期结果匹配,车载程序的测试结果为测试通过。
73.可选地,电子设备基于运行结果以及预期结果获取车载程序的测试结果,包括:响应于运行结果以及预期结果不匹配,车载程序的测试结果为测试不通过。
74.运行结果和预期结果是否匹配能够指示车载程序是否实现了预期功能。其中,运行结果和预期结果的匹配条件可以根据具体场景灵活设定,例如,运行结果为一个数值,且该数值在预期结果指示的阈值范围内,则认为运行结果和预期结果匹配。又例如,运行结果为文字信息,预期结果为相同的文字信息,则认为运行结果和预期结果匹配。
75.本申请实施例通过开发车载程序的电子设备获得车载程序接口从而获得车载程序在车机上的测试环境,再基于车载程序接口对车载程序进行测试,使得车载程序无需部署在车机上就可以进行测试,大大减少了车载程序测试的流程,提高了车载程序的测试效率。
76.请参考图3,其示出了本申请实施例提供的一种车载程序的测试系统架构图。如图3所示,车载程序测试的系统包括:个人计算机(personal computer,pc)开发工具、模拟器以及远程服务器。
77.其中,pc开发工具位于个人计算机上,用于开发车载程序,获取开发得到的车载程
序;模拟器用于获取车载程序接口,并基于车载程序接口对车载程序进行测试。可选地,模拟器可以存放于pc开发工具中,也可以独立于pc开发工具单独存放于pc上,还可以存放在区别于pc的其他设备,且该其他设备与pc之间通过网络进行通信,本申请实施例对此不做限定。
78.远程服务器是区别于pc的设备,远程服务器与pc之间通过网络进行通信。可选地,远程服务器中可以包括存储介质,远程服务器也可以通过网络与独立于远程服务器的存储介质进行通信。
79.对应于图2所示的实施例,pc即为电子设备,远程服务器即为第一设备。结合图2所示的实施例可知,pc开发工具开发车载程序后,将开发得到的车载程序发送到模拟器中;模拟器获取车载程序接口,并基于车载程序接口运行车载程序,获得车载程序在电子设备上的运行结果;再基于运行的车载程序向远程服务器发送车载程序在车机上运行的预期结果的获取请求;远程服务器响应于模拟器发送的获取请求将预期结果返回给模拟器;远程服务器基于运行结果以及预期结果获取车载程序的测试结果。
80.其中,远程服务器返回的预期结果可以为下述两种结果中的任意一种。结果一:车载程序在车机上运行的预期结果包括远程服务器基于车机的相关数据获得的结果;结果二:车载程序在车机上运行的预期结果包括远程服务器为车载程序配置的结果。如图3所示,远程服务器还可以接收真机(即真实车机)上传的数据,将真机上传的数据存放在数据库中,数据库可以位于存储介质上。远程服务器可以基于真机上传的数据获得车载程序在车机的相关数据。可选地,远程服务器也可以将为车载程序配置的运行结果存放在数据库中,数据库可以位于存储介质上。
81.请参考图4,其示出了本申请实施例提供一种模拟器的工作流程图。需要说明的是,本实施例提供的模拟器对应于图3实施例中的模拟器,且本实施例中的模拟器存放于开发工具中。
82.如图4所示,模拟器的工作流程包括:501,运行模拟器;502,在模拟器中改写或新定义车载程序接口;503,模拟器基于车载程序接口运行车载程序,获得运行结果;504,模拟器向服务器请求车载程序在车机上运行的预期结果并接收服务器返回的预期结果;505,模拟器查看预期结果,基于运行结果以及预期结果获取车载程序的测试结果。
83.在本实施例中,由于模拟器存放于开发工具中,因此运行模拟器时,需要打开开发工具,在开发工具中运行模拟器代码。
84.此外,结合图2所示的实施例,本实施例中的模拟器接收的预期结果包括服务器远程服务器基于车机的相关数据获得的结果,或者,服务器为车载程序配置的结果。
85.请参考图5,其示出了本申请实施例提供的一种车载程序的测试装置示意图。
86.如图5所示,该装置应用于开发车载程序的电子设备,该装置包括下述301
‑
303模块。
87.第一获取模块301,用于获取开发得到的车载程序。
88.第二获取模块302,用于获取车载程序接口,车载程序接口用于在电子设备上提供车载程序在车机上的测试环境。
89.在一种可能的实现方式中,第二获取模块302,用于获取车机信息;基于车机信息修改电子设备上已有的程序接口,以使已有的程序接口提供车载程序在车机上的测试环
境;将修改后的已有的程序接口作为车载程序接口。
90.在一种可能的实现方式中,第二获取模块302,用于获取车机信息;基于车机信息在电子设备上定义新的程序接口,以使新的程序接口提供车载程序在车机上的测试环境;将新的程序接口作为车载程序接口。
91.测试模块303,用于基于车载程序接口测试车载程序。
92.在一种可能的实现方式中,测试模块303,用于基于车载程序接口运行车载程序,获得车载程序在电子设备上的运行结果;向第一设备发送获取请求,获取请求用于向第一设备请求车载程序在车机上运行的预期结果;接收第一设备基于获取请求发送的预期结果;基于运行结果以及预期结果获取车载程序的测试结果。
93.在一种可能的实现方式中,预期结果包括基于车机的相关数据获得的结果,车机的相关数据是车载程序在车机上运行时需要使用的数据,或者,预期结果是第一设备为车载程序配置的运行结果。
94.应理解的是,上述图5提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
95.请参考图6,其示出了本申请实施例提供的一种车载程序测试设备的结构示意图。该设备可以为终端,例如可以是:车载终端、智能手机、平板电脑、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
96.通常,终端包括有:处理器1201和存储器1202。
97.处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用dsp(digital signal processing,数字信号处理)、fpga(field
‑
programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
98.存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的车载程序的测试方法。
99.在一些实施例中,终端还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频
电路1204、触摸显示屏1205、摄像头1206、音频电路1207、定位组件1208和电源1209中的至少一种。
100.外围设备接口1203可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
101.射频电路1204用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括nfc(near field communication,近距离无线通信)有关的电路,本申请对此不加以限定。
102.显示屏1205用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在一些实施例中,显示屏1205可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light
‑
emitting diode,有机发光二极管)等材质制备。
103.摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
104.音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当
扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
105.定位组件1208用于定位终端的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1208可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
106.电源1209用于为终端中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
107.在一些实施例中,终端还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
108.加速度传感器1211可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
109.陀螺仪传感器1212可以检测终端的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端的3d动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
110.压力传感器1213可以设置在终端的侧边框和/或触摸显示屏1205的下层。当压力传感器1213设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在触摸显示屏1205的下层时,由处理器1201根据用户对触摸显示屏1205的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
111.指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置终端的正面、背面或侧面。当终端上设置有物理按键或厂商logo时,指纹传感器1214可以与物理按键或厂商logo集成在一起。
112.光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
113.接近传感器1216,也称距离传感器,通常设置在终端的前面板。接近传感器1216用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。
114.本领域技术人员可以理解,图6中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
115.在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机设备实现上述任一种车载程序的测试方法。
116.在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该至少一条指令由处理器加载并执行,以使计算机实现上述任一种车载程序的测试方法。
117.可选地,上述计算机可读存储介质可以是只读存储器(read
‑
only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read
‑
only memory,cd
‑
rom)、磁带、软盘和光数据存储设备等。
118.在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种车载程序的测试方法。
119.在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
120.该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
121.另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
122.还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
123.本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个数据是指两个或两个以上的数据。
124.应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,
单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
125.以上仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。