一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试方法、装置及计算机可读存储介质与流程

2021-11-05 21:20:00 来源:中国专利 TAG:


1.本技术涉及网络技术领域,特别涉及一种测试方法、装置及计算机可读存储介质。


背景技术:

2.随着网络技术的发展,手机游戏成为人们日常生活中一项重要的娱乐活动。用户玩手机游戏时,对流畅度、发热、触控延迟、网络延迟等方面的要求极高。为了提升用户对手机的满意度,测试人员需要对游戏过程中的手机性能进行测试,以提前发现问题并解决。
3.目前,对手机性能的测试以人工测试为主。具体地,测试人员在手机上打开游戏应用,然后打开该游戏应用中的游戏界面,在该游戏界面中操控游戏角色进行对战,尽量呈现出激烈对抗的游戏画面。游戏角色的对抗越激烈,手机在显示游戏画面时的渲染负载越高,就越能满足手机的性能测试需求。测试人员在完成一局游戏后,分析本局游戏过程中的手机性能数据,得到测试结果。
4.然而,上述测试方式中,游戏画面的呈现需要人工操作,费时费力。并且,所呈现的游戏画面仅是在测试人员所操控的游戏角色的视角下的游戏画面,较为单一,难以最大程度呈现出激烈对抗的游戏画面,从而会影响测试效率。


技术实现要素:

5.本技术提供了一种测试方法、装置及计算机可读存储介质,可以提高设备性能测试效率。所述技术方案如下:
6.第一方面,提供了一种测试方法。在该方法中,第一设备指示第二设备显示目标界面,目标界面用于显示虚拟场景的场景画面。之后,第一设备根据该虚拟场景中虚拟对象的聚集情况确定目标视角。最后,第一设备指示第二设备在目标界面中显示该虚拟场景在目标视角下的场景画面,以测试第二设备的性能。
7.该虚拟场景可以包括多个虚拟对象,还可以包括虚拟环境。各个虚拟对象可以在该虚拟环境中执行操作。比如,该虚拟场景可以为游戏场景,该游戏场景中包括多个游戏角色和游戏环境,该游戏环境可以包括景物,如道路、石墙、植物、防御建筑等,还可以包括非玩家角色(non

player character,npc),如野怪、小兵等。各个游戏角色可以在该游戏环境中执行操作。比如,对于任意一个游戏角色,这个游戏角色可以在该游戏环境中的道路上移动,或者,这个游戏角色可以攻击该游戏环境中的防御建筑,或者,这个游戏角色可以与该游戏环境中的npc进行互动等。这种情况下,目标界面为用于显示游戏场景的游戏画面的游戏界面。
8.目标界面中显示的场景画面是该虚拟场景在某一视角下的场景画面,这一视角可以称为该虚拟场景在目标界面中的显示视角。该虚拟场景的场景画面越复杂,在渲染时所需的计算量就越大,在渲染时占用的计算机内存就越多,渲染时间就越长,相应地,第二设备在显示该虚拟场景的场景画面时的渲染负载就越高,即第二设备在显示目标界面时的渲染负载就越高。由于该虚拟场景包括多个虚拟对象,且该多个虚拟对象可被操控而执行操
作,所以该虚拟场景是不断变化的。本技术中,对于不断变化的该虚拟场景,可以不断调整该虚拟场景在目标界面中的显示视角,即不断调整目标界面中显示的场景画面,以使目标界面总是显示复杂度最高的场景画面,如此可使第二设备在显示目标界面时总是处于渲染负载最高的状态,从而可以满足第二设备的性能测试需求,提高测试效率。
9.该虚拟场景中的多个虚拟对象能够进行移动,任意两个虚拟对象通过移动,可以聚集在一处,或分散在相距较远的两处。一般情况下,该虚拟场景中的某个区域内聚集的虚拟对象的数量越多,包含有此区域的场景画面越复杂,因而可以根据该虚拟场景中虚拟对象的聚集情况确定复杂度最高的场景画面对应的视角,即确定目标视角。也就是说,第一设备可以根据该虚拟场景中虚拟对象的聚集情况确定目标视角,目标视角是该虚拟场景中复杂度最高的场景画面对应的视角。也即,该虚拟场景在目标视角下的场景画面的复杂度最高。
10.由于目标视角是该虚拟场景中复杂度最高的场景画面对应的视角,所以第一设备指示第二设备在目标界面中显示该虚拟场景在目标视角下的场景画面后,第二设备显示该场景画面时的渲染负载最高,从而可以满足第二设备的性能测试需求,提高测试效率。
11.值得注意的是,由于该虚拟场景包括多个虚拟对象,且该多个虚拟对象可被操控而执行操作,所以该虚拟场景是不断变化的。本技术中,对于不断变化的该虚拟场景,第一设备可以不断确定该虚拟场景的目标视角,并据此不断调整目标界面中显示的场景画面,以使目标界面总是显示复杂度最高的场景画面,如此可使第二设备在显示目标界面时总是处于渲染负载最高的状态,从而可以满足第二设备的性能测试需求,提高测试效率。也就是说,上述第一设备根据该虚拟场景中虚拟对象的聚集情况确定目标视角的操作,以及上述第一设备指示第二设备在目标界面中显示该虚拟场景在目标视角下的场景画面的操作,可以每隔一定的时间就执行一次,比如,每隔两秒就执行一次。也即,第一设备可以每隔一定时间就重新确定目标视角并指示第二设备显示该虚拟场景在目标视角下的场景画面。
12.可选地,第一设备指示第二设备显示目标界面的操作可以为:第一设备启动第二设备中的人机交互应用,然后指示第二设备中的人机交互应用显示目标界面。
13.人机交互应用为提供该虚拟场景的应用。比如,人机交互应用可以为游戏应用,游戏应用提供游戏场景,目标界面为游戏应用中的游戏界面。
14.可选地,第一设备指示第二设备中的该人机交互应用显示目标界面之前,还可以启动第二设备中的测试工具。
15.该测试工具用于测试第二设备的性能。该测试工具可以对第二设备的平均帧率、抖动率、每小时卡顿次数、最大丢帧数、功耗、中央处理器(central processing unit,cpu)利用率、cpu温度等性能进行测试。其中,平均帧率、抖动率、每小时卡顿次数、最大丢帧数可以反映出用户在使用人机交互应用时的卡顿感受,平均帧率反映整体流畅度,抖动率反映突发性卡顿,每小时卡顿次数反映可量化卡顿次数,最大丢帧数反映最差卡顿。功耗可以反映出用户在使用人机交互应用时的热感受,功耗反映耗电量。
16.在本技术中,第一设备可以启动第二设备中的人机交互应用和测试工具。该测试工具启动后,就可以自动对第二设备的性能进行测试。由于第二设备也启动了人机交互应用,因而该测试工具启动后就可以自动对第二设备在运行人机交互应用过程中的性能进行测试。
17.作为一种示例,若目标界面中的场景画面已结束显示,则第一设备可以结束测试,或者,第一设备还可以指示第二设备退出目标界面,再结束测试。在第一设备结束测试后,第二设备中的该测试工具就可以输出性能测试结果。如此,就完成了对第二设备在运行人机交互应用的过程中的性能的测试。
18.一般情况下,人机交互应用启动后会显示主界面,此时需要触发人机交互应用中的一系列的选项,才能够从主界面进入到目标界面。因而,本技术中,第一设备可以向第二设备发送一系列的命令来实现对人机交互应用中的一系列的选项的触发,以指示人机交互应用从主界面进入目标界面。
19.这种情况下,第一设备指示第二设备中的人机交互应用显示目标界面的操作可以为:令i等于1,将n个选项图像中的第i个选项图像确定为参考选项图像;向第二设备发送第一屏幕图像获取命令;接收到第二设备发送的第一屏幕图像后,获取参考选项图像在第一屏幕图像中的位置坐标作为第一位置坐标;向第二设备发送携带有第一位置坐标的选项触发命令,以指示第二设备触发人机交互应用的应用界面中位于第一位置坐标处的选项;若i不等于n,则令i=i 1,重新执行将n个选项图像中的第i个选项图像确定为参考选项图像的步骤及后续步骤,直至i等于n为止。
20.可以理解的是,n为正整数。n个选项图像与n个选项一一对应,各个选项图像是其对应的一个选项的图像。n个选项是从人机交互界面的主界面进入目标界面所需触发的一系列选项。n个选项图像具有顺序性,n个选项图像的顺序即为所对应的n个选项的触发顺序,即是在从人机交互界面的主界面进入目标界面的过程中n个选项被触发的顺序。n个选项图像中的最后一个选项图像(即第n个选项图像)对应的选项用于进入人机交互应用中的目标界面,即第n个选项图像对应的选项被触发后,人机交互应用就会显示目标界面。
21.若i不等于n,则第一设备可以确定本次的参考选项图像不是第n个选项图像,则令i=i 1,以继续选择下一个选项图像作为参考选项图像,来继续指示第二设备触发人机交互应用的应用界面中的下一个选项。如此,第二设备是从n个选项图像中的第1个选项图像开始,指示第二设备依次触发人机交互应用的应用界面中与n个选项图像对应的n个选项中的每个选项,直至触发至n个选项中的最后一个选项后进入目标界面。
22.若i等于n,则第一设备可以确定本次的参考选项图像是第n个选项图像,本次指示第二设备触发的选项是人机交互应用的应用界面中与第n个选项图像对应的选项,也即是人机交互应用的应用界面中与n个选项图像对应的n个选项中的最后一个选项,因而第一设备可以确定人机交互应用已显示目标界面。
23.可选地,目标界面还用于显示该虚拟场景的场景地图,该场景地图包括虚拟对象标识。该多个虚拟对象中至少存在两个虚拟对象属于不同的组织。不同组织的虚拟对象存在竞争关系。因而,该虚拟场景中的某个区域内聚集的不同组织的虚拟对象的数量越多,此区域内不同组织的虚拟对象执行的操作越庞杂,如此,包含有此区域的场景画面越复杂。
24.这种情况下,第一设备根据该虚拟场景中虚拟对象的聚集情况确定目标视角的操作可以为:第一设备向第二设备发送第二屏幕图像获取命令;接收到第二设备发送的第二屏幕图像后,在第二屏幕图像中识别该场景地图;根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角。
25.由于目标界面显示有该虚拟场景的场景地图,而第二屏幕图像是目标界面的图
像,所以可以在第二屏幕图像中识别该场景地图。
26.可选地,第一设备在第二屏幕图像中识别该场景地图的操作可以为:第一设备确定参考图标在第二屏幕图像中的位置坐标,根据该位置坐标和地图位置确定规则确定第二位置坐标范围,将第二屏幕图像中第二位置坐标范围内的图像确定为该场景地图。
27.一般情况下,目标界面中存在一些与该场景地图之间有固定的位置关系的图标,这些图标能够用于定位该场景地图。本技术中可以预先将这些能够定位场景地图的图标设置为参考图标,然后根据参考图标与该场景地图之间的位置关系,预先设置地图位置确定规则,地图位置确定规则可以体现参考图标与该场景地图之间的位置关系,地图位置确定规则用于根据参考图标的位置坐标计算该场景地图的位置坐标范围。如此,第一设备接收到第二设备发送的第二屏幕图像后,就可以直接根据参考图标在第二屏幕图像中的位置坐标和地图位置确定规则,在第二屏幕图像中定位出该场景地图,实现对该场景地图的识别。
28.不同组织的虚拟对象标识可以通过颜色或形状进行区分。比如,该虚拟场景包括两个组织的虚拟对象,相应的,该场景地图中包括两个组织的虚拟对象标识。这两个组织的虚拟对象标识可以通过颜色进行区分,如这两个组织的虚拟对象标识的形状均是圆形,其中,一个组织的虚拟对象标识是蓝色,另一个组织的虚拟对象标识是红色。或者,这两个组织的虚拟对象标识可以通过形状进行区分,如这两个组织的虚拟对象标识中一个组织的虚拟对象标识是圆形,另一个组织的虚拟对象标识是正方形。
29.第一设备可以先从该场景地图中识别各个组织的虚拟对象标识,再根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角。
30.可选地,第一设备根据该场景地图中不同组织的虚拟对象的标识的聚集程度确定目标视角的操作可以为:确定该场景地图中的多个聚集区域;将该多个聚集区域中包含的虚拟对象标识的数量最多的聚集区域确定为参考区域;将参考区域在该场景地图中对应的视角确定为目标视角。
31.每个聚集区域均包含不同组织的虚拟对象标识,也即,聚集区域是不同组织的虚拟对象标识聚集的区域。聚集区域的大小可以是预先设置的一个大小,也可以是根据虚拟对象标识的大小确定的。
32.由于该多个聚集区域均是聚集有不同组织的虚拟对象标识的区域,而参考区域是该多个聚集区域中聚集的虚拟对象标识最多的区域,也即是该多个聚集区域中聚集度最高的聚集区域,所以参考区域是聚集有不同组织的虚拟对象标识的区域中聚集的虚拟对象标识最多的区域。
33.参考区域在该场景地图中对应的视角是用于显示参考区域在该虚拟场景中所处的地点处的场景画面的视角。由于参考区域是聚集有不同组织的虚拟对象标识的区域,且聚集的虚拟对象标识的数量最多,所以参考区域在该虚拟场景中所处的地点处的场景画面比较复杂,且是该虚拟场景中复杂度最高的场景画面,因而可以将参考区域在该场景地图中对应的视角确定为目标视角。
34.可选地,第一设备确定该场景地图中的多个聚集区域的操作可以为:第一设备确定该场景地图中的多个虚拟对象标识中每个虚拟对象标识所在的目标区域,以得到多个目标区域;将该多个目标区域中包含有不同组织的虚拟对象标识的目标区域确定为聚集区域。
35.对于任意一个虚拟对象标识来说,这个虚拟对象标识所在的目标区域为中心与这个虚拟对象标识的中心相同、形状与这个虚拟对象标识的形状相同、尺寸是这个虚拟对象标识的尺寸的k倍的区域,k为大于或等于2的整数。比如,假设k为3,这个虚拟对象标识是半径为r的圆,则这个虚拟对象标识所在的目标区域可以是半径为3r的圆。
36.可选地,第一设备指示第二设备在目标界面中显示该虚拟场景在目标视角下的场景画面的操作可以为:获取该参考区域在第二屏幕图像中的位置坐标作为第二位置坐标;向第二设备发送携带有第二位置坐标的触点触发命令,以指示第二设备在目标界面中触发第二位置坐标处的触点后显示该虚拟场景在目标视角下的场景画面。
37.参考区域在第二屏幕图像中的位置坐标可以是参考区域的中心在第二屏幕图像中的位置坐标,或者,参考区域在第二屏幕图像中的位置坐标可以是参考区域包含的所有虚拟对象标识的中心在第二屏幕图像中的位置坐标的平均值。
38.该触点触发命令用于指示第二设备在目标界面中触发第二位置坐标处的触点,第二设备触发第二位置坐标处的触点后,实际上就是在该场景地图中触发了参考区域处的触点,如此,可以使得目标界面显示该虚拟场景在目标视角下的场景画面,从而使得第二设备显示该场景画面时的渲染负载最高,也就可以满足第二设备的性能测试需求,提高测试效率。
39.作为一种示例,第二设备触发第二位置坐标处的触点后,即在该场景地图中触发了参考区域处的触点后,即使不继续触发此触点,但只要不触发该场景地图中的其他点,目标界面也依旧会继续显示该虚拟场景在目标视角下的场景画面。比如,在观战模式下的游戏界面中,第二设备模拟对小地图中的参考区域的点击操作后,若不继续对小地图中的参考区域执行点击操作,游戏界面会继续显示游戏场景在小地图中最近一次点击点对应的视角(即目标视角)下的游戏画面。
40.这种情况下,第一设备向第二设备发送携带有第二位置坐标的触点触发命令可以是对第二位置坐标处的触点的单次触发命令。比如,第一设备向第二设备发送的可以是对第二位置坐标处的触点的点击命令,第二设备接收到该点击命令后,可以使用android系统工具sendevent模拟对第二位置坐标处的触点的点击操作。
41.作为另一种示例,第二设备触发第二位置坐标处的触点后,即在该场景地图中触发了参考区域处的触点后,需要持续触发此触点,才能使目标界面持续显示该虚拟场景在目标视角下的场景画面。比如,在对战模式下的游戏界面中,第二设备需要模拟对小地图中的参考区域的长按操作后,才能使游戏界面持续显示游戏场景在小地图中长按点对应的视角(即目标视角)下的游戏画面。
42.这种情况下,第一设备向第二设备发送携带有第二位置坐标的触点触发命令可以是对第二位置坐标处的触点的持续触发命令。比如,第一设备向第二设备发送的可以是对第二位置坐标处的触点的长按命令,第二设备接收到该长按命令后,可以使用android系统工具sendevent模拟对第二位置坐标处的触点的长按操作。
43.第二方面,提供了一种测试装置,所述测试装置具有实现上述第一方面中测试方法行为的功能。所述测试装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的测试方法。
44.第三方面,提供了一种测试装置,所述测试装置的结构中包括处理器和存储器,所
述存储器用于存储支持所述测试装置执行上述第一方面所提供的测试方法的程序,以及存储用于实现上述第一方面所述的测试方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述测试装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
45.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的测试方法。
46.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的测试方法。
47.上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
48.图1是本技术实施例提供的一种终端的结构示意图;
49.图2是本技术实施例提供的一种终端的软件系统的框图;
50.图3是本技术实施例提供的一种游戏界面的示意图;
51.图4是本技术实施例提供的第一种游戏应用的应用界面的示意图;
52.图5是本技术实施例提供的一种对战模式下的游戏界面的示意图;
53.图6是本技术实施例提供的第二种游戏应用的应用界面的示意图;
54.图7是本技术实施例提供的一种观战模式下的游戏界面的示意图;
55.图8是本技术实施例提供的一种实施环境的示意图;
56.图9是本技术实施例提供的另一种实施环境的示意图;
57.图10是本技术实施例提供的一种第一测试工具的测试界面的示意图;
58.图11是本技术实施例提供的一种第二测试工具的测试界面的示意图;
59.图12是本技术实施例提供的一种测试方法的流程图;
60.图13是本技术实施例提供的一种对战模式对应的选项图像集的示意图;
61.图14是本技术实施例提供的一种观战模式对应的选项图像集的示意图;
62.图15是本技术实施例提供的一种小地图的示意图;
63.图16是本技术实施例提供的另一种小地图的示意图;
64.图17是本技术实施例提供的又一种小地图的示意图;
65.图18是本技术实施例提供的一种小地图的各个通道的黑白图的示意图;
66.图19是本技术实施例提供的一种小地图的绿色通道的黑白图的示意图;
67.图20是本技术实施例提供的一种小地图中的目标区域的示意图;
68.图21是本技术实施例提供的另一种游戏界面的示意图;
69.图22是本技术实施例提供的一种测试过程的示意图;
70.图23是本技术实施例提供的一种测试装置的结构示意图。
具体实施方式
71.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
80.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c接口。处理器110可以通过不同的i2c接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。比如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c接口通信,实现终端100的触摸功能。
81.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s接口。处理器110可以通过i2s接口与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
82.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
83.uart接口是一种通用串行数据总线,用于异步通信。uart接口可以为双向通信总线。uart接口可以将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。比如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
84.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现终端100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现终端100的显示功能。
85.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
86.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。usb接口130还可以用于连接其他终端,比如ar设备等。
87.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本技术另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
88.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通
过电源管理模块141为终端100供电。
89.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
90.终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
91.天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。比如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
92.移动通信模块150可以提供应用在终端100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
93.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
94.无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi

fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
95.在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,
wcdma),时分码分多址(time

division code division multiple access,td

scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi

zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
96.终端100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
97.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light

emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active

matrix organic light emitting diode,amoled),柔性发光二极管(flex light

emitting diode,fled),miniled,microled,micro

oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,终端100可以包括1个或n个显示屏194,n为大于1的整数。
98.终端100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
99.isp用于处理摄像头193反馈的数据。比如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
100.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal

oxide

semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,终端100可以包括1个或n个摄像头193,n为大于1的整数。
101.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。比如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
102.视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,比如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
103.npu为神经网络(neural

network,nn)计算处理器,通过借鉴生物神经网络结构,比如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现终端100的智能认知等应用,比如:图像识别,人脸识别,语音识别,文本理解等。
104.外部存储器接口120可以用于连接外部存储卡,比如micro sd卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功
能。比如将音乐,视频等文件保存在外部存储卡中。
105.内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
106.终端100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d以及应用处理器等实现音频功能,比如音乐播放,录音等。
107.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
108.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。终端100可以通过扬声器170a收听音乐,或收听免提通话。
109.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
110.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。终端100可以设置至少一个麦克风170c。在另一些实施例中,终端100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
111.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动终端平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
112.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。终端100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端100根据压力传感器180a检测触摸操作强度。终端100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。比如:当有触摸操作强度小于压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
113.陀螺仪传感器180b可以用于确定终端100的运动姿态。在一些实施例中,可以通过
陀螺仪传感器180b确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
114.气压传感器180c用于测量气压。在一些实施例中,终端100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
115.磁传感器180d包括霍尔传感器。终端100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当终端100是翻盖机时,终端100可以根据磁传感器180d检测翻盖的开合。终端100根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
116.加速度传感器180e可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。加速度传感器180e还可以用于识别终端100的姿态,应用于横竖屏切换,计步器等应用。
117.距离传感器180f,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,在拍摄场景中,终端100可以利用距离传感器180f测距以实现快速对焦。
118.接近光传感器180g可以包括发光二极管(led)和光检测器,比如光电二极管。发光二极管可以是红外发光二极管。终端100通过发光二极管向外发射红外光。终端100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,终端100可以确定终端100附近有物体。当检测到不充分的反射光时,可以确定终端100附近没有物体。终端100可以利用接近光传感器180g检测用户手持终端100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
119.环境光传感器180l用于感知环境光亮度。终端100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测终端100是否在口袋里,以防误触。
120.指纹传感器180h用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
121.温度传感器180j用于检测温度。在一些实施例中,终端100利用温度传感器180j检测的温度,执行温度处理策略。比如,当温度传感器180j上报的温度超过阈值,终端100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端100对电池142加热,以避免低温导致终端100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端100对电池142的输出电压执行升压,以避免低温导致的异常关机。
122.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器180k可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于终端100的表面,与显示屏194所处的位置不同。
123.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳
动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
124.按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
125.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。比如,作用于不同应用(比如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,也可对应不同的振动反馈效果。不同的应用场景(比如:时间提醒,接收信息,闹钟,游戏等),也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
126.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
127.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和终端100的接触和分离。终端100可以支持1个或n个sim卡接口,n为大于1的整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。终端100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端100采用esim,即:嵌入式sim卡。esim卡可以嵌在终端100中,不能和终端100分离。
128.接下来对终端100的软件系统予以说明。
129.终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的安卓(android)系统为例,对终端100的软件系统进行示例性说明。
130.图2是本技术实施例提供的一种终端100的软件系统的框图。参见图2,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统层,以及内核层。
131.应用程序层可以包括一系列应用程序包。如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,游戏,短信息等应用程序。
132.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,比如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序的显示界面,显示界面可以由一个或多个视图组成,比如,包括显示短信通知图标的视图,包括显示文字的视图,以及包括显示图片的视图。电话管理器用于
提供终端100的通信功能,比如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或滚动条文本形式出现在系统顶部状态栏的通知,比如后台运行的应用程序的通知。通知管理器还可以是以对话窗口形式出现在屏幕上的通知,比如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
133.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
134.系统库可以包括多个功能模块,比如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(比如:opengl es),2d图形引擎(比如:sgl)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,比如:mpeg4,h.264,mp3,aac,amr,jpg,png等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2d图形引擎是2d绘图的绘图引擎。
135.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
136.下面结合游戏应用启动场景,示例性说明终端100软件以及硬件的工作流程。
137.当触摸传感器180k接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别原始输入事件所对应的控件。以该触摸操作是单击操作,该单击操作所对应的控件为游戏应用图标的控件为例,游戏应用调用应用程序框架层的接口,启动游戏应用,再调用内核层启动显示驱动,通过显示屏194显示游戏应用的应用界面。
138.接下来对本技术实施例提供的测试方法的应用场景予以说明。
139.随着网络技术的发展,出现越来越多的人机交互应用,如游戏应用等。用户在终端上使用人机交互应用时,对流畅度、发热、触控延迟、网络延迟等方面的要求极高。为了提升用户满意度,测试人员需要对终端在运行人机交互应用的过程中的性能进行测试,以提前发现问题并解决。本技术实施例提供的测试方法就应用于需要对人机交互应用运行过程中的终端性能进行测试的场景。比如,在使用手机中安装的游戏应用玩游戏时,就可以使用本技术实施例提供的测试方法实现对游戏过程中的手机性能的测试。
140.接下来对人机交互应用进行解释说明。
141.人机交互应用能够为用户提供包含有虚拟对象的虚拟场景,用户可以对虚拟场景中的虚拟对象进行操控。
142.人机交互应用一般具有目标界面,目标界面用于显示人机交互应用提供的虚拟场景的场景画面,用户可以通过目标界面操控自己的虚拟对象。虚拟场景中除可以被用户操
控的虚拟对象之外还包括虚拟环境,用户可以操控自己的虚拟对象在虚拟环境中执行操作。
143.人机交互应用启动后,先显示主界面,之后,可以通过指定操作(包括但不限于点击操作、滑动操作、手势操作、语音操作、或体感操作等)触发一系列的选项来从主界面进入到用于显示虚拟场景的场景画面的目标界面。
144.作为一种示例,人机交互应用可以为游戏应用,用户可以对游戏应用提供的游戏场景中的游戏角色进行操控。比如,游戏应用可以为多人在线战术竞技游戏(multiplayer online battle arena games,moba)应用,moba应用提供一种多个用户帐号在同一游戏场景内竞技的游戏。moba应用的游戏玩法是:游戏场景中的所有游戏角色被划分到多个组织(也可称为队伍),多个组织中的游戏角色在游戏中互相竞争,每个玩家操控自己的游戏角色与其他组织的游戏角色进行竞争。
145.游戏应用具有游戏界面,游戏界面可以显示游戏应用提供的游戏场景的游戏画面,游戏画面中可以包含游戏环境和游戏角色,游戏环境可以包括景物,如道路、石墙、植物、防御建筑等,还可以包括npc,如野怪、小兵等。用户可以通过游戏界面操控自己的游戏角色在游戏环境中执行操作。
146.图3是本技术实施例提供的一种游戏界面的示意图。
147.参见图3,游戏界面300显示有游戏场景的游戏画面,该游戏画面包含游戏环境(包括但不限于景物、npc等)和游戏角色301。游戏角色301处于游戏环境中,可以在游戏环境中执行操作。
148.为了便于用户获知游戏环境中的各个景物、npc以及游戏角色301在该游戏场景中所处的地点,如图3所示,游戏界面300还可以显示有该游戏场景的小地图302。小地图302包含游戏环境中的各个景物和npc的环境图标,以及包含游戏角色301的角色头像。小地图302中的环境图标的位置可以指示游戏环境中的各个景物和npc在该游戏场景中所处的地点,小地图302中的角色头像的位置可以指示游戏角色301在该游戏场景中所处的地点。
149.可选地,如图3所示,该游戏界面还可以显示有用于操控游戏角色301的一些虚拟按键303,用户可以通过这些虚拟按键303操控自己的游戏角色301在游戏环境中执行操作。比如,用户可以通过这些虚拟按键303操控自己的游戏角色301在游戏环境中的道路上移动,或操控自己的游戏角色301攻击游戏环境中的防御建筑,或操控自己的游戏角色301与游戏环境中的npc互动等。
150.游戏应用可以具有不同的游戏模式,包括但不限于对战模式和观战模式。对战模式是指用户选择自己的游戏角色,在打开自己的游戏界面后,通过游戏界面操控自己的游戏角色在游戏环境中执行操作。观战模式是指用户打开其他人的游戏界面,观看其他人的游戏角色在游戏环境中执行操作。游戏应用启动后,先显示主界面,之后,可以通过不同的选项进入不同游戏模式下的游戏界面。
151.为了便于描述,以下以终端为手机,以用户点击手机中运行的游戏应用的应用界面中的选项,来触发进入下一界面的方式为例来进行说明。
152.下面对进入对战模式下的游戏界面的过程进行说明。
153.图4是本技术实施例提供的一种游戏应用的应用界面的示意图。图4中的a图

d图显示了在游戏应用中通过一系列的选项来从主界面进入到对战模式下的游戏界面的整个
过程。下面具体对此进行说明。
154.游戏应用在手机上启动后,显示如图4中的a图所示的主界面401,主界面401显示有用户头像、用户昵称、对战选项4011等。之后,用户点击对战选项4011。手机检测到对战选项4011被点击后,进入下一应用界面,即进入如图4中的b图所示的用于选择对战形式的界面402,界面402中显示有匹配选项4021、人机选项4022。之后,用户点击人机选项4022。手机检测到人机选项4022被点击后,进入下一应用界面,即进入如图4中的c图所示的用于选择游戏角色的界面403,界面403中显示有多个游戏角色的角色头像4031,还显示有确定选项4032。之后,用户依次点击一个游戏角色的角色头像4031和确定选项4032后,进入下一应用界面,即进入图4中的d图所示的对战模式下的游戏界面404。游戏界面404显示有游戏场景的游戏画面,该游戏画面中包含游戏环境和游戏角色4041。并且,游戏界面404还可以显示有该游戏场景的小地图4042。小地图4042包含游戏环境中各个景物和npc的环境图标,以及包含游戏角色4041的角色头像。游戏界面404还可以显示有用于操控游戏角色4041的一些虚拟按键4043,用户可以通过这些虚拟按键4043操控自己的游戏角色4041在游戏环境中执行操作。
155.可以理解的是,图4所示内容仅是一种示例,本技术实施例仅是以图4所示的各个应用界面及各个应用界面中的选项为例,来对从游戏应用的主界面进入对战模式下的游戏界面的过程进行说明,图4所示内容并不对本技术实施例构成限定。实际应用中,也可以经由其他应用界面和其他选项来从游戏应用的主界面进入对战模式下的游戏界面,本技术实施例对此不作限定。
156.下面结合图5来对对战模式下的游戏界面中的游戏画面的显示进行说明。
157.图5是本技术实施例提供的一种对战模式下的游戏界面的示意图。参见图5,游戏界面500中显示有游戏场景的游戏画面,该游戏画面中包含游戏环境和游戏角色501。并且,游戏界面500还可以显示有该游戏场景的小地图502。
158.在用户未点击小地图502的情况下,如图5中的a图所示,游戏界面500中显示的是该游戏场景在用户自己的游戏角色5011的视角下的游戏画面,即显示的是用户自己的游戏角色5011在该游戏场景中所处的地点对应的游戏画面。
159.在用户点击小地图502的情况下,比如,如图5中的a图所示,在用户点击小地图502中的a点的情况下,将小地图502中的a点对应的视角作为显示视角,然后在该游戏界面中显示该游戏场景在该显示视角下的游戏画面,如图5中的b图所示,即显示小地图502中的a点在该游戏场景中所处的地点对应的游戏画面。
160.这种情况下,若用户长按小地图502中的某一点,则该游戏界面显示的一直是用户在小地图502中长按的这一点在该游戏场景中所处的地点对应的游戏画面。而若用户在小地图502上滑动,则该游戏界面显示的是用户在小地图502中的滑动轨迹在该游戏场景中所处的一系列地点对应的一系列游戏画面。
161.若用户在点击小地图502后抬手,不继续点击小地图502,该游戏界面会跳转回显示该游戏场景在用户自己的游戏角色5011的视角下的游戏画面。比如,用户在点击小地图502中的a点时,该游戏界面显示的是如图5中的b图所示的游戏画面,之后,若用户抬手,不继续点击小地图502中的a点,则该游戏界面会由如图5中的b图所示的游戏画面跳转回显示如图5中的a图所示的游戏画面。
162.下面对进入观战模式下的游戏界面的过程进行说明:
163.图6是本技术实施例提供的一种游戏应用的应用界面的示意图。图6中的a图

c图显示了在游戏应用中通过一系列的选项来从主界面进入到观战模式下的游戏界面的整个过程。下面具体对此进行说明。
164.游戏应用在手机上启动后,显示如图6中的a图所示的主界面601,主界面601显示有用户头像、用户昵称、对战选项、赛事选项6011等。之后,用户点击赛事选项6011。手机检测到赛事选项6011被点击后,进入下一应用界面,即进入如图6中的b图所示的用于选择赛事的界面602,界面602中显示有赛事列表6021,赛事列表6021中包括多个赛事的播放选项6022。之后,用户点击赛事列表6021中的某一赛事的播放选项6022。手机检测到这一赛事的播放选项6022被点击后,进入下一应用界面,即进入如图6中的c图所示的观战模式下的游戏界面603。游戏界面603显示有游戏场景的游戏画面。该游戏画面中包含游戏环境和游戏角色6031。并且,游戏界面603还可以显示有该游戏场景的小地图6032。小地图6032包含游戏环境中各个景物和npc的环境图标,以及包含游戏角色6031的角色头像。
165.可以理解的是,图6所示内容仅是一种示例,本技术实施例仅是以图6所示的各个应用界面及各个应用界面中的选项为例,来对从游戏应用的主界面进入观战模式下的游戏界面的过程进行说明,图6所示内容并不对本技术实施例构成限定。实际应用中,也可以经由其他应用界面和其他选项来从游戏应用的主界面进入观战模式下的游戏界面,本技术实施例对此不作限定。
166.下面结合图7来对观战模式下的游戏界面中的游戏画面的显示进行说明。
167.图7是本技术实施例提供的一种观战模式下的游戏界面的示意图。参见图7,游戏界面700中显示有游戏场景的游戏画面,该游戏画面中包含游戏环境和游戏角色701。并且,游戏界面700还可以显示有该游戏场景的小地图702。
168.在手机刚进入游戏界面700后,在用户刚开始未点击小地图702的情况下,如图7中的a图所示,游戏界面700中显示的是该游戏场景在任意一个游戏角色701的视角下的游戏画面,即显示的是这个游戏角色701在该游戏场景中所处的地点对应的游戏画面。
169.在用户点击小地图702的情况下,比如,如图7中的a图所示,在用户点击小地图702中的b点的情况下,将小地图702中的b点对应的视角作为显示视角,然后在该游戏界面中显示该游戏场景在该显示视角下的游戏画面,如图7中的b图所示,即显示小地图702中的b点在该游戏场景中所处的地点对应的游戏画面。
170.这种情况下,若用户长按小地图702中的某一点,则该游戏界面显示的一直是用户在小地图702中长按的这一点在该游戏场景中所处的地点对应的游戏画面。而若用户在小地图702上滑动,则该游戏界面显示的是用户在小地图702中的滑动轨迹在该游戏场景中所处的一系列地点对应的一系列游戏画面。
171.若用户在点击小地图702后抬手,不继续点击小地图702,该游戏界面也会继续显示用户最近一次在小地图702中的点击点在该游戏场景中所处的地点对应的游戏画面,直至用户重新点击小地图702后,重新确定用户在小地图702中的新的点击点对应的视角作为新的显示视角,然后在该游戏界面中显示该游戏场景在新的显示视角下的游戏画面,即显示用户当前在小地图702中的点击点在该游戏场景中所处的地点对应的游戏画面。
172.通过上述描述可知,对战模式下的游戏界面与观战模式下的游戏界面有所不同。
对战模式下的游戏界面和观战模式下的游戏界面均显示有游戏画面和小地图。但是,对战模式下的游戏界面还显示有用于操控用户自己的游戏角色的虚拟按键,而观战模式下的游戏界面中不存在用于操控游戏角色的虚拟按键。在一些实施例中,对战模式下的游戏界面在小地图的附近还显示有用于放大小地图的控件的图标,而观战模式下的游戏界面中不存在用于放大小地图的控件的图标。
173.接下来对本技术实施例提供的测试方法的实施环境予以说明。
174.图8是本技术实施例提供的一种实施环境的示意图。参见图8,该实施环境包括:第一设备801和第二设备802。
175.第一设备801和第二设备802均可以是终端,如可以是上述图1

图2实施例所述的终端100。第一设备801的处理能力可以高于第二设备802的处理能力。比如,第二设备802可以是手机、平板电脑等移动终端,第一设备801可以是台式机、笔记本电脑等处理能力高于第二设备802的终端。
176.第一设备801与第二设备802可以通过有线连接或无线连接进行通信。参见图9,第一设备801安装有第一测试工具8011,第一测试工具8011可以控制第二设备802,示例地,第一测试工具8011可以为airtest工具等自动化测试工具。第二设备802安装有第二测试工具8021和人机交互应用8022。
177.第一设备801与第二设备802建立通信连接后,第一设备801中的第一测试工具8011可以控制第二设备802启动第二测试工具8021和人机交互应用8022。
178.第二测试工具8021和人机交互应用8022在第二设备802上运行后,第二测试工具8021可以在第二设备802运行人机交互应用8022的过程中对第二设备802的性能进行测试。示例地,第二测试工具8021可以对平均帧率、抖动率、每小时卡顿次数、最大丢帧数、功耗、cpu利用率、cpu温度等性能进行测试。
179.第一测试工具8011不仅可以控制第二设备802启动第二测试工具8021和人机交互应用8022,还可以控制人机交互应用8022的运行。示例地,第一测试工具8011可以控制人机交互应用8022进入用于显示虚拟场景的场景画面的目标界面,且在人机交互应用8022进入目标界面后,第一测试工具8011还可以控制目标界面显示复杂度较高的场景画面,以达到满足设备性能测试需求,提高设备性能测试效率的目的。
180.下面对第一测试工具8011予以说明。
181.第一测试工具8011用于控制第二设备802。可选地,可以在第一测试工具8011的测试界面中生成用于控制第二设备802的代码,代码生成后可以显示在第一测试工具8011的测试界面中。如此,通过运行第一测试工具8011的测试界面中显示的代码,可以实现对第二设备802的控制。
182.图10是本技术实施例提供的一种第一测试工具8011的测试界面的示意图。
183.如图10所示,第一测试工具8011的测试界面1000包括辅助窗口和代码编辑窗口。其中,辅助窗口显示有一些常用的函数,如touch(触摸操作)函数、swipe(滑动操作)函数等。代码编辑窗口用于输入代码。
184.在准备阶段,可以根据第一测试工具8011对第二设备802的控制需求,使用辅助窗口中显示的函数,在代码编辑窗口中输入用来控制第二设备802的代码。比如,使用辅助窗口中显示的函数,先在代码编辑窗口中输入用于启动第二测试工具8021和人机交互应用
8022的代码,再在代码编辑窗口中输入用于控制人机交互应用8022的运行的代码。在测试阶段,运行代码编辑窗口中显示的代码,实现对第二设备802的控制。比如,通过运行代码编辑窗口中显示的代码,可以实现对第二测试工具8021和人机交互应用8022的启动,然后实现对人机交互应用8022的运行的控制。
185.下面对第二测试工具8021予以说明。
186.第二测试工具8021用于对第二设备802的性能进行测试。具体地,第二测试工具8021启动后,可以在运行期间持续对第二设备802的性能进行测试,第二测试工具8021在停止运行时,可以在第二测试工具8021的测试界面中显示第二设备802的性能测试结果。
187.图11是本技术实施例提供的一种第二测试工具8021的测试界面的示意图。
188.如图11所示,第二测试工具8021的测试界面1100中显示有第二设备802的性能测试结果。该性能测试结果可以包括平均帧率、抖动率、每小时卡顿次数、最大丢帧数、功耗、cpu利用率、cpu温度等。其中,cpu利用率、cpu温度等实时监测的数据可以以曲线图的形式示出。
189.第一设备801和第二设备802可以执行下文图12实施例所述的测试方法,来实现在第二设备802运行人机交互应用8022的过程中对第二设备802的性能的测试。为了便于说明,以下将第一设备801称为测试设备,将第二设备802称为被测设备。
190.接下来对本技术实施例提供的测试方法予以说明。
191.图12是本技术实施例提供的一种测试方法的流程图。参见图12,该方法包括如下步骤:
192.步骤1201:测试设备与被测设备建立通信连接。
193.在一些实施例中,测试设备与被测设备可以通过近距离通信技术建立通信连接。示例地,该近距离通信技术可以为usb技术、蓝牙技术、或无线局域网技术等,本技术实施例对此不作限定。
194.测试设备与被测设备建立通信连接后,测试设备就可以控制被测设备,以实现对被测设备的性能测试。
195.步骤1202:测试设备启动被测设备中的人机交互应用和第二测试工具。
196.人机交互应用可以提供虚拟场景。该虚拟场景可以包括多个虚拟对象,还可以包括虚拟环境。各个虚拟对象可以在该虚拟环境中执行操作。比如,人机交互应用可以为游戏应用,游戏应用提供游戏场景,该游戏场景中包括多个游戏角色和游戏环境,该游戏环境可以包括景物,如道路、石墙、植物、防御建筑等,还可以包括npc,如野怪、小兵等。各个游戏角色可以在该游戏环境中执行操作。比如,对于任意一个游戏角色,这个游戏角色可以在该游戏环境中的道路上移动,或者,这个游戏角色可以攻击该游戏环境中的防御建筑,或者,这个游戏角色可以与该游戏环境中的npc进行互动等。
197.第二测试工具为用于测试被测设备的性能的工具。第二测试工具可以对被测设备的平均帧率、抖动率、每小时卡顿次数、最大丢帧数、功耗、cpu利用率、cpu温度等性能进行测试。其中,平均帧率、抖动率、每小时卡顿次数、最大丢帧数可以反映出用户在使用人机交互应用时的卡顿感受,平均帧率反映整体流畅度,抖动率反映突发性卡顿,每小时卡顿次数反映可量化卡顿次数,最大丢帧数反映最差卡顿。功耗可以反映出用户在使用人机交互应用时的热感受,功耗反映耗电量。
198.测试设备在与被测设备建立通信连接后,可以启动被测设备中的人机交互应用和第二测试工具。第二测试工具启动后,就可以自动对被测设备的性能进行测试。由于被测设备也启动了人机交互应用,因而第二测试工具启动后就可以自动对被测设备在运行人机交互应用过程中的性能进行测试。
199.测试设备可以先启动被测设备中的人机交互应用,再启动被测设备中的第二测试工具;或者,测试设备可以先启动被测设备中的第二测试工具,再启动被测设备中的人机交互应用;或者,测试设备可以同时启动被测设备中的人机交互应用和第二测试工具,本技术实施例对此不作限定。
200.可选地,测试设备可以向被测设备发送携带有人机交互应用标识的第一启动命令;被测设备接收到第一启动命令后,可以启动该人机交互应用标识所标识的人机交互应用。测试设备还可以向被测设备发送携带有测试工具标识的第二启动命令;被测设备接收到第二启动命令后,可以启动该测试工具标识所标识的第二测试工具。
201.第一启动命令和第二启动命令可以为同一条启动命令,此时测试设备是将该人机交互应用标识和该测试工具标识携带于同一条启动命令中发送给被测设备。当然,第一启动命令和第二启动命令也可以是不同的启动命令,此时测试设备是将该人机交互应用标识和该测试工具标识携带于不同的启动命令中发送给被测设备。这种情况下,测试设备可以先向被测设备发送第一启动命令,再向被测设备发送第二启动命令;或者,测试设备可以先向被测设备发送第二启动命令,再向被测设备发送第一启动命令,本技术实施例对第一启动命令和第二启动命令的发送顺序不作限定。
202.该人机交互应用标识用于唯一标识人机交互应用,如该人机交互应用标识可以为人机交互应用的名称等。可选地,被测设备接收到测试设备发送的该人机交互应用标识后,可以以该人机交互应用标识为参数,调用系统内置命令(包括但不限于am start命令)来启动该人机交互应用标识所标识的人机交互应用。
203.该测试工具标识用于唯一标识第二测试工具,如该测试工具标识可以为第二测试工具的名称等。可选地,被测设备接收到测试设备发送的该测试工具标识后,可以以该测试工具标识为参数,调用系统内置命令(包括但不限于am start命令)来启动该测试工具标识所标识的第二测试工具。
204.在一些实施例中,可以由测试设备中的第一测试工具来启动被测设备中的人机交互应用和第二测试工具。也即,可以由第一测试工具来向被测设备发送启动命令,以指示被测设备启动人机交互应用和第二测试工具。
205.比如,在准备阶段,可以在图10所示的第一测试工具的测试界面中的代码编辑窗口输入用于启动被测设备中的人机交互应用和第二测试工具的代码。在测试阶段,可以运行这些代码,使第一测试工具生成启动命令并发送给被测设备,以指示被测设备启动人机交互应用和第二测试工具。
206.步骤1203:测试设备指示被测设备中的人机交互应用显示目标界面,目标界面用于显示虚拟场景的场景画面。
207.比如,在人机交互应用为游戏应用的情况下,目标界面是游戏应用中的游戏界面,该游戏界面用于显示游戏场景的游戏画面。
208.一般情况下,人机交互应用启动后会显示主界面,此时需要触发人机交互应用中
的一系列的选项,才能够从主界面进入到目标界面。因而,本技术实施例中,测试设备可以向被测设备发送一系列的命令来实现对人机交互应用中的一系列的选项的触发,以指示人机交互应用从主界面进入目标界面。
209.这种情况下,测试设备中可以预先存储有选项图像集,该选项图像集中包括多个选项图像,该多个选项图像与多个选项一一对应,各个选项图像是其对应的一个选项的图像。该多个选项是从人机交互界面的主界面进入目标界面所需触发的一系列选项。该多个选项图像具有顺序性,该多个选项图像的顺序即为所对应的该多个选项的触发顺序,即是在从人机交互界面的主界面进入目标界面的过程中该多个选项被触发的顺序。
210.人机交互应用可以具有多种不同的模式,通过不同的选项可以进入到不同模式下的目标界面。在此情况下,测试设备中可以预先存储有多个选项图像集,该多个选项图像集与多种模式一一对应,各个选项图像集中的多个选项图像是用于进入对应模式下的目标界面的一系列选项的图像。
211.比如,对于图4所示的从游戏应用的主界面进入到对战模式下的游戏界面的过程,需要操作4个选项,这4个选项依次为:对战选项、人机选项、角色头像、确定选项。这种情况下,对战模式对应的选项图像集中可以包括这4个选项中每个选项的图像,对战模式对应的选项图像集中的4个选项图像可以如图13所示。
212.再比如,对于图6所示的从游戏应用的主界面进入到观战模式下的游戏界面的过程,需要操作2个选项,这2个选项依次为:赛事选项、播放选项。这种情况下,观战模式对应的选项图像集中可以包括这2个选项中每个选项的图像,该观战模式对应的选项图像集中的2个选项图像可以如图14所示。
213.测试设备可以事先选定人机交互应用中的一种模式,根据这种模式对应的选项图像集中的多个选项图像来向被测设备发送一系列的命令,以指示被测设备触发该多个选项图像所对应的多个选项,实现被测设备中的人机交互应用从主界面进入目标界面。
214.下面以该选项图像集中的多个选项图像的数量为n为例,来对测试设备根据该选项图像集中的n个选项图像,指示被测设备中的人机交互应用显示目标界面的操作进行说明,具体可以包括如下步骤(1)至步骤(11)。
215.可以理解的是,n为正整数。并且,由于n个选项图像的顺序性,n个选项图像中的最后一个选项图像(即第n个选项图像)对应的选项用于进入人机交互应用中的目标界面,即第n个选项图像对应的选项被触发后,人机交互应用就会显示目标界面。
216.(1)测试设备对i赋初值,即令i等于1。
217.(2)被测设备将n个选项图像中的第i个选项图像确定为参考选项图像。
218.(3)测试设备向被测设备发送第一屏幕图像获取命令。
219.第一屏幕图像获取命令用于请求获取被测设备的屏幕正在显示的图像。
220.(4)被测设备接收到测试设备发送的第一屏幕图像获取命令后,获取自身屏幕正在显示的图像作为第一屏幕图像。
221.可选地,被测设备可以通过全屏截图的方式获取自身屏幕正在显示的图像作为第一屏幕图像。由于被测设备启动了人机交互应用,所以第一屏幕图像是人机交互应用正在显示的应用界面的图像。
222.(5)被测设备将第一屏幕图像发送给测试设备。
223.(6)测试设备接收到被测设备发送的第一屏幕图像后,获取参考选项图像在第一屏幕图像中的位置坐标作为第一位置坐标。
224.第一屏幕图像中包含的参考选项图像是人机交互应用正在显示的应用界面中需要触发的选项的图像,因而测试设备可以获取参考选项图像在第一屏幕图像中的位置坐标(即第一位置坐标),第一位置坐标就是人机交互应用正在显示的应用界面中需要触发的选项的位置坐标。
225.测试设备可以根据参考选项图像的图像特征和第一屏幕图像的图像特征,将参考选项图像与第一屏幕图像进行匹配,以确定第一屏幕图像中与参考选项图像最匹配(即最相似)的一部分图像的位置坐标,此位置坐标即是参考选项图像在第一屏幕图像中的位置坐标,也即第一位置坐标。
226.比如,测试设备可以将参考选项图像作为模板图像,以及将第一屏幕图像作为源图像,使用opencv软件库中的模板匹配函数matchtemplate(),将该模板图像与该源图像进行模板匹配,以在该源图像中确定出与该模板图像最匹配的一部分图像的位置坐标,即第一位置坐标。
227.(7)测试设备向被测设备发送携带有第一位置坐标的选项触发命令。
228.该选项触发命令用于指示触发被测设备的屏幕中位于第一位置坐标处的选项。由于被测设备启动了人机交互应用,所以被测设备的屏幕上正在显示的是人机交互应用的应用界面,所以被测设备触发自身屏幕中位于第一位置坐标处的选项,也就是触发人机交互应用的应用界面中位于第一位置坐标处的选项。也就是说,该选项触发命令实际上是指示被测设备触发人机交互应用的应用界面中位于第一位置坐标处的选项。
229.(8)被测设备接收到测试设备发送的该选项触发命令后,触发自身屏幕中位于第一位置坐标处的选项,也即触发人机交互应用的应用界面中位于第一位置坐标处的选项。
230.(9)测试设备判断i是否等于n。
231.测试设备判断i是否等于n,即是判断本次的参考选项图像是否是第n个选项图像。
232.(10)测试设备在i不等于n的情况下,令i=i 1,重新执行步骤(2)至步骤(9),直至i等于n为止。
233.若i不等于n,则测试设备可以确定本次的参考选项图像不是第n个选项图像,则令i=i 1,以继续选择下一个选项图像作为参考选项图像,来继续指示被测设备触发人机交互应用的应用界面中的下一个选项。如此,被测设备是从n个选项图像中的第1个选项图像开始,指示被测设备依次触发人机交互应用的应用界面中与n个选项图像对应的n个选项中的每个选项,直至触发至n个选项中的最后一个选项后进入目标界面。
234.(11)测试设备在i等于n的情况下,确定被测设备中的人机交互应用已显示目标界面。
235.若i等于n,则测试设备可以确定本次的参考选项图像是第n个选项图像,本次指示被测设备触发的选项是人机交互应用的应用界面中与第n个选项图像对应的选项,也即是人机交互应用的应用界面中与n个选项图像对应的n个选项中的最后一个选项,因而测试设备可以确定人机交互应用已显示目标界面。
236.在一些实施例中,可以由测试设备中的第一测试工具来指示被测设备中的人机交互应用显示目标界面。也即,可以由第一测试工具来向被测设备发送第一屏幕图像获取命
令和选项触发命令,以指示被测设备中的人机交互应用显示目标界面。
237.比如,在准备阶段,第一测试工具获取n个选项图像,在图10所示的第一测试工具的测试界面中的代码编辑窗口可以输入用于向被测设备发送第一屏幕图像获取命令的代码,以及输入用于向被测设备发送针对n个选项图像的选项触发命令的代码。在测试阶段,可以运行这些代码,使第一测试工具向被测设备不断发送第一屏幕图像获取命令和选项触发命令,如此,第一测试工具可以不断获取被测设备的第一屏幕图像,并根据获取到的第一屏幕图像依次触发被测设备中的人机交互应用的应用界面中与n个选项图像中每个选项图像对应的选项,直至触发至n个选项图像中的最后一个选项图像对应的选项后,人机交互应用就会显示目标界面。
238.目标界面显示有人机交互应用提供的虚拟场景的场景画面。目标界面中显示的场景画面是该虚拟场景在某一视角下的场景画面,这一视角可以称为该虚拟场景在目标界面中的显示视角。该虚拟场景的场景画面越复杂,在渲染时所需的计算量就越大,在渲染时占用的计算机内存就越多,渲染时间就越长,相应地,被测设备在显示该虚拟场景的场景画面时的渲染负载就越高,即被测设备在显示目标界面时的渲染负载就越高。由于该虚拟场景包括多个虚拟对象,且该多个虚拟对象可被操控而执行操作,所以该虚拟场景是不断变化的。本技术实施例中,对于不断变化的该虚拟场景,可以不断调整该虚拟场景在目标界面中的显示视角,即不断调整目标界面中显示的场景画面,以使目标界面总是显示复杂度最高的场景画面,如此可使被测设备在显示目标界面时总是处于渲染负载最高的状态,从而可以满足被测设备的性能测试需求,提高测试效率。下面对调整目标界面中显示的场景画面的具体过程进行说明。
239.步骤1204:测试设备根据该虚拟场景中虚拟对象的聚集情况确定目标视角。
240.目标视角是该虚拟场景中复杂度最高的场景画面对应的视角。也即,该虚拟场景在目标视角下的场景画面的复杂度最高。相应的,后续被测设备在显示该虚拟场景在目标视角下的场景画面时的渲染负载也就最高。
241.该虚拟场景中的多个虚拟对象能够进行移动,任意两个虚拟对象通过移动,可以聚集在一处,或分散在相距较远的两处。一般情况下,该虚拟场景中的某个区域内聚集的虚拟对象的数量越多,包含有此区域的场景画面越复杂,因而可以根据该虚拟场景中虚拟对象的聚集情况确定复杂度最高的场景画面对应的视角,即确定目标视角。
242.目标界面除了显示该虚拟场景的场景画面之外,还可以显示该虚拟场景的场景地图,该场景地图包括虚拟对象标识。该虚拟场景中的多个虚拟对象中的每个虚拟对象都具有虚拟对象标识。对于该多个虚拟对象中的任意一个虚拟对象来说,这个虚拟对象的虚拟对象标识用于唯一标识这个虚拟对象,如这个虚拟对象的虚拟对象标识可以是这个虚拟对象的头像、名称等,本技术实施例对此不作限定。某个虚拟对象标识在该场景地图中的位置用于指示这个虚拟对象标识所标识的虚拟对象在该虚拟场景中所处的地点。如此,根据该场景地图中的虚拟对象标识就可以确定该虚拟场景中的多个虚拟对象的聚集情况。
243.该多个虚拟对象中至少存在两个虚拟对象属于不同的组织。不同组织的虚拟对象存在竞争关系。因而,该虚拟场景中的某个区域内聚集的不同组织的虚拟对象的数量越多,此区域内不同组织的虚拟对象执行的操作越庞杂,如此,包含有此区域的场景画面越复杂。
244.在上述情况下,步骤1204的操作可以包括如下步骤(1)至步骤(5)。
245.(1)测试设备向被测设备发送第二屏幕图像获取命令。
246.第二屏幕图像获取命令用于请求获取被测设备的屏幕正在显示的图像。
247.在一些实施例中,测试设备可以在指示被测设备中的人机交互应用显示目标界面后,间隔预设时间,再向被测设备发送第二屏幕图像获取命令。预设时间可以预先进行设置,且可以设置的较长,如预设时间可以大于或等于10秒且小于或等于20秒。
248.一般情况下,在目标界面刚开始显示的一段时间(即预设时间)内,该虚拟场景中多个虚拟对象才刚开始从初始地点进行移动,在这段时间内不同组织的虚拟对象很大可能是分散的,不会聚集在一起,因而在这段时间内测试设备无需获取被测设备的屏幕正在显示的图像。如此,可以节省测试设备和被测设备的通信资源和处理资源。在这段时间过后测试设备再获取被测设备的屏幕正在显示的图像,即在这段时间过后测试设备再向被测设备发送第二屏幕图像获取命令。
249.(2)被测设备接收到测试设备发送的第二屏幕图像获取命令后,获取自身屏幕正在显示的图像作为第二屏幕图像。
250.可选地,被测设备可以通过全屏截图的方式获取自身屏幕正在显示的图像作为第二屏幕图像。由于被测设备正在显示目标界面,所以第二屏幕图像是目标界面的图像。
251.(3)被测设备将第二屏幕图像发送给测试设备。
252.(4)测试设备接收到被测设备发送的第二屏幕图像后,在第二屏幕图像中识别该虚拟场景的场景地图。
253.由于目标界面显示有该虚拟场景的场景地图,而第二屏幕图像是目标界面的图像,所以可以在第二屏幕图像中识别该场景地图。
254.测试设备在第二屏幕图像中识别该场景地图的方式可以有多种,下面对两种可能的方式进行说明。当然,测试设备也可以采用其他方式在第二屏幕图像中识别场景地图,本技术实施例对此不作限定。
255.第一种可能的方式:测试设备将第二屏幕图像中第一位置坐标范围内的图像确定为该场景地图。
256.一般情况下,该场景地图显示在目标界面中固定的位置,也即,无论目标界面显示的场景画面如何变化,该场景地图在目标界面中的显示位置都是不变的。比如,图4中的d图或图6中的c图所示,小地图固定显示在游戏界面中左上角的一定大小的矩形区域内。因而,本技术实施例中可以根据该场景地图在目标界面中固定的显示位置,事先设置第一位置坐标范围,也即,事先将该场景地图在目标界面中的显示位置的坐标范围作为第一位置坐标范围。如此,测试设备接收到被测设备发送的第二屏幕图像后,就可以直接将第二屏幕图像中第一位置坐标范围内的图像确定为该场景地图,实现对该场景地图的识别。此识别过程简单快速,可以提高该场景地图的识别效率。
257.第二种可能的方式:测试设备确定参考图标在第二屏幕图像中的位置坐标,根据该位置坐标和地图位置确定规则确定第二位置坐标范围,将第二屏幕图像中第二位置坐标范围内的图像确定为该场景地图。
258.测试设备可以根据参考图标的图像特征和第二屏幕图像的图像特征,将参考图标与第二屏幕图像进行匹配,以确定第二屏幕图像中与参考图标最匹配(即最相似)的一部分图像的位置坐标,此位置坐标即是参考图标在第二屏幕图像中的位置坐标。
259.比如,测试设备可以将参考图标作为模板图像,以及将第二屏幕图像作为源图像,使用opencv软件库中的模板匹配函数matchtemplate(),将该模板图像与该源图像进行模板匹配,以在该源图像中确定出与该模板图像最匹配的一部分图像的位置坐标,此位置坐标即是参考图标在第二屏幕图像中的位置坐标。
260.一般情况下,目标界面中存在一些与该场景地图之间有固定的位置关系的图标,这些图标能够用于定位该场景地图。示例地,该场景地图中包含固定的景物的图标,比如,图4中的d图或图6中的c图所示的游戏界面中的小地图包含位于左下角的防御建筑1的图标以及位于右上角的防御建筑2的图标。或者,该场景地图的周侧存在一些用于操作该场景地图的控件的图标,比如,图4中的d图所示的游戏界面中的小地图的周侧存在用于放大小地图的控件1的图标。这些图标均能够定位该场景地图。本技术实施例中可以预先将这些能够定位场景地图的图标设置为参考图标,然后根据参考图标与该场景地图之间的位置关系,预先设置地图位置确定规则,地图位置确定规则可以体现参考图标与该场景地图之间的位置关系,地图位置确定规则用于根据参考图标的位置坐标计算该场景地图的位置坐标范围。如此,测试设备接收到被测设备发送的第二屏幕图像后,就可以直接根据参考图标在第二屏幕图像中的位置坐标和地图位置确定规则,在第二屏幕图像中定位出该场景地图,实现对该场景地图的识别。
261.比如,在如图15所示的小地图中,预先将图15中的小地图的周侧存在的用于放大小地图的控件的图标设置为参考图标。如图15所示,假设参考图标与小地图之间的位置关系为:小地图处于参考图标的左上方的长为a、宽为b的矩形区域内。假设参考图标的位置坐标为(x,y),则可以预先设置地图位置确定规则为:将四个顶点的位置坐标为(x

a,y

b)、(x,y

b)、(x

a,y)、(x,y)的矩形区域的位置坐标范围确定为该场景地图的位置坐标范围,即第二坐标范围。
262.又比如,在如图16所示的小地图中,预先将图16中的小地图中位于左下角的防御建筑的图标设置为参考图标。如图16所示,假设参考图标与小地图之间的位置关系为:小地图处于参考图标的右上方的长为a、宽为b的矩形区域内。假设参考图标的位置坐标为(x,y),则可以预先设置地图位置确定规则为:将四个顶点的位置坐标为(x,y

b)、(x a,y

b)、(x,y)、(x a,y)的矩形区域的位置坐标范围确定为该场景地图的位置坐标范围,即第二坐标范围。
263.再比如,在如图17所示的小地图中,预先将图17中的小地图的周侧存在的用于放大小地图的控件的图标设置为参考图标。如图17所示,假设参考图标与小地图之间的位置关系为:小地图处于参考图标的左上方的紧邻目标界面的上边缘的正方形区域内。假设参考图标的位置坐标为(x,y),则可以预先设置地图位置确定规则为:将四个顶点的位置坐标为(x

y,0)、(x,0)、(x

y,y)、(x,y)的正方形区域的位置坐标范围确定为该场景地图的位置坐标范围,即第二坐标范围。
264.在一些实施例中,目标界面中可能存在多个能够定位该场景地图的图标,且不同模式下的目标界面中能够定位该场景地图的图标也可能有所不同。比如,图4中的d图所示的游戏界面是对战模式下的游戏界面,图6中的c图所示的游戏界面是观战模式下的游戏界面,图4中的d图和图6中的c图所示的游戏界面的模式不同。图4中的d图所示的对战模式下的游戏界面中能够定位小地图的图标包括:小地图中位于左下角的防御建筑1的图标、小地
图中位于右上角的防御建筑2的图标、位于小地图的周侧的用于放大小地图的控件1的图标。图6中的c图所示的观战模式下的游戏界面中能够定位小地图的图标包括:小地图中位于左下角的防御建筑1的图标、小地图中位于右上角的防御建筑2的图标。
265.因而,对于多个模式中任意一个模式下的目标界面,可以预先从这个模式下的目标界面中存在的能够定位该场景地图的图标中选取一个图标作为这个模式对应的参考图标,然后根据这个模式对应的参考图标与这个模式下的目标界面中的场景地图之间的位置关系,预先设置这个模式对应的地图位置确定规则。如此,测试设备接收到被测设备发送的第二屏幕图像后,可以先确定被测设备显示的目标界面的模式对应的参考图标和地图位置确定规则,再根据参考图标在第二屏幕图像中的位置坐标和地图位置确定规则,在第二屏幕图像中定位出该场景地图,实现对该场景地图的识别。
266.(5)测试设备根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角。
267.可选地,不同组织的虚拟对象标识可以通过颜色或形状进行区分。比如,该虚拟场景包括两个组织的虚拟对象,相应的,该场景地图中包括两个组织的虚拟对象标识。这两个组织的虚拟对象标识可以通过颜色进行区分,如这两个组织的虚拟对象标识的形状均是圆形,其中,一个组织的虚拟对象标识是蓝色,另一个组织的虚拟对象标识是红色。或者,这两个组织的虚拟对象标识可以通过形状进行区分,如这两个组织的虚拟对象标识中一个组织的虚拟对象标识是圆形,另一个组织的虚拟对象标识是正方形。
268.测试设备可以先从该场景地图中识别各个组织的虚拟对象标识,再根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角。
269.测试设备从该场景地图中识别各个组织的虚拟对象标识的方式可以有多种,下面对几种可能的方式进行说明。当然,测试设备也可以采用其他方式从该场景地图中识别各个组织的虚拟对象标识,本技术实施例对此不作限定。
270.若该场景地图中不同组织的虚拟对象标识通过形状进行区分,即若该场景地图中不同组织的虚拟对象标识的形状不同,则测试设备可以通过如下第一种可能的方式从该场景地图中识别各个组织的虚拟对象标识。这种情况下,对于该多个组织中的每一个组织,将这个组织的虚拟对象标识的形状称为这个组织对应的形状。
271.第一种可能的方式:对于该多个组织中的任意一个组织,测试设备获取该场景地图中形状与这个组织对应的形状相同的至少一个图像,将该至少一个图像中的每个图像作为这个组织的虚拟对象标识。
272.比如,该场景地图中包括第一组织和第二组织的虚拟对象标识。第一组织的虚拟对象标识的形状是圆形,第二组织的虚拟对象标识的形状是正方形。测试设备可以使用opencv软件库中的函数,从该场景地图中检测形状为圆形的图像,将检测到的圆形图像确定为第一组织的虚拟对象标识。测试设备可以使用opencv软件库中的函数,从该场景地图中检测形状为正方形的图像,将检测到的正方形图像确定为第二组织的虚拟对象标识。
273.一般情况下,虽然不同组织的虚拟对象标识的形状不同,但是尺寸可以是一致的。比如,第一组织的圆形的虚拟对象标识的面积与第二组织的正方形的虚拟对象标识的面积可以是相同的。这种情况下,测试设备从该场景地图中识别出各个组织的虚拟对象标识之后,还可以确定虚拟对象标识的尺寸,以便后续可以据此分析该场景地图中不同组织的虚
拟对象标识的聚集程度。
274.在一些实施例中,该场景地图中的虚拟对象标识的尺寸一般是固定的,假设该场景地图中的虚拟对象标识的尺寸为指定尺寸,则技术人员可以预先将指定尺寸存储在测试设备中,如此,测试设备从该场景地图中识别出各个组织的虚拟对象标识之后,可以直接确定虚拟对象标识的尺寸为指定尺寸,操作简单快速。
275.在另一些实施例中,测试设备从该场景地图中识别出各个组织的虚拟对象标识之后,可以直接确定从该场景地图中识别出的每个虚拟对象标识的尺寸。
276.若该场景地图中不同组织的虚拟对象标识通过颜色进行区分,即若该场景地图中不同组织的虚拟对象标识的形状相同,但颜色不同,则测试设备可以通过如下第二种可能的方式从该场景地图中识别各个组织的虚拟对象标识。这种情况下,假设该多个组织中每个组织的虚拟对象标识的形状均为指定形状,该指定形状可以是圆形、或正方形等。并且,对于该多个组织中的每一个组织,将这个组织的虚拟对象标识的颜色称为这个组织对应的颜色。
277.第二种可能的方式:对于该多个组织中的每一个组织,测试设备获取该场景地图中颜色与这个组织对应的颜色相同且形状为指定形状的至少一个图像,将该至少一个图像中的每个图像作为这个组织的虚拟对象标识。
278.比如,该场景地图中包括第一组织和第二组织的虚拟对象标识。第一组织和第二组织的虚拟对象标识的形状均是圆形,其中,第一组织的虚拟对象标识是蓝色,第二组织的虚拟对象标识是红色。该场景地图包括蓝色通道(blue,b)、绿色通道(green,b)、红色通道(red,r),即该场景地图是三通道图像。上述第二种可能的方式具体可以包括如下步骤一至步骤四:
279.步骤一、测试设备使用opencv软件库中的通道拆分函数cv2.split(),从该场景地图中分离得到各个通道的灰度图。
280.各个通道的灰度图是单通道图像。各个通道的灰度图的灰度值范围是0~255。其中,灰度值为0时为黑色,灰度值为255时为白色。
281.步骤二、测试设备使用灰度阈值对各个通道的灰度图进行二值化,得到各个通道的黑白图。
282.该灰度阈值可以预先进行设置,且可以通过反复测试来确定该灰度阈值,以使得通过该灰度阈值能够得到效果较好的黑白图。比如,该灰度阈值可以为120。
283.测试设备使用该灰度阈值对各个通道的灰度图进行二值化,即是将各个通道的灰度图中灰度值小于或等于该灰度阈值的像素点的灰度值变为0,将各个通道的灰度图中灰度值大于该灰度阈值的像素点的灰度值变为255,如此,可以得到各个通道的黑白图。各个通道的黑白图的灰度值范围是0或255。
284.示例地,测试设备可以使用opencv软件库中的函数cv2.inrange()来对各个通道的灰度图进行二值化,以得到各个通道的黑白图。假设该灰度阈值为120,则红色通道的黑白图inranger=cv2.inrange(r,120,255),其中,r是指红色通道的灰度图中的灰度值,cv2.inrange(r,120,255)可将红色通道的灰度图中小于或等于120的灰度值变为0,将大于120的灰度值变为255,以得到红色通道的黑白图。绿色通道的黑白图inrangeg=cv2.inrange(g,120,255),其中,g是指绿色通道的灰度图中的灰度值,cv2.inrange(g,
120,255)可将绿色通道的灰度图中小于或等于120的灰度值变为0,将大于120的灰度值变为255,以得到绿色通道的黑白图。蓝色通道的黑白图inrangeb=cv2.inrange(b,120,255),其中,b是指蓝色通道的灰度图中的灰度值,cv2.inrange(b,120,255)可将蓝色通道的灰度图中小于或等于120的灰度值变为0,将大于120的灰度值变为255,以得到蓝色通道的黑白图。比如,对于图15所示的小地图,该小地图中的蓝色通道的黑白图可以如图18中的a图所示,该小地图中的绿色通道的黑白图可以如图18中的b图所示,该小地图中的红色通道的黑白图可以如图18中的c图所示。
285.步骤三、测试设备从蓝色通道的黑白图中识别出形状为圆形的图像作为第一组织的虚拟对象标识,从红色通道的黑白图中识别出形状为圆形的图像作为第二组织的虚拟对象标识。
286.可选地,测试设备可以直接从蓝色通道的黑白图中识别形状为圆形的图像作为第一组织的虚拟对象标识。比如,测试设备可以使用opencv软件库中的函数cv2.houghcircle()在蓝色通道的黑白图中检测形状为圆形的图像,将检测到的圆形图像作为第一组织的虚拟对象标识。其中,cv2.houghcircle()用于利用霍夫变换算法在图像中检测圆。
287.或者,为了提高识别的准确度,测试设备可以先对蓝色通道的黑白图进行处理,再从处理后的蓝色通道的黑白图中识别形状为圆形的图像作为第一组织的虚拟对象标识。具体地,测试设备可以将蓝色通道的黑白图中各个像素点的灰度值减去红色通道的黑白图中对应像素点的灰度值,且减去绿色通道的黑白图中对应像素点的灰度值,即处理后的蓝色通道的黑白图blue_channel=inrangeb

inranger

inrangeg。如此,可以有效抵消非蓝色在蓝色通道的黑白图中占有的灰度值,得到较为理想的蓝色通道的黑白图。之后,测试设备可以使用opencv软件库中的函数cv2.houghcircle()在处理后的蓝色通道的黑白图中检测形状为圆形的图像,将检测到的圆形图像作为第一组织的虚拟对象标识。
288.可选地,测试设备可以直接从红色通道的黑白图中识别形状为圆形的图像作为第二组织的虚拟对象标识。比如,测试设备可以使用opencv软件库中的函数cv2.houghcircle()在红色通道的黑白图中检测形状为圆形的图像,将检测到的圆形图像作为第二组织的虚拟对象标识。
289.或者,为了提高识别的准确度,测试设备可以先对红色通道的黑白图进行处理,再从处理后的红色通道的黑白图中识别形状为圆形的图像作为第二组织的虚拟对象标识。具体地,测试设备可以将红色通道的黑白图中各个像素点的灰度值减去蓝色通道的黑白图中对应像素点的灰度值,且减去绿色通道的黑白图中对应像素点的灰度值,即处理后的红色通道的黑白图red_channel=inranger

inrangeb

inrangeg。如此,可以有效抵消非红色在红色通道的黑白图中占有的灰度值,得到较为理想的红色通道的黑白图。之后,测试设备可以使用opencv软件库中的函数cv2.houghcircle()在处理后的红色通道的黑白图中检测形状为圆形的图像,将检测到的圆形图像作为第二组织的虚拟对象标识。
290.一般情况下,不同组织的虚拟对象标识的形状相同时,大小也相同。比如,第一组织的圆形的虚拟对象标识的半径与第二组织的圆形的虚拟对象标识的半径可以是相同的。这种情况下,测试设备从该场景地图中识别出各个组织的虚拟对象标识之后,还可以确定虚拟对象标识的尺寸,以便后续可以据此分析该场景地图中不同组织的虚拟对象标识的聚集程度。
291.在一些实施例中,该场景地图中的虚拟对象标识的尺寸一般是固定的,假设该场景地图中的虚拟对象标识的尺寸为指定尺寸,则技术人员可以预先将指定尺寸存储在测试设备中,如此,测试设备从该场景地图中识别出各个组织的虚拟对象标识之后,可以直接确定虚拟对象标识的尺寸为指定尺寸,操作简单快速。
292.在另一些实施例中,测试设备从该场景地图中识别出各个组织的虚拟对象标识之后,可以直接确定从该场景地图中识别出的每个虚拟对象标识的尺寸。
293.在又一些实施例中,用户自己操控的虚拟对象的虚拟对象标识的颜色可以与该虚拟对象所在组织的其他虚拟对象的虚拟对象标识的颜色不同。也就是说,对于同一组织的多个虚拟对象中的每个虚拟对象,在用于操控这个虚拟对象的设备上显示的目标界面中的该场景地图中,这个虚拟对象的虚拟对象标识的颜色与同一组织的其他虚拟对象的虚拟对象标识的颜色不同。比如,在如图4中的d图所示的对战场景下的游戏界面中,用户自己操控的游戏角色在小地图中的角色头像的颜色可以是绿色,同一组织的其他游戏角色在小地图中的角色头像的颜色可以为蓝色,而另一组织的游戏角色在小地图中的角色头像的颜色均是红色。
294.假设第一组织的多个虚拟对象中的一个虚拟对象是由被测设备操控的,在被测设备显示的目标界面中的该场景地图中,这个虚拟对象的虚拟对象标识的颜色为绿色。这种情况下,测试设备可以对上述步骤二中得到的绿色通道的黑白图进行处理,再从处理后的绿色通道的黑白图中识别形状为圆形的图像作为被测设备正在操控的虚拟对象的虚拟对象标识,然后确定该虚拟对象标识的尺寸。具体地,测试设备可以将绿色通道的黑白图中各个像素点的灰度值减去红色通道的黑白图中对应像素点的灰度值,且减去蓝色通道的黑白图中对应像素点的灰度值,即处理后的绿色通道的黑白图green_channel=inrangeg

inranger

inrangeb。比如,将图18中的b图所示的绿色通道的黑白图中各个像素点的灰度值减去图18中的a图所示的蓝色通道的黑白图中对应像素点的灰度值,且减去图18中的c图所示的红色通道的黑白图中对应像素点的像素值,可以得到图19所示的绿色通道的黑白图。如此,可以有效抵消非绿色在绿色通道的黑白图中占有的灰度值,得到较为理想的绿色通道的黑白图。之后,测试设备可以使用opencv软件库中的函数cv2.houghcircle()在处理后的绿色通道的黑白图中检测形状为圆形的图像,将检测到的圆形图像作为被测设备正在操控的虚拟对象的虚拟对象标识,并得到检测到的圆形图像的半径,即得到虚拟对象标识的尺寸。由于被测设备一般只操控一个虚拟对象,所以该场景地图中一般只有一个绿色的虚拟对象标识,因而处理后的绿色通道的黑白图中一般只有一个圆形图像,如此可以比较快速准确地检测出圆形图像,从而据此确定出的虚拟对象标识的尺寸也就比较准确。
295.测试设备识别出该场景地图中各个组织的虚拟对象标识后,就可以根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角,具体地,测试设备根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角的操作可以包括如下步骤一至步骤三:
296.步骤一、测试设备确定该场景地图中的多个聚集区域。
297.每个聚集区域均包含不同组织的虚拟对象标识,也即,聚集区域是不同组织的虚拟对象标识聚集的区域。聚集区域的大小可以是预先设置的一个大小,也可以是根据虚拟对象标识的大小确定的。
298.可选地,测试设备可以确定该场景地图中的多个虚拟对象标识中每个虚拟对象标识所在的目标区域,以得到多个目标区域;将该多个目标区域中包含有不同组织的虚拟对象标识的目标区域确定为聚集区域。
299.对于任意一个虚拟对象标识来说,这个虚拟对象标识所在的目标区域为中心与这个虚拟对象标识的中心相同、形状与这个虚拟对象标识的形状相同、尺寸是这个虚拟对象标识的尺寸的k倍的区域,k为大于或等于2的整数。比如,假设k为3,这个虚拟对象标识是半径为r的圆,则这个虚拟对象标识所在的目标区域可以是半径为3r的圆。
300.比如,在如图20所示的小地图中,测试设备可以在该小地图中确定多个目标区域,确定出的目标区域包括:目标区域1、目标区域2、目标区域3、目标区域4、目标区域5、目标区域6。测试设备可以确定图20所示的小地图中的多个目标区域中位于右下角的目标区域4、目标区域5均包含有不同组织的角色头像,则可以将目标区域4、目标区域5均确定为聚集区域。
301.步骤二、测试设备将该多个聚集区域中包含的虚拟对象标识的数量最多的聚集区域确定为参考区域。
302.由于该多个聚集区域均是聚集有不同组织的虚拟对象标识的区域,而参考区域是该多个聚集区域中聚集的虚拟对象标识最多的区域,也即是该多个聚集区域中聚集度最高的聚集区域,所以参考区域是聚集有不同组织的虚拟对象标识的区域中聚集的虚拟对象标识最多的区域。
303.比如,在图20所示的小地图中,目标区域4、目标区域5均为聚集区域,其中,目标区域4包含有三个角色头像,目标区域5包含有两个角色头像,因而目标区域4包含的角色头像的数量最多,则测试设备可以将目标区域4确定为参考区域。
304.步骤三、测试设备将参考区域在该场景地图中对应的视角确定为目标视角。
305.参考区域在该场景地图中对应的视角是用于显示参考区域在该虚拟场景中所处的地点处的场景画面的视角。由于参考区域是聚集有不同组织的虚拟对象标识的区域,且聚集的虚拟对象标识的数量最多,所以参考区域在该虚拟场景中所处的地点处的场景画面比较复杂,且是该虚拟场景中复杂度最高的场景画面,因而可以将参考区域在该场景地图中对应的视角确定为目标视角。
306.在一些实施例中,可以由测试设备中的第一测试工具来根据该虚拟场景中虚拟对象的聚集情况确定目标视角。也即,可以由第一测试工具来向被测设备发送第二屏幕图像获取命令,以及识别获取到的第二屏幕图像中的该场景地图,并根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角。
307.比如,在准备阶段,在图10所示的第一测试工具的测试界面中的代码编辑窗口可以输入用于向被测设备发送第二屏幕图像获取命令的代码,以及输入用于识别获取到的第二屏幕图像中的该场景地图,并根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角的代码。在测试阶段,可以运行这些代码,使第一测试工具向被测设备发送第二屏幕图像获取命令,如此,第一测试工具可以获取到被测设备的第二屏幕图像,并识别获取到的第二屏幕图像中的该场景地图,然后根据该场景地图中不同组织的虚拟对象标识的聚集程度确定目标视角。
308.步骤1205:测试设备指示被测设备在目标界面中显示该虚拟场景在目标视角下的
场景画面,以测试被测设备的性能。
309.由于目标视角是该虚拟场景中复杂度最高的场景画面对应的视角,所以测试设备指示被测设备在目标界面中显示该虚拟场景在目标视角下的场景画面后,被测设备显示该场景画面时的渲染负载最高,从而可以满足被测设备的性能测试需求,提高测试效率。
310.具体地,测试设备获取参考区域在第二屏幕图像中的位置坐标作为第二位置坐标,向被测设备发送携带有第二位置坐标的触点触发命令,以指示被测设备在目标界面中触发第二位置坐标处的触点后显示该虚拟场景在目标视角下的场景画面。被测设备接收到该触点触发命令后,在目标界面中触发第二位置坐标处的触点,以在目标界面中显示该虚拟场景在目标视角下的场景画面。
311.参考区域在第二屏幕图像中的位置坐标可以是参考区域的中心在第二屏幕图像中的位置坐标,或者,参考区域在第二屏幕图像中的位置坐标可以是参考区域包含的所有虚拟对象标识的中心在第二屏幕图像中的位置坐标的平均值。比如,参考区域包含5个虚拟对象标识,则测试设备可以先确定这5个虚拟对象标识中每个虚拟对象标识的中心在第二屏幕图像中的位置坐标分别为:(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5),然后根据这5个虚拟对象标识中每个虚拟对象标识在第二屏幕图像中的位置坐标,通过公式x_new=(x1 x2 x3 x4 x5)/5和公式y_new=(y1 y2 y3 y4 y5)/5,确定参考区域在第二屏幕图像中的位置坐标(x_new,y_new)。
312.该触点触发命令用于指示被测设备在目标界面中触发第二位置坐标处的触点,被测设备触发第二位置坐标处的触点后,实际上就是在该场景地图中触发了参考区域处的触点,如此,可以使得目标界面显示该虚拟场景在目标视角下的场景画面,从而使得被测设备显示该场景画面时的渲染负载最高,也就可以满足被测设备的性能测试需求,提高测试效率。
313.比如,被测设备的游戏应用的游戏界面中正在显示的场景画面是如图21中的a图所示的游戏界面2100中的场景画面。之后,被测设备接收到测试设备发送的携带有第二位置坐标的触点触发命令,被测设备在游戏界面2100中触发第二位置坐标处的触点,即触发游戏界面2100中的小地图2101中的c点,此时游戏界面2100会切换至显示该虚拟场景在小地图2101中的c点对应的视角(即目标视角)下的场景画面,即游戏界面2100会切换至显示如图21中的b图所示的游戏界面2100中的场景画面。图21中的b图所示的游戏画面的复杂度高,可使被测设备显示该场景画面时的渲染负载高,也就可以满足被测设备的性能测试需求,提高测试效率。
314.作为一种示例,被测设备触发第二位置坐标处的触点后,即在该场景地图中触发了参考区域处的触点后,即使不继续触发此触点,但只要不触发该场景地图中的其他点,目标界面也依旧会继续显示该虚拟场景在目标视角下的场景画面。比如,在观战模式下的游戏界面中,被测设备模拟对小地图中的参考区域的点击操作后,若不继续对小地图中的参考区域执行点击操作,游戏界面会继续显示游戏场景在小地图中最近一次点击点对应的视角(即目标视角)下的游戏画面。
315.这种情况下,测试设备向被测设备发送携带有第二位置坐标的触点触发命令可以是对第二位置坐标处的触点的单次触发命令。比如,测试设备向被测设备发送的可以是对第二位置坐标处的触点的点击命令,被测设备接收到该点击命令后,可以使用android系统
工具sendevent模拟对第二位置坐标处的触点的点击操作。
316.作为另一种示例,被测设备触发第二位置坐标处的触点后,即在该场景地图中触发了参考区域处的触点后,需要持续触发此触点,才能使目标界面持续显示该虚拟场景在目标视角下的场景画面。比如,在对战模式下的游戏界面中,被测设备需要模拟对小地图中的参考区域的长按操作后,才能使游戏界面持续显示游戏场景在小地图中长按点对应的视角(即目标视角)下的游戏画面。
317.这种情况下,测试设备向被测设备发送携带有第二位置坐标的触点触发命令可以是对第二位置坐标处的触点的持续触发命令。比如,测试设备向被测设备发送的可以是对第二位置坐标处的触点的长按命令,被测设备接收到该长按命令后,可以使用android系统工具sendevent模拟对第二位置坐标处的触点的长按操作。
318.sendevent工具模拟触屏操作的代码为:sendevent/dev/input/eventx type code value。其中,sendevent是写入事件时的时间戳,/dev/input/eventx是写入事件的设备节点,type是事件类型,code是事件代码,value是事件的值。
319.示例地,被测设备使用sendevent工具模拟按压操作的代码如下:
320.sendevent/dev/input/event3 3 58 500
ꢀꢀꢀꢀꢀ
按压力度500
321.sendevent/dev/input/event3 3 53 400
ꢀꢀꢀꢀꢀ
x位置坐标400
322.sendevent/dev/input/event3 3 54 900
ꢀꢀꢀꢀꢀ
y位置坐标900
323.sendevent/dev/input/event3 1 330 1
ꢀꢀꢀꢀꢀꢀ
touch事件按压
324.sendevent/dev/input/event3 0 0 0
ꢀꢀꢀꢀꢀꢀꢀꢀ
sync事件(sync事件后按压模拟真正生效,模拟手势按压(400,900)位置)
325.若被测设备需要模拟滑动操作,则在上述代码后还可以运行如下代码:
326.sendevent/dev/input/event3 3 58 500
ꢀꢀꢀ
按压力度500
327.sendevent/dev/input/event3 3 53 400
ꢀꢀꢀ
x位置坐标400
328.sendevent/dev/input/event3 3 54 950
ꢀꢀꢀ
y位置坐标950
329.sendevent/dev/input/event3 0 0 0
ꢀꢀꢀꢀꢀꢀ
sync事件(sync事件后模拟手势滑动到(400,950)位置)
330.sendevent/dev/input/event3 3 58 500
ꢀꢀꢀ
按压力度500
331.sendevent/dev/input/event3 3 53 400
ꢀꢀꢀ
x位置坐标400
332.sendevent/dev/input/event3 3 54 1000
ꢀꢀ
y位置坐标1000
333.sendevent/dev/input/event3 0 0 0
ꢀꢀꢀꢀꢀꢀ
sync事件(sync事件后模拟手势继续滑动到(400,1000)位置)
334.若被测设备需要模拟抬手操作,则在上述代码后还可以运行如下代码:
335.sendevent/dev/input/event3 1 330 0
ꢀꢀ
touch事件抬起
336.sendevent/dev/input/event3 0 0 0
ꢀꢀꢀꢀ
sync事件(sync事件后抬手模拟真正生效)
337.在一些实施例中,可以由测试设备中的第一测试工具来指示被测设备在目标界面中显示该虚拟场景在目标视角下的场景画面。也即,可以由第一测试工具来向被测设备发送携带有第二位置坐标的触点触发命令,以指示被测设备在目标界面中触发第二位置坐标处的触点后显示该虚拟场景在目标视角下的场景画面。
338.比如,在准备阶段,在图10所示的第一测试工具的测试界面中的代码编辑窗口可以输入用于获取参考区域在第二屏幕图像中的第二位置坐标的代码,以及输入用于向被测设备发送携带有第二位置坐标的触点触发命令的代码。在测试阶段,可以运行这些代码,使第一测试工具获取参考区域在第二屏幕图像中的第二位置坐标,并向被测设备发送携带有第二位置坐标的触点触发命令。
339.值得注意的是,由于该虚拟场景包括多个虚拟对象,且该多个虚拟对象可被操控而执行操作,所以该虚拟场景是不断变化的。本技术实施例中,对于不断变化的该虚拟场景,可以不断确定该虚拟场景的目标视角,并据此不断调整目标界面中显示的场景画面,以使目标界面总是显示复杂度最高的场景画面,如此可使被测设备在显示目标界面时总是处于渲染负载最高的状态,从而可以满足被测设备的性能测试需求,提高测试效率。也就是说,上述步骤1204中测试设备根据该虚拟场景中虚拟对象的聚集情况确定目标视角的操作,以及上述步骤1205中测试设备指示被测设备在目标界面中显示该虚拟场景在目标视角下的场景画面的操作,可以每隔一定的时间就执行一次,比如,每隔两秒就执行一次。也即,测试设备可以每隔一定时间就重复执行上述步骤1204和步骤1205,以重新确定目标视角并指示被测设备显示该虚拟场景在目标视角下的场景画面。
340.这种情况下,测试设备可以先判断目标界面中的场景画面是否结束显示,比如,在游戏应用中即是判断游戏是否结束。具体地,测试设备在获取到被测设备的第二屏幕图像后,可以判断第二屏幕图像中是否存在结束标志图像;若第二屏幕图像中存在结束标志图像,则测试设备确定目标界面中的场景画面已结束显示;若第二屏幕图像中不存在结束标志图像,则测试设备确定目标界面中的场景画面未结束显示。
341.结束标志图像是结束标志的图像,结束标志是在目标界面中的场景画面结束时显示的标志。技术人员可以预先将结束标志图像存储在测试设备中。
342.测试设备判断第二屏幕图像中是否存在结束标志图像时,可以根据结束标志图像的图像特征和第二屏幕图像的图像特征,将结束标志图像与第二屏幕图像进行匹配,以确定第二屏幕图像中是否存在与结束标志图像匹配(即相似)的一部分图像。比如,测试设备可以将结束标志图像作为模板图像,以及将第二屏幕图像作为源图像,使用opencv软件库中的模板匹配函数matchtemplate(),将该模板图像与该源图像进行模板匹配,以确定该源图像是否存在该模板图像匹配的一部分图像。
343.若目标界面中的场景画面未结束显示,则测试设备继续不断确定目标视角并指示被测设备显示该虚拟场景在目标视角下的场景画面。并且,若测试设备向被测设备发送的是对第二位置坐标处的触点的长按命令,则测试设备在重新确定出新的第二位置坐标后,可以向被测设备发送对新的第二位置坐标的长按命令,以指示被测设备模拟手势滑动到新的第二位置坐标的触点处。
344.若目标界面中的场景画面已结束显示,则测试设备不再确定目标视角。并且,若测试设备向被测设备发送的是对第二位置坐标处的触点的长按命令,则测试设备向被测设备发送抬手命令,以指示被测设备模拟抬手。
345.在一些实施例中,若目标界面中的场景画面已结束显示,则测试设备可以结束测试,或者,测试设备还可以指示被测设备退出目标界面,再结束测试。测试设备指示被测设备退出目标界面时,可以获取结束标志图像在第二屏幕图像中的位置坐标作为第三位置坐
标,向被测设备发送携带有第三位置坐标的触发命令,以指示被测设备在目标界面中触发第三位置坐标处的结束标志后退出目标界面。被测设备接收到该触发命令后,在目标界面中触发第三位置坐标处的结束标志,以退出目标界面。
346.在测试设备结束测试后,被测设备中的第二测试工具就可以输出性能测试结果,该性能测试结果是对被测设备在运行人机交互应用的过程中的性能的测试结果,如图11所示,该性能测试结果可以包括平均帧率、抖动率、每小时卡顿次数、最大丢帧数、功耗、cpu利用率、cpu温度等。如此,就完成了对被测设备在运行人机交互应用的过程中的性能的测试。
347.下面以游戏应用为例,结合图22来对上述测试过程进行举例说明。参见图22,该测试过程可以包括如下步骤(1)

步骤(3):
348.(1)前期准备
349.启动第二测试工具,启动游戏应用,进入游戏界面。
350.(2)中期测试
351.进入游戏界面后的10秒至20秒内截图一张,在此截图中识别小地图,以及识别小地图中的角色头像和角色头像的半径。
352.之后,每隔2秒截图一张,根据此截图判断游戏是否结束。若游戏结束,则第二测试工具输出性能测试结果。若游戏未结束,则在此截图中识别小地图及小地图中不同组织的角色头像;以每个角色头像的中心为圆心,以3倍的角色头像的半径长度为半径,确定目标区域;从确定出的多个目标区域中找出角色头像数量最多,且包含有不同组织的角色头像的目标区域作为参考区域;将参考区域中所有角色头像的中心的位置坐标的平均值作为需要触发的位置坐标;指示游戏界面切换至显示小地图中的此位置坐标处的游戏画面。重复截图操作,直到游戏结束。
353.(3)后期统计
354.在游戏结束后,利用第二测试工具进行分析,得到性能测试结果,该性能测试结果可以包括平均帧率、抖动率、每小时卡顿次数、最大丢帧数、功耗、cpu利用率、cpu温度等。
355.在本技术实施例中,测试设备与被测设备建立通信连接后,测试设备启动被测设备中的人机交互应用和第二测试工具。之后,测试设备指示被测设备中的人机交互应用显示目标界面,目标界面用于显示虚拟场景的场景画面。然后测试设备根据该虚拟场景中虚拟对象的聚集情况确定目标视角,该虚拟场景在目标视角下的场景画面的复杂度最高。最后,测试设备指示被测设备在目标界面中显示该虚拟场景在目标视角下的场景画面,以测试被测设备的性能。由于目标视角是该虚拟场景中复杂度最高的场景画面对应的视角,所以被测设备在目标界面中显示该虚拟场景在目标视角下的场景画面后,被测设备显示该场景画面时的渲染负载最高,从而可以满足被测设备的性能测试需求,提高测试效率。
356.图23是本技术实施例提供的一种测试装置的结构示意图,该测试装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图1所示的终端。参见图23,该装置包括:第一指示模块2301、确定模块2302和第二指示模块2303。
357.第一指示模块2301,用于指示第二设备显示目标界面,目标界面用于显示虚拟场景的场景画面,虚拟场景包括多个虚拟对象;
358.确定模块2302,用于根据虚拟场景中虚拟对象的聚集情况确定目标视角,目标视角是虚拟场景中复杂度最高的场景画面对应的视角;
359.第二指示模块2303,用于指示第二设备在目标界面中显示虚拟场景在目标视角下的场景画面,以测试第二设备的性能。
360.可选地,第一指示模块2301用于:
361.启动第二设备中的人机交互应用,人机交互应用为提供虚拟场景的应用;
362.指示第二设备中的人机交互应用显示目标界面。
363.可选地,该装置还包括:
364.启动模块,用于启动第二设备中的测试工具,测试工具用于测试第二设备的性能。
365.可选地,第一指示模块2301用于执行上述图12实施例中的步骤1203中的步骤(1)

(11)中由测试设备执行的操作。
366.可选地,多个虚拟对象中至少存在两个虚拟对象属于不同的组织,目标界面还用于显示虚拟场景的场景地图,确定模块2302用于执行上述图12实施例中的步骤1204中的步骤(1)

步骤(5)中由测试设备执行的操作。
367.可选地,确定模块2302用于:
368.确定场景地图中的多个聚集区域,每个聚集区域均包含不同组织的虚拟对象标识;
369.将多个聚集区域中包含的虚拟对象标识的数量最多的聚集区域确定为参考区域;
370.将参考区域在场景地图中对应的视角确定为目标视角。
371.可选地,确定模块2302用于:
372.确定场景地图中的多个虚拟对象标识中每个虚拟对象标识所在的目标区域,以得到多个目标区域,每个虚拟对象标识所在的目标区域为中心与每个虚拟对象标识的中心相同、形状与每个虚拟对象标识的形状相同、尺寸是每个虚拟对象标识的尺寸的k倍的区域,k为大于或等于2的整数;
373.将多个目标区域中包含有不同组织的虚拟对象标识的目标区域确定为聚集区域。
374.可选地,第二指示模块2303用于:
375.获取参考区域在第二屏幕图像中的位置坐标作为第二位置坐标;
376.向第二设备发送携带有第二位置坐标的触点触发命令,以指示第二设备在目标界面中触发第二位置坐标处的触点后显示虚拟场景在目标视角下的场景画面。
377.在本技术实施例中,指示第二设备显示目标界面,目标界面用于显示虚拟场景的场景画面。之后,根据该虚拟场景中虚拟对象的聚集情况确定目标视角,目标视角是该虚拟场景中复杂度最高的场景画面对应的视角。最后,指示第二设备在目标界面中显示该虚拟场景在目标视角下的场景画面,以测试第二设备的性能。由于目标视角是该虚拟场景中复杂度最高的场景画面对应的视角,所以被测设备在目标界面中显示该虚拟场景在目标视角下的场景画面时的渲染负载最高,从而可以满足被测设备的性能测试需求,提高测试效率。
378.需要说明的是:上述实施例提供的测试装置在测试时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
379.上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具
体名称也只是为了便于相互区分,并不用于限制本技术实施例的保护范围。
380.上述实施例提供的测试装置与测试方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
381.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(digital versatile disc,dvd))或半导体介质(比如:固态硬盘(solid state disk,ssd))等。
382.以上所述为本技术提供的可选实施例,并不用以限制本技术,凡在本技术的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献