测试方法及装置制造方法

文档序号:6508857阅读:194来源:国知局
测试方法及装置制造方法
【专利摘要】提供一种在移动终端中进行测试的方法和装置以及在控制终端中进行测试的方法及装置。其中,一种在移动终端中进行测试的方法,包括:从控制终端接收指示以预定的测试参数执行待测事件的测试指令和监测点的信息,根据测试指令执行待测事件的模拟测试,按照预设的时间间隔检测所述监测点在所述移动终端屏幕上显示的RGB值并记录相应的获取时间;当检测到所述监测点在所述移动终端屏幕上显示的RGB值不再发生变化时,确定所述待测事件的执行时间;将所述待测事件的执行时间的执行结果发送给所述控制终端。采用本发明所述方法和装置不仅能够获得精确的测试执行时间,而且能够大幅度提高测试的效率。
【专利说明】测试方法及装置【技术领域】
[0001]本申请涉及一种在移动终端中进行测试的方法和装置以及ー种在控制終端中进行测试的方法和装置,尤其涉及ー种根据监测点在测试过程中的各个时刻显示的RGB值来确定待测事件的执行时间的技术。
【背景技术】
[0002]随着智能设备(如:触屏手机、平板电脑等)的日益普及,基于智能设备的各种应用程序越来越多,考虑到这些设备受到尺寸、体积、硬件等诸多方面的限制,会对设备上所承载的应用程序的性能要求会越来越高,因而如何在这些设备中获得精确的性能测试数据对于这些设备上应用程序的开发具有十分重要的意义。但是,由于性能测试对数据精度要求很高,所以测试难度很大,部分时间性能测试需要精确到毫秒级,而人工测试根本无法实现,而且个别人工可以完成的测试项也需要投入大量人力进行长时间的数据采集。这样不仅消耗了大量人力,延长了开发周期,同时也无法保证性能测试数据的科学性。
[0003]目前,市场上针对智能设备上应用软件的性能测试主要包括以下三类技术方案:第一类方案是通过比对代码获取所在项目产品和竞争产品的编码方案的不同之处,并对代码效率进行性能评估,输出性能分析结果。但是,这种方案在实施过程中会受到大量的人为因素影响,因此获得的数据不够严谨,对于ー些精度要求很高的性能测试意义不大。第二类方案是通过注入代码的方式打印操作执行前后时间的方式计算时间性能。由于这种方式需要测试人员详细了解每ー种竞争产品的代码的实现方案,然后通过编码获得性能测试数据,因此这种方案获得数据的代价太高;另外,由于各软件厂商出于对自身权益的保护往往会对代码进行防止反编译的处理,进ー步增加了代码注入和比较编码方案的成本。第三类方案是利用软件控制高速摄像机对软件的操作过程进行记录和分析,以获得应用软件操作执行的时间性能。但是,这种方案需要购买昂贵的测试器材和投入相当的人力,因而测试成本较高,效率较低。

【发明内容】

[0004]本发明的目的在于提供一种在移动终端中进行测试的方法和装置以及控制終端中进行测试的方法和装置。采用本发明所述方法和装置不仅能够获得精确的测试执行时间,而且能够大幅度提高测试的效率。[0005]据本发明的一方面,提供一种在移动终端中进行测试的方法,所述方法包括:从连接的控制终端接收指示以预定的测试參数执行待测事件的测试指令和监测点的信息,根据所述测试指令执行所述待测事件的模拟测试,并在执行模拟测试的过程中,按照预设的时间间隔检测所述监测点在所述移动终端屏幕中显示的RGB值并记录相应的获取时间;其中,在所述模拟测试过程中,当检测到所述监测点在所述移动终端屏幕上显示的RGB值不再发生变化时,确定所述待测事件的执行时间;将包括所述获取的待测事件的执行时间的执行结果发送给所述控制终端。[0006]优选地,所述检测所述监测点在所述移动终端屏幕中显示的RGB值的步骤包括:获取所述移动终端屏幕的图像数据;根据所述移动终端屏幕的图像数据获得与所述监测点的屏幕坐标相应的RGB值。
[0007]优选地,所述移动终端是安卓系统时,所述获取所述移动终端屏幕的图像数据的步骤包括:根据所述移动终端的安卓系统的显存设备文件/dev/graphics/fbO获取所述移动终端屏幕的图像数据。
[0008]优选地,所述确定所述待测事件的执行时间的步骤包括:获取所述模拟测试开始检测时记录的时间值A以及所述监测点的RGB值变为给定的RGB值并且不再发生变化时对应的第一个时间值B ;将时间值A和B之间的差值确定为所述待测事件的执行时间。
[0009]优选地,所述移动終端和所述连接的控制终端之间通过USB总线协议进行通信。
[0010]根据发明的另一方面,提供一种在移动终端中测试安卓应用程序的装置,包括:指令接收单元,用于从连接的控制终端接收指示以预定的测试參数执行待测事件的测试指令和监测点的信息;模拟测试单元,用于根据所述测试指令执行所述待测事件的模拟测试;RGB值监测単元,用于在执行模拟测试的过程中,按照预设的时间间隔检测所述监测点在所述移动终端屏幕上显示的RGB值并记录相应的获取时间;结果获取単元,用于当所述RGB值监测单元检测到所述监测点在所述移动终端屏幕上显示的RGB值不再发生变化时,确定所述待测事件的执行时间;数据发送単元,用于将包括所述获取的待测事件的执行时间的执行结果发送给所述控制终端。
[0011]优选地,所述RGB值监测単元检测所述监测点在所述移动终端屏幕中显示的RGB值的处理包括:获取所述移动终端屏幕的图像数据;根据所述移动终端屏幕的图像数据获得并记录与所述监测点的屏幕坐标相应的RGB值。
[0012]优选地,所述移动终端是安卓系统时,所述RGB值监测单元获取所述移动终端屏幕的图像数据的处理包括:根据所述移动终端的安卓系统的显存设备文件/dev/graphics/fbO获取所述移动终端屏幕的图像数据。
[0013]优选地,所述结果获取单元确定所述待测事件的执行时间的处理包括:获取所述模拟测试开始检测时记录的时间值A以及所述监测点的RGB值变为给定的RGB值并且不再发生变化时对应的第一个时间值B ;将时间值A和B之间的差值确定为所述待测事件的执行时间。
[0014]优选地,所述移动終端和所述连接的控制终端之间通过USB总线协议进行通信。
[0015]根据发明的另一方面,提供一种在控制終端中进行测试的方法,包括:获取测试參数和监测点的信息;生成以获取的测试參数执行待测事件的测试指令;将所述测试指令和获取的监测点的信息发送给与所述控制终端连接的移动终端;从所述连接的移动终端接收包括所述待测事件的执行时间的执行結果。
[0016]优选地,所述测试參数为操作点的屏幕坐标。
[0017]优选地,所述生成以获取的测试參数执行待测事件的测试指令的步骤包括:生成以获取的操作点的屏幕坐标执行待测事件的测试指令。
[0018]优选地,所述测试參数还包括循环测试次数。
[0019]优选地,所述生成以获取的测试參数执行待测事件的测试指令的步骤包括:生成以获取的操作点的屏幕坐标执行待测事件的测试指令,所述待测事件按照所述循环测试次数反复执行;相应的,所述从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果的步骤包括:从所述连接的移动终端接收所述待测事件的执行时间的多个执行结果。
[0020]优选地,所述测试參数还包括测试时间间隔。
[0021]优选地,所述生成以获取的测试參数执行待测事件的测试指令的步骤包括:生成以获取的操作点的屏幕坐标执行多个待测事件的测试指令,并按照所述测试时间间隔顺序执行所述多个待测事件;相应的,所述从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果的步骤包括:从所述连接的移动终端接收所述多个待测事件的执行时间的执行結果。
[0022]优选地,所述控制終端与所述连接的移动终端之间通过USB总线协议进行通信。
[0023]根据发明的另一方面,提供一种在控制終端中进行测试的装置,包括:测试接ロ单元,用于获取测试參数和监测点的信息;指令生成単元,用于生成以获取的测试參数执行待测事件的测试指令;指令发送单元,用于将所述测试指令和获取的监测点的信息发送给与所述控制终端连接的移动终端;数据接收単元,用于从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果。
[0024]优选地,所述测试參数为操作点的屏幕坐标。
[0025]优选地,所述指令生成単元生成以获取的操作点的屏幕坐标执行待测事件的测试指令。
[0026]优选地,所述测试參数还包括循环测试次数。
[0027]优选地,所述指令生成単元生成以获取的操作点的屏幕坐标执行待测事件的测试指令,所述待测事件按照所述循环测试次数反复执行;相应的,所述数据接收单元从所述连接的移动终端接收所述待测事件的执行时间的多个执行結果。
[0028]优选地,所述测试參数还包括测试时间间隔。
[0029]优选地,所述指令生成単元生成以获取的操作点的屏幕坐标执行多个待测事件的测试指令,并按照所述测试时间间隔顺序执行所述多个待测事件;相应的,所述数据接收单元从所述连接的移动终端接收所述多个待测事件的执行时间的执行結果。
[0030]优选地,所述控制終端与所述连接的移动终端之间通过USB总线协议进行通信。
[0031]有益效果
[0032]与现有技术相比,本发明具有以下优点:
[0033]本发明不仅能够获得精确的测试执行时间,而且能够大幅度提高测试的效率。另夕卜,由于本发明在移动终端上实现了对应用程序的模拟测试,因而避免了人工操作,可以长时间对移动终端上的应用程序进行稳定而有序的模拟测试操作,这不仅减轻了测试人员的劳动量,还有效保证了测试数据的有效性和科学性。
【专利附图】

【附图说明】
[0034]通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
[0035]图1是示出根据本发明的示例性实施例的在移动终端中进行测试的方法的流程图;[0036]图2是示出根据本发明的示例性实施例的在控制终端中进行测试的方法的流程图;
[0037]图3是示出根据本发明的示例性实施例的在移动终端中进行测试的装置的结构框图;
[0038]图4是示出根据本发明的示例性实施例的在控制终端中进行测试的装置的结构框图;
[0039]图5是示出根据本发明的示例性实施例的测试数据产生过程的示意图;
[0040]图6 (a)?(C)是示出根据本发明的示例性实施例的某输入法在安卓设备中的测试界面的示意图。
【具体实施方式】
[0041]以下,将參照附图来详细说明本发明的实施例。
[0042]本发明的主要构思是,为了准确地确定移动终端的被测应用执行例如点击的测试事件的执行时间,确定用于所述测试事件的监测点;此后,由诸如PC的控制终端向被测试的移动终端发送测试指令和所述监测点的信息;设置在移动终端的测试进程在接收到所述测试指令和所述监测点的信息后,根据移动终端屏幕上的监测点在测试过程中的各个时刻的RGB值的状态改变确定测试事件的执行时间。具体地,当所述监测点的RGB值变化为ー个稳定值,并且不再改变后,可认为已完成所述测试事件,而初始测试的时间和达到稳定值的时间之差值即为所述测试事件的执行时间。这种测试方法不仅能够获得精确的测试执行时间,保证性能测试数据的有效性,而且还能大幅度提高性能测试的效率,降低人工测试成本的投入。
[0043]图1示出了本发明ー种在移动终端中进行测试的方法的优选实施例的流程图。图3示出的一种在移动终端中进行测试的装置可用于实现图1中所述的方法。
[0044]參照图1,在步骤S110,所述装置从连接的控制终端接收指示以预定的测试參数执行待测事件的测试指令和监测点的信息,根据所述测试指令执行所述待测事件的模拟测试,并在执行模拟测试的过程中,按照预设的时间间隔检测所述监测点在所述移动终端屏幕上显示的RGB值并记录相应的获取时间。
[0045]需要说明的是,执行该步骤以前,所述连接的控制终端根据获取的测试參数和监测点的信息生成以获取的测试參数执行待测事件的测试指令,并将所述测试指令和获取的监测点的信息发送给与所述移动終端。
[0046]执行该步骤时,所述装置根据所述测试指令在所述移动終端中启动ー个模拟测试操作进程来执行待测事件,所述模拟测试操作的事件是根据所述测试指令中的测试參数产生的待测事件,这种模拟操作的方式不仅可以长时间对所述移动終端上的应用程序进行稳定的模拟测试操作,而且可以有效地避免人工测试操作对测试数据的干扰和影响。
[0047]在本发明中,为了能够获得精确的测试事件的执行时间,可获取所述移动终端屏幕中某块区域的在测试过程中发生的显示变化,通过计算发生所述显示变化的时间确定所述待测事件的执行时间。具体实施时,可获取所述某块区域中某一点的RGB值在测试过程中发生该显示变化所需的时间来确定所述待测事件的执行时间,该点将作为监测点监控所述应用程序执行待测事件时在所述移动终端屏幕上的各个时刻发生的显示变化。具体地,所述装置可在所述应用程序开始执行所述待测事件时,开始检测所述监测点在所述移动终端屏幕上显示的RGB值,并记录开始检测的获取时间,然后每隔5ms获取一次所述监测点在所述移动终端屏幕上显示的RGB值,并记录相应的获取时间。
[0048]为了检测到所述监测点在所述移动终端屏幕中各个时刻显示的RGB值,根据本发明的一个可选实施例,所述装置检测所述监测点在所述移动终端屏幕中显示的RGB值的具体步骤可包括:所述装置获取所述移动终端屏幕的图像数据;根据所述移动终端屏幕的图像数据获得与所述监测点的屏幕坐标相应的RGB值。
[0049]根据本发明的一个示例性实施例,所述移动终端是安卓系统时,所述装置获取所述移动终端屏幕的图像数据的具体步骤可包括:根据所述移动终端的安卓系统的显存设备文件/dev/graphics/fbO获取所述移动终端屏幕的图像数据。
[0050]在步骤S120,其中,在所述模拟测试过程中,当所述装置检测到所述监测点在所述移动终端屏幕上显示的RGB值变不再发生变化时,确定所述待测事件的执行时间。
[0051]由于所述监测点的RGB值的显示变化是一个渐进的过程,所以当所述监测点显示的RGB值稳定后,所述装置可选取开始检测的获取时间A作为模拟测试的开始时间,当所述监测点显示的RGB值在模拟测试过程中改变为一给定的RGB值并且不再发生变化时,可将所述监测点的RGB值稳定后的第一时间值确定为模拟测试的结束时间B,然后通过计算A和B之间的时间差确定模拟测试的执行时间,也就是待测事件的执行时间;当所述待测事件需要反复多次测试时,可反复检测所述监测点在各个时刻显示的RGB值,并获得待测事件的多个执行结果。
[0052]具体地,根据本发明的另一可选实施例,所述装置确定所述待测事件的执行时间的具体步骤可包括:所述装置获取所述模拟测试开始检测时记录的时间值A以及所述监测点变化为所述给定的RGB值并且不再发生变化时对应的第一时间值B;所述装置将时间值A和B之间的差值确定为所述待测事件的执行时间。这样测试出来的时间数据不仅精确、科学,而且能够有效避免人为操作给测试数据带来的干扰和影响。
[0053]在步骤S130,所述装置将包括所述获取的待测事件的执行时间的执行结果发送给所述控制终端。
[0054]另外,还需要说明的是,在图1所示的实施例中,所述移动终端和所述连接的控制终端之间通过USB总线协议进行通信。
[0055]图2示出了本发明一种在控制终端中进行测试的方法的优选实施例的流程图。图4示出的一种在控制终端中进行测试的装置可用于实现图2中所述的方法。
[0056]参照图2,在步骤S210,所述装置获取测试参数和监测点的信息。
[0057]其中,所述的监测点是与所述控制终端连接的移动终端屏幕中的某块显示区域的某一点,并且所述某块显示区域在测试的前后过程中能够发生明显的改变,因此所述监测点在所述连接的移动终端执行测试的前后过程中显示的RGB值对应有明显的变化。
[0058]需要指出的是,所述的测试参数可以是待测应用程序中的控件ID,也可以是所述应用程序界面中待测控件的位置,对此本发明不做具体的限制,只要所述连接的移动终端能够根据所述测试参数对所述应用程序执行测试操作即可。具体实施时,所述装置可在所述控制终端中提供一 Π交互接口,用以获取用户输入的测试参数和监测点的信息。
[0059]由于前面所述的这些测试参数需要测试人员了解程序代码中的界面资源的组成和布局,为了避免测试人员再去熟悉和了解程序代码,根据本发明的一个优选实施例,所述测试参数为操作点的屏幕坐标。具体实施时,用户可通过前面所述的Π交互接口输入所述操作点的屏幕坐标,所述应用程序只要能够根据所述操作点的屏幕坐标捕捉到对所述操作点执行的操作即可,这样测试人员只需要根据所述连接的移动终端估计出所述应用程序中待测控件的大致屏幕位置即可实现对该控件的模拟操作。
[0060]另外,由于所述连接的移动终端在测试过程可能会受到各种异常因素的干扰和影响,为了降低异常干扰对所述连接的移动终端的测试数据的有效性的干扰和影响,根据本发明的另一优选实施例,所述测试参数还包括循环测试次数。具体实现时,用户可通过前面所述的Π交互接口输入循环测试次数,以控制所述连接的移动终端按照所述循环测试次数反复执行待测事件,这样即便所述连接的移动终端在测试过程中受到异常因素的干扰,通过反复执行待测事件可以获得多个测试数据以便进行异常筛选和均值处理,从而将异常因素对所述连接的移动终端的测试数据的有效性的影响降低到最小,并进一步保证性能测试数据的精确性。
[0061]考虑到测试用例中还可能包含有多个待测事件,为了有序执行所述多个待测事件,根据本发明的又一优选实施例,所述测试参数还包括测试时间间隔。具体实施时,用户除了通过前面所述的Π交互接口输入多个待测事件对应的多个操作点的屏幕坐标,还可以通过所述Π交互接口输入执行所述多个待测事件之间执行的时间间隔,用以控制所述多个待测事件的有序执行。例如,用户可以上传多次点击事件的操作点的屏幕坐标和所述多次点击事件之间的测试时间间隔,所述装置将所述用户输入的测试参数转换成一个具体的测试指令发送给所述连接的移动终端,所述连接的移动终端根据所述测试指令向安卓系统中注入有序测试事件,直到完成一个测试用例的执行。
[0062]在步骤S220,所述装置生成以获取的测试参数执行待测事件的测试指令。
[0063]执行该步骤时,所述装置可通过前面所述的Π交互接口接收用户输入的测试参数和监测点的信息,然后根据所述用户输入的测试参数生成执行待测事件的测试指令。
[0064]具体地,根据本发明所述测试参数为操作点的屏幕坐标的优选实施例,所述装置生成以获取的测试参数执行待测事件的测试指令的具体步骤可包括:所述装置生成以获取的操作点的屏幕坐标执行待测事件的测试指令。
[0065]具体地,根据本发明所述测试参数还包括循环测试次数的优选实施例,所述装置生成以获取的测试参数执行待测事件的测试指令的具体步骤可包括:所述装置生成以获取的操作点的屏幕坐标执行待测事件的测试指令,所述待测事件按照所述循环测试次数反复执行。
[0066]具体地,根据本发明所述测试参数还包括测试时间间隔的优选实施例,所述装置生成以获取的测试参数执行待测事件的测试指令的具体步骤可包括:所述装置生成以获取的操作点的屏幕坐标执行多个待测事件的测试指令,并按照所述测试时间间隔顺序执行所述多个待测事件。
[0067]在步骤S230,所述装置将所述测试指令和获取的监测点的信息发送给与所述控制终端连接的移动终端。
[0068]具体实现时,所述装置可将所述测试指令和监测点的信息写入XML资源文件发送给与所述接的移动终端,所述连接的移动终端可通过解析所述XML资源文件获取所述测试指令和监测点的信息。
[0069]所述连接的移动终端接收指示以预定的测试参数执行待测事件的测试指令和监测点的信息,根据所述测试指令执行所述待测事件的模拟测试,并在执行模拟测试的过程中,按照预设的时间间隔检测所述监测点在所述移动终端屏幕上显示的RGB值并记录相应的获取时间;其中,在所述模拟测试过程中,当检测到所述监测点在所述移动终端屏幕上显示的RGB值不再发生变化时,确定所述待测事件的执行时间;将包括所述获取的待测事件的执行时间的执行结果发送给所述控制终端。
[0070]在步骤S240,所述装置从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果。
[0071]所述装置在获得所述执行结果后,对数据进行筛选处理,并通过前面所述UI交互接口展示所述待测事件的执行时间的执行结果。
[0072]具体地,根据本发明所述测试参数还包括循环测试次数的优选实施例,所述装置从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果的步骤包括:所述装置从所述连接的移动终端接收所述待测事件的执行时间的多个执行结果。
[0073]具体地,根据本发明所述测试参数还包括测试时间间隔的优选实施例,所述装置从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果的步骤包括:所述装置从所述连接的移动终端接收所述多个待测事件的执行时间的执行结果。
[0074]另外,还需要说明的是,在图2所示的实施例中,所述控制终端和所述连接的移动终端之间通过USB总线协议进行通信。
[0075]图3示出了本发明一种在移动终端中进行测试的方法的优选实施例结构框图。
[0076]参照图3,所述装置包括指令接收单元301、模拟测试单元302、RGB值监测单元303、结果获取单元304和数据发送单元305。
[0077]其中,指令接收单元301,用于从连接的控制终端接收指示以预定的测试参数执行待测事件的测试指令和监测点的信息。
[0078]模拟测试单元302,用于根据所述测试指令执行所述待测事件的模拟测试。
[0079]RGB值监测单元303,用于在执行模拟测试的过程中,按照预设的时间间隔检测所述监测点在所述移动终端屏幕上显示的RGB值并记录相应的获取时间。
[0080]结果获取单元304,用于当所述RGB值监测单元303检测到所述监测点在所述移动终端屏幕上显示的RGB值不再发生变化时,确定所述待测事件的执行时间。
[0081]数据发送单元305,用于将包括所述获取的待测事件的执行时间的执行结果发送给所述控制终端。
[0082]为了检测到所述监测点在所述移动终端屏幕中各个时刻显示的RGB值,根据本发明的一个可选实施例,所述RGB值监测单元303检测所述监测点在所述移动终端屏幕中显示的RGB值的具体处理可包括:获取所述移动终端屏幕的图像数据;根据所述移动终端屏幕的图像数据获得并记录与所述监测点的屏幕坐标相应的RGB值。
[0083]根据本发明的一个示例性实施例,所述移动终端是安卓系统时,所述RGB值监测单元303获取所述移动终端屏幕的图像数据的具体处理可包括:根据所述移动终端的安卓系统的显存设备文件/dev/graphics/fbO获取所述移动终端屏幕的图像数据。
[0084]由于所述监测点的RGB值的显示变化是一个渐进的过程,因此根据本发明的另一可选实施例,所述结果获取单元304确定所述待测事件的执行时间的具体处理可包括:获取所述模拟测试开始检测时记录的时间值A以及所述监测点变化为所述给定的RGB值时对应的第一时间值B ;将时间值A和B之间的差值确定为所述待测事件的执行时间。
[0085]另外,还需要说明的是,在图3所示的实施例中,所述移动终端和所述连接的控制终端之间通过USB总线协议进行通信。
[0086]图4示出了本发明一种在控制终端中进行测试的方法的优选实施例结构框图。
[0087]参照图4,所述装置包括测试接口单元401、测试指令生成单元402、指令发送单元403和数据接收单元404。
[0088]其中,测试接口单元401用于获取测试参数和监测点的信息。
[0089]指令生成单元402用于生成以获取的测试参数执行待测事件的测试指令。
[0090]指令发送单元403用于将所述测试指令和获取的监测点的信息发送给与所述控制终端连接的移动终端。
[0091]数据接收单元404用于从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果。
[0092]为了避免测试人员再去熟悉和了解程序代码,根据本发明的一个优选实施例,所述测试参数为操作点的屏幕坐标。
[0093]具体地,根据本发明所述测试参数为操作点的屏幕坐标的优选实施例,所述指令生成单元402生成以获取的操作点的屏幕坐标执行待测事件的测试指令。
[0094]为了降低异常因素对所述连接的移动终端在测试过程中的干扰和影响,根据本发明的另一优选实施例,所述测试参数还包括循环测试次数。
[0095]具体地,根据本发明所述测试参数还包括循环测试次数的优选实施例,所述指令生成单元402生成以获取的操作点的屏幕坐标执行待测事件的测试指令,所述待测事件按照所述循环测试次数反复执行;并且所述数据接收单元404从所述连接的移动终端接收所述待测事件的执行时间的多个执行结果。
[0096]考虑到测试用例中还可能包含有多个待测事件,为了有序执行所述多个待测事件,根据本发明的又一优选实施例,所述测试参数还包括测试时间间隔。
[0097]具体地,根据本发明所述测试参数还包括测试时间间隔,所述指令生成单元402生成以获取的操作点的屏幕坐标执行多个待测事件的测试指令,并按照所述测试时间间隔顺序执行所述多个待测事件;并且所述数据接收单元404从所述连接的移动终端接收所述多个待测事件的执行时间的执行结果。
[0098]另外,还需要说明的是,在图4所示的实施例中,所述控制终端和所述连接的移动终端之间通过USB总线协议进行通信。
[0099]以上各个实施例除了用于获取测试的执行时间,还可以用于实时获取所述应用程序在测试过程中的各个时刻占用的CPU和内存,具体实施时,当所述移动终端上是安卓系统时,所述装置可调用安卓系统提供的API按照预设的时间间隔获取所述CPU占用率和内存的占用情况,并将获取到的所述数据提交给PC端进行筛选和处理,从而得到测试的资源占用情况数据。
[0100]图5是示出了本发明所述测试数据产生过程的示意图。
[0101]参照图5,所述平台使用者上传测试软件,并且提供测试参数;所述PC端(即所述控制终端)将根据使用者上传的数据生成测试用例并分发给移动端执行;最后,所述PC端基于历史数据对移动终端获得的执行结果进行去噪,并产生性能报告。
[0102]下面给出具体的实施例,对本发明作进一步的说明。
[0103]图6示出了本发明中某输入法在安卓设备上进行测试的界面示意图,其中,图6Ca)示出的是该输入法的9键输入面板,图6 (b)示出的是该输入法的符号输入面板,图6(c)显示的该某输入法的26键输入面板。
[0104]测试用例I
[0105]测试目标:获取该输入法从9键输入面板切换到符号输入面板所需要的时间。
[0106]具体测试时,测试人员可在PC端输入以下屏幕坐标:
[0107](320,800)
[0108](270,800)
[0109]其中,第一个坐标表示的是“符号”按钮在9键输入面板中对应的操作点(参见图6(a)),用于在安卓设备中模拟点击“符号”按钮;第二坐标表示的是监测点(参见图6 (a)所示的A点),用于在所述模拟测试过程中监测屏幕中某一矩形区域(参见图6 (a)或图6 (b)所示的矩形框)发生的变化。
[0110]所述PC端将获取到的所述坐标数据并发送给所述安卓设备执行,所述安卓设备通过系统提供的API对所述操作点(320,800)执行模拟点击,以实现从9键输入面板到符号输入面板的切换,在所述模拟点击过程中,每5ms获取一次所述监测点(270,800)显示的RGB值及其相应的获取时间,当所述监测点(270,800)所在的矩形区域从白色变为黑色时,所述监测点(270,800)的RGB值从RGB (255,255,255)逐渐变为RGB (0,0,0)并且不再发生变化,根据所述监测点(270,800)变为RGB (0,0,0)时的第一个获取时间确定该测试用例的执行时间。
[0111]此外,测试人员还可在PC端输入循环执行次数,所述安卓设备将根据所述测试次数反复模拟点击所述操作点(320,800),执行完毕后,所述安卓设备将获得多个时间执行结果提交给PC端,所述PC端对接收到数据进行筛选和均值处理,并结合历史数据生成测试报告通过web展示出来。
[0112]测试用例2
[0113]测试目标:获取该输入法输入汉字时的资源占用的性能数据。
[0114]具体测试时,测试人员可输入按键组合对应的操作点的坐标流,例如,当输入“你”时,按照拼音输入规则需要在PC端输入“η”按钮、“ i ”按钮以及“空格”按钮操作点的屏幕坐标(参见图6(c)),由于涉及多个点击事件,测试人员还可以输入时间间隔,用以控制所述按钮点击的顺序。
[0115]所述PC端将获取到的坐标流发送给所述安卓设备执行,所述安卓设备对获取到的多个坐标执行模拟点击,以实现“你”的输入,在所述模拟点击过程中,每3s获取一次所述输入法在设备中的CPU占用率和内存占用情况,并将获取到的数据提交至PC端进行处理和显示。
[0116]由此可见,本发明不仅能够获得精确的测试执行时间,而且能够大幅度提高测试的效率。另外,由于本发明在所述移动终端上实现了对应用程序的模拟测试,从而避免了人工操作,因此可以长时间对移动终端上的应用程序进行稳定而有序的模拟测试操作,这不仅减轻了测试人员的劳动量,还有效保证了测试数据的有效性和科学性。
[0117]需要指出,根据实施的需要,可将本申请中描述的各个步骤拆分为更多步骤,也可将两个或多个步骤或者步骤的部分操作组合成新的步骤,以实现本发明的目的。
[0118]上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD R0M、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
[0119]尽管已参照优选实施例表示和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种修改和变换。
【权利要求】
1.一种在移动终端中进行测试的方法,包括: 从连接的控制终端接收指示以预定的测试參数执行待测事件的测试指令和监测点的信息,根据所述测试指令执行所述待测事件的模拟测试,并在执行模拟测试的过程中,按照预设的时间间隔检测所述监测点在所述移动终端屏幕中显示的RGB值并记录相应的获取时间; 其中,在所述模拟测试过程中,当检测到所述监测点在所述移动终端屏幕上显示的RGB值不再发生变化时,确定所述待测事件的执行时间; 将包括所述获取的待测事件的执行时间的执行结果发送给所述控制终端。
2.如权利要求1所述的方法,其特征在于,所述检测所述监测点在所述移动终端屏幕中显示的RGB值的步骤包括: 获取所述移动终端屏幕的图像数据; 根据所述移动终端屏幕的图像数据获得与所述监测点的屏幕坐标相应的RGB值。
3.如权利要 求2所述的方法,其特征在于,所述移动终端是安卓系统时,所述获取所述移动终端屏幕的图像数据的步骤包括: 根据所述移动终端的安卓系统的显存设备文件/dev/graphics/fbO获取所述移动终端屏幕的图像数据。
4.如权利要求3所述的方法,其特征在于,所述确定所述待测事件的执行时间的步骤包括: 获取所述模拟测试开始检测时记录的时间值A以及所述监测点的RGB值变为给定的RGB值并且不再发生变化时对应的第一个时间值B ; 将时间值A和B之间的差值确定为所述待测事件的执行时间。
5.如权利要求1-4任一项所述的方法,其特征在于,所述移动終端和所述连接的控制終端之间通过USB总线协议进行通信。
6.一种在移动终端中测试安卓应用程序的装置,包括: 指令接收单元,用于从连接的控制终端接收指示以预定的测试參数执行待测事件的测试指令和监测点的信息; 模拟测试单元,用于根据所述测试指令执行所述待测事件的模拟测试; RGB值监测単元,用于在执行模拟测试的过程中,按照预设的时间间隔检测所述监测点在所述移动终端屏幕上显示的RGB值并记录相应的获取时间; 结果获取単元,用于当所述RGB值监测単元检测到所述监测点在所述移动终端屏幕上显示的RGB值不再发生变化时,确定所述待测事件的执行时间; 数据发送単元,用于将包括所述获取的待测事件的执行时间的执行结果发送给所述控制终立而。
7.如权利要求6所述的装置,其特征在于,所述RGB值监测単元检测所述监测点在所述移动终端屏.中显不的RGB值的处通包括: 获取所述移动终端屏幕的图像数据; 根据所述移动终端屏幕的图像数据获得并记录与所述监测点的屏幕坐标相应的RGB值。
8.如权利要求7所述的装置,其特征在于,所述移动终端是安卓系统时,所述RGB值监测单元获取所述移动终端屏幕的图像数据的处理包括: 根据所述移动终端的安卓系统的显存设备文件/dev/graphics/fbO获取所述移动终端屏幕的图像数据。
9.如权利要求8所述的装置,其特征在于,所述结果获取单元确定所述待测事件的执行时间的处理包括: 获取所述模拟测试开始检测时记录的时间值A以及所述监测点的RGB值变为给定的RGB值并且不再发生变化时对应的第一个时间值B ; 将时间值A和B之间的差值确定为所述待测事件的执行时间。
10.如权利要求6-9任一项所述的装置,其特征在于,所述移动終端和所述连接的控制終端之间通过USB总线协议进行通信。
11.一种在控制终端中进行测试的方法,包括: 获取测试參数 和监测点的信息; 生成以获取的测试參数执行待测事件的测试指令; 将所述测试指令和获取的监测点的信息发送给与所述控制终端连接的移动终端; 从所述连接的移动终端接收包括所述待测事件的执行时间的执行結果。
12.如权利要求11所述的方法,其特征在于,所述测试參数为操作点的屏幕坐标。
13.如权利要求12所述的方法,其特征在于,所述生成以获取的测试參数执行待测事件的测试指令的步骤包括:生成以获取的操作点的屏幕坐标执行待测事件的测试指令。
14.如权利要求12所述的方法,其特征在于,所述测试參数还包括循环测试次数。
15.如权利要求14所述的方法,其特征在干, 所述生成以获取的测试參数执行待测事件的测试指令的步骤包括:生成以获取的操作点的屏幕坐标执行待测事件的测试指令,所述待测事件按照所述循环测试次数反复执行;相应的, 所述从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果的步骤包括:从所述连接的移动终端接收所述待测事件的执行时间的多个执行結果。
16.如权利要求12所述的方法,其特征在于,所述测试參数还包括测试时间间隔。
17.如权利要去16所述的方法,其特征在干, 所述生成以获取的测试參数执行待测事件的测试指令的步骤包括:生成以获取的操作点的屏幕坐标执行多个待测事件的测试指令,并按照所述测试时间间隔顺序执行所述多个待测事件;相应的, 所述从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果的步骤包括:从所述连接的移动终端接收所述多个待测事件的执行时间的执行結果。
18.如权利要求11-17任一项所述的方法,其特征在于,所述控制終端与所述连接的移动终端之间通过USB总线协议进行通信。
19.一种在控制終端中进行测试的装置,包括: 测试接ロ単元,用于获取测试參数和监测点的信息; 指令生成単元,用于生成以获取的测试參数执行待测事件的测试指令; 指令发送单元,用于将所述测试指令和获取的监测点的信息发送给与所述控制终端连接的移动终端;数据接收単元,用于从所述连接的移动终端接收包括所述待测事件的执行时间的执行结果。
20.如权利要求19所述的装置,其特征在于,所述测试參数为操作点的屏幕坐标。
21.如权利要求20所述的装置,其特征在于,所述指令生成単元生成以获取的操作点的屏幕坐标执行待测事件的测试指令。
22.如权利要求20所述的装置,其特征在于,所述测试參数还包括循环测试次数。
23.如权利要求22所述的装置,其特征在干, 所述指令生成単元生成以获取的操作点的屏幕坐标执行待测事件的测试指令,所述待测事件按照所述循环测试次数反复执行;相应的, 所述数据接收单元从所述连接的移动终端接收所述待测事件的执行时间的多个执行结果。
24.如权利要求20所述的装置,其特征在于,所述测试參数还包括测试时间间隔。
25.如权利要去24所述的装置,其特征在干, 所述指令生成単元生成以获取的操作点的屏幕坐标执行多个待测事件的测试指令,并按照所述测试时间间隔顺序执行所述多个待测事件;相应的, 所述数据接收单元从所述连接的移动终端接收所述多个待测事件的执行时间的执行结果。
26.如权利要求19-25任一项所述的装置,其特征在于,所述控制終端与所述连接的移动终端之间通过USB总线协议进行通信。
【文档编号】G06F11/28GK103455403SQ201310375474
【公开日】2013年12月18日 申请日期:2013年8月26日 优先权日:2013年8月26日
【发明者】潘荣荣, 段建建, 姚马芳, 陈艳 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1