CN105988925A - 一种应用程序启动耗时的测试方法、装置及系统 - Google Patents
一种应用程序启动耗时的测试方法、装置及系统 Download PDFInfo
- Publication number
- CN105988925A CN105988925A CN201510069689.8A CN201510069689A CN105988925A CN 105988925 A CN105988925 A CN 105988925A CN 201510069689 A CN201510069689 A CN 201510069689A CN 105988925 A CN105988925 A CN 105988925A
- Authority
- CN
- China
- Prior art keywords
- program
- measured
- description information
- terminal unit
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种应用程序启动耗时的测试方法、装置及系统,其中该方法包括:获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息;将该描述信息逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试;接收该终端设备返回的测试结果;当该测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试。上述应用程序启动耗时的测试方法、装置及系统实现了应用程序启动耗时的自动化测试,可降低测试成本,缩短测试时间,提高测试结果的准确性及测试效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序启动耗时的测试方法、装置及系统。
背景技术
随着计算机技术的发展,越来越多的应用程序被开发出来,然而由于各终端设备的硬件配置以及安装操作系统的版本高低不一,为使应用程序能更好地与不同硬件配置以及各版本的操作系统兼容,在程序开发过程中需要对所开发的应用程序进行测试。
现有技术中基于终端设备的应用程序启动耗时的测试技术,主要还是通过人工测试的方式来完成,程序员通过手动启动各个应用程序并加以录屏,然后通过视频处理软件分析录屏视频,达到获取应用程序启动耗时的目的。
然而,人工测试普遍存在着成本较高、耗时长且容易出现遗漏等问题,并且通过人工分析视频获取的启动耗时与实际启动耗时的误差也较高。
发明内容
有鉴于此,本发明提供一种应用程序启动耗时的测试方法、装置及系统,实现了应用程序启动耗时的自动化测试,可降低测试成本,缩短测试时间,提高测试结果的准确性及测试效率。
本发明实施例提供的应用程序启动耗时的测试方法,包括:获取终端设备上的待测程序,并分别从各所述待测程序中获取各所述待测程序的描述信息;将所述描述信息逐一发送给所述终端设备,并指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行测试;接收所述终端设备返回的测试结果;当所述测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给所述终端设备,并指示所述终端设备根据所述下一条描述信息对下一个待测程序的启动耗时进行测试。
本发明实施例提供的应用程序启动耗时的测试装置,包括:获取模块,用于获取终端设备上的待测程序,并分别从各所述待测程序中获取各所述待测程序的描述信息;测试模块,用于将所述获取模块获取的所述描述信息逐一发送给所述终端设备,并指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行测试;接收模块,用于接收所述终端设备返回的测试结果;所述测试模块,还用于当所述接收模块接收的所述测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给所述终端设备,并指示所述终端设备根据所述下一条描述信息对下一个待测程序的启动耗时进行测试。
本发明实施例提供的应用程序启动耗时的测试系统,包括:测试计算机以及终端设备;所述测试计算机,用于获取所述终端设备上的待测程序,分别从各所述待测程序中获取各所述待测程序的描述信息,将所述描述信息逐一发送给所述终端设备,并指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行测试,接收所述终端设备返回的测试结果,当所述测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给所述终端设备,并指示所述终端设备根据所述下一条描述信息对下一个待测程序的启动耗时进行测试;所述终端设备,用于将所述待测程序发送给所述测试计算机,根据所述测试计算机的指示对所述待测程序的启动耗时进行测试,将所述测试结果返回所述测试计算机,并当所述测试结果不为最后一个待测程序的测试结果时,根据所述测试计算机的指示对所述下一个待测程序的启动耗时进行测试。
本发明实施例提供的上述应用程序启动耗时的测试方法、装置及系统,通过测试计算机获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息,然后逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试,实现了应用程序启动耗时的自动化测试,可释放人力资源,让机器自动运行得到结果数据,从而可降低测试成本,缩短测试时间,并可通过系统接口精准得到应用启动耗时,解决现有技术中人工分析产生误差的问题,提高测试结果的准确性及测试效率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明实施例提供的一种应用程序启动耗时的测试系统的结构示意图;
图2示出了一种测试计算机的结构框图;
图3示出了一种终端设备的结构框图;
图4为本发明第一实施例提供的一种应用程序启动耗时的测试方法的流程图;
图5为本发明第二实施例提供的一种应用程序启动耗时的测试方法的流程图;
图6为本发明第三实施例提供的一种应用程序启动耗时的测试方法的时序图;
图7为本发明第四实施例提供的一种应用程序启动耗时的测试装置的结构示意图;
图8为本发明第五实施例提供的一种应用程序启动耗时的测试装置的结构示意图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
请参阅图1,图1为本发明实施例提供的一种应用程序启动耗时的测试系统的结构示意图。测试计算机100和终端设备200可通过无线网络连接方式或通过USB(Universal Serial Bus,通用串行总线)接口、并行总线接口等数据线接口进行连接。终端设备200可以包括:安装有Android(安卓)操作系统且支持无线网络数据传输或数据线数据传输的智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、车载电脑、可穿戴设备、导航仪等等。
其中,测试计算机100,用于获取终端设备200上的待测程序,分别从各该待测程序中获取各该待测程序的描述信息,该描述信息包括该待测程序的包名以及首个启动的交互界面的名称,将该描述信息逐一发送给终端设备200,并指示终端设备200根据该描述信息对该待测程序的启动耗时进行测试,接收终端设备200返回的测试结果,当该测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给终端设备200,并指示终端设备200根据该下一条描述信息对下一个待测程序的启动耗时进行测试。
终端设备200,用于将该待测程序发送给测试计算机100,根据测试计算机100的指示对该待测程序的启动耗时进行测试,将该测试结果返回测试计算机100,并当该测试结果不为最后一个待测程序的测试结果时,根据测试计算机100的指示对该下一个待测程序的启动耗时进行测试。
以上执行过程,请参见下述各实施例中的详细描述。
图2为一种测试计算机的结构框图。如图2所示,该测试计算机100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)122(例如,一个或一个以上处理器)和存储器132,一个或一个以上存储应用程序142或数据144的存储介质130(例如一个或一个以上海量存储设备)。其中,存储器132和存储介质130可以是短暂存储或持久存储。存储在存储介质130的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对测试计算机中的一系列指令操作。更进一步地,中央处理器122可以设置为与存储介质130通信,在测试计算机100上执行存储介质130中的一系列指令操作。测试计算机100还可以包括一个或一个以上电源126,一个或一个以上有线或无线网络接口150,一个或一个以上输入输出接口158,和/或,一个或一个以上操作系统141,例如WindowsTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。以下各图所示实施例中的由各测试计算机所执行的步骤可以基于该图2所示的测试计算机结构。
图3示出了一种终端设备的结构框图。如图3所示,终端设备200包括:存储器202、存储控制器204、一个或多个(图中仅示出一个)处理器206、外设接口208、射频模块210、音频模块212、显示模块214以及按键模块216。这些组件通过一条或多条通讯总线/信号线218相互通讯。
可以理解,图3所示的结构仅为示意,终端设备200还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
存储器202可用于存储软件程序以及模块,如本发明实施例中的应用程序启动耗时的测试方法、装置及系统对应的程序指令/模块,处理器206通过运行存储在存储器202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序启动耗时的测试方法。
存储器202可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器202可进一步包括相对于处理器206远程设置的存储器,这些远程存储器可以通过网络连接至终端设备200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器206以及其他可能的组件对存储器202的访问可在存储控制器204的控制下进行。
处理器206运行存储器202内的各种软件、指令以执行终端设备200的各种功能以及进行数据处理。
外设接口208用于将各种外部设备耦合至CPU以及存储器202。
在一些实施例中,存储控制器204、处理器206以及外设接口208可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块210用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通信网络或者其他设备进行通讯。射频模块210可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块210可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for MobileCommunication,GSM)、增强型移动通信技术(Enhanced Data GSMEnvironment,EDGE),宽带码分多址技术(wideband code division multipleaccess,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice overinternet protocol,VoIP)、全球微波互联接入(Worldwide Interoperability forMicrowave Access,Wi-Max)、其他用于邮件、即时通信及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
音频模块212向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口208处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口208中以进行进一步的处理。音频数据可以从存储器202处或者通过射频模块210获取。此外,音频数据也可以存储至存储器202中或者通过射频模块210进行发送。在一些实例中,音频模块212还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
显示模块214在终端设备200与用户之间提供一个输出界面,向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。可以理解的,显示模块214还可以在终端设备200与用户之间同时提供一个输出及输入界面。具体地,除了向用户显示视频输出之外,显示模块214还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。
按键模块216同样提供用户向终端设备200进行输入的接口,用户可以通过按下不同的按键以使终端设备200执行不同的功能。
第一实施例
请参阅图4,图4为本发明第一实施例提供的应用程序启动耗时的测试方法的流程图。如图4所示,该方法包括:
S101、获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息;
测试计算机100与终端设备200通过USB数据线或WIFI、蓝牙等无线网络协议建立连接,然后从终端设备200获取终端设备200上的待测程序。其中,该待测程序为APK(AndroidPackage)文件(Android应用程序包文件)。
其后,测试计算机100先通过解压或反编译的方式从获取的待测程序中得到各该待测程序中的全局配置文件(AndroidManifest.xml),然后对该全局配置文件进行分析,以从中获取该待测程序的描述信息。其中该描述信息包括:该待测程序的包名以及首个启动的交互界面(Activity)的名称。
全局配置文件(AndroidManifest.xml)是每个安卓程序中必须具有的文件,通常位于应用程序的根目录下,其中描述了package中的全局数据,包括package中暴露的组件(activities、services等等)以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。
待测程序的包名相当于该待测程序的名称,是该待测程序的唯一标识。
Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。在一个安卓应用中,一个Activity通常就是一个单独的屏幕,上面可以显示一些控件也可以监听并处理用户的事件做出响应。
S102、将该描述信息逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试;
测试计算机100将获取的各该待测程序的描述信息逐条发送给终端设备200,并指示终端设备200根据该描述信息对该描述信息对应的待测程序的启动耗时进行测试。终端设备200在接收到一条描述信息后,根据测试计算机100的指示,确定需要测试的与该条描述信息对应的待测程序,启动该对应的待测程序,监测并捕获该对应的待测程序的启动耗时,然后将捕获的启动耗时作为测试结果返回给测试计算机100。
S103、接收该终端设备返回的测试结果;
S104、当该测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试。
测试计算机100接收终端设备200返回的测试结果,判断该测试结果是否为最后一个待测程序的测试结果,并当该测试结果不为该最后一个待测程序的测试结果时,将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试,直至接收到终端设备200返回的最后一个待测程序的测试结果。
进一步地,当该测试结果为最后一个待测程序的测试结果时,则统计接收到的所有测试结果并按照指定的格式输出统计结果。
本发明实施例提供的应用程序启动耗时的测试方法,通过测试计算机获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息,然后逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试,实现了应用程序启动耗时的自动化测试,可释放人力资源,让机器自动运行得到结果数据,从而可降低测试成本,缩短测试时间,并可通过系统接口精准得到应用启动耗时,解决现有技术中人工分析产生误差的问题,提高测试结果的准确性及测试效率。
第二实施例
请参阅图5,图5为本发明第二实施例提供的应用程序启动耗时的测试方法的流程图。如图5所示,该方法包括:
S201、获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息,该描述信息包括该待测程序的包名以及首个启动的交互界面的名称;
测试计算机100与终端设备200通过USB数据线或WIFI、蓝牙等无线网络协议建立连接,然后通过安卓系统自带的SDK(Software DevelopmentKit,软件开发工具包)提供的ADB(Android Debug Bridge)工具从终端设备200获取终端设备200上的待测程序,也即将终端设备200的安卓系统及用户文件夹下面的待测程序拷贝至测试计算机100本地。其中,该待测程序为APK文件。
于本实施例中,分别从各该待测程序中获取各该待测程序的描述信息具体可包括:
第一步,分别解压各该待测程序,并从解压获得的文件中获取各该待测程序中的全局配置文件;
全局配置文件(AndroidManifest.xml)是每个安卓程序中必须具有的文件,通常位于应用程序的根目录下,其中描述了package中的全局数据,包括package中暴露的组件(activities、services等等)以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。具体地,可利用JAVA代码,依次解压从终端设备200拷贝到测试计算机100的待测程序文件,获取每个待测程序各自对应的AndroidManifest.xml文件。
第二步,分析各该全局配置文件,从中获取各该待测程序的描述信息。
于本实施例中,AndroidManifest.xml文件的分析可利用JAVA代码实现。
进一步地,可先通过利用JAVA代码将各该全局配置文件转换为指定格式的文件,然后再分析格式转换后的各该全局配置文件,从中获取各该待测程序的描述信息。具体地,可以使用第三方的开源工具,将上述通过解压得到的各AndroidManifest.xml文件处理为可读文件内容,并获取该内容中包含的待测程序的描述信息。该描述信息包括:该待测程序的包名以及首个启动的交互界面(Activity)的名称。其中,待测程序的包名相当于该待测程序的名称,是该待测程序的唯一标识。Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。在一个安卓应用中,一个Activity通常就是一个单独的屏幕,上面可以显示一些控件也可以监听并处理用户的事件做出响应。
于其他实施例中,本步骤可以包括:第一步,通过反编译各该待测程序,获取各该待测程序中的全局配置文件;第二步,分析各该全局配置文件,从中获取各该待测程序的描述信息。
S202、将该描述信息逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试;
具体地,测试计算机100可根据获取的各该待测程序的描述信息,生成包含所有获取的描述信息的测试列表,将该测试列表中所包含的各描述信息依次逐条发送给终端设备200,并指示终端设备200根据该描述信息对该描述信息对应的待测程序的启动耗时进行测试。终端设备200在接收到一条描述信息后,根据测试计算机100的指示与该条描述信息中的待测程序的包名以及首个启动的Activity名称,使用安卓SDK的AM命令行工具启动与该包名以及该Activity名称对应的待测程序,并通过JAVA代码捕获该对应的待测程序的启动耗时,以实现对该对应的待测程序的启动耗时的测试,并将捕获的启动耗时作为测试结果返回给测试计算机100。
可以理解地,终端设备200在测试时需要具有超级用户的权限,若不具有,则需要在进行测试前对终端设备200做ROOT处理,以使其获得超级用户的权限,也即使其具有系统中所有的权限,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件等等。
进一步地,测试计算机100可指示终端设备200根据该条描述信息对对应的待测程序的启动耗时进行指定次数(如:4次)的测试。
S203、接收该终端设备返回的测试结果;
S204、当该测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试;
接收终端设备200返回的测试结果,判断该测试结果是否为最后一个待测程序的测试结果,并当该测试结果不为该最后一个待测程序的测试结果时,将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试,然后执行步骤S104,如此往复,直至接收到终端设备200返回的最后一个待测程序的测试结果。可以理解地,当测试计算机100指示终端设备200根据描述信息对对应的待测程序的启动耗时进行多次测试时,此处最后一个待测程序的测试结果为对该最后一个待测程序的进行最后一次测试时获得的测试结果。
S205、当该测试结果为最后一个待测程序的测试结果时,统计接收到的所有测试结果并按照指定的格式输出统计结果。
当该测试结果为最后一个待测程序的测试结果时,根据接收到的所有测试结果,汇总得到所有待测程序各自对应的启动耗时作为统计结果并按照指定的格式输出。于本实施例中,统计结果的输出可通过JAVA代码实现。
进一步地,当测试计算机100指示终端设备200对同一个待测程序进行多次测试时,则根据接收到的所有测试结果,统计各该待测程序各自的单次启动耗时,并计算各该待测程序的平均启动耗时(对该待测程序进行多次测试获得所有启动耗时之和除以测试次数),然后如下表1所示,将上述统计结果按照待测程序名称、待测程序包名、首个启动Activity、耗时(毫秒)、平均耗时(毫秒)的格式输出。
表1
具体地,测试计算机100可以按照预置的输出方式,将统计结果进行输出,例如:将统计结果通过打印机输出,或者根据用户预留的邮箱地址,预先指定的存储路径,将统计结果输出至用户指定的位置,使得用户可根据统计结果了解待测程序中存在的问题,并对待测程序进行优化。
本发明实施例提供的应用程序启动耗时的测试方法,通过测试计算机获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息,然后逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试,实现了应用程序启动耗时的自动化测试,可释放人力资源,让机器自动运行得到结果数据,从而可降低测试成本,缩短测试时间,并可通过系统接口精准得到应用启动耗时,解决现有技术中人工分析产生误差的问题,提高测试结果的准确性及测试效率。
第三实施例
请参阅图6,图6为本发明第三实施例提供的应用程序启动耗时的测试方法的时序图。本实施例是从测试计算机100与终端设备200交互的角度对本发明中的应用程序启动耗时的测试方法的流程图进行的说明。如图6所示,该方法包括:
S301、终端设备将该终端设备上的待测程序发送给测试计算机;
终端设备200首先通过USB数据线或WIFI、蓝牙等无线网络协议与测试计算机100建立连接,然后响应于测试计算机100发送的用于获取待测程序的请求,将本地安卓系统及用户文件夹下面的待测程序发送给测试计算机100。其中,该待测程序为APK文件。
S302,测试计算机接收该终端设备发送的该待测程序,分别解压各该待测程序,并从解压获得的文件中获取各该待测程序中的全局配置文件;
S303、测试计算机分析各该全局配置文件,从中获取各该待测程序的描述信息;
S304、测试计算机将该描述信息逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试;
步骤S302至S304具体可参考第一实施例及第二实施例的相关内容,此处不再赘述。
S305、该终端设备根据该测试计算机的指示对该待测程序的启动耗时进行测试,然后执行S306:将测试结果返回该测试计算机;
具体地,终端设备200按照测试计算机100的指示,根据接收到的测试计算机100发送的一条描述信息确定与该条描述信息对应的待测程序,然后利用AM命令行工具启动该待测程序,并通过JAVA代码捕获该待测程序的启动耗时,最后将捕获的该启动耗时作为测试结果返回给测试计算机100。
S307、该测试计算机接收该终端设备返回的测试结果,判断该测试结果是否为最后一个待测程序的测试结果;
若否,则执行S308:将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试;
若是,则执行S309:统计接收到的所有测试结果并按照指定的格式输出统计结果;
步骤S307至S309具体可参考第一实施例与第二实施例中的相关内容,此处不再赘述。
S310,该终端设备接收该测试计算机发送的下一条描述信息,并根据该测试计算机的指示,对该下一个待测程序的启动耗时进行测试,然后执行S306。
终端设备200接收测试计算机100发送的下一条描述信息,根据测试计算机100的指示,确定与该下一条描述信息对应的下一个待测程序,然后按照S305中描述的测试方法测试得到该下一个待测程序的启动耗时,接着执行S306将测试结果返回给测试计算机100,再接着重复步骤S307、S308以及S310,如此往复,直至终端设备200测试完最后一个待测程序并将测试结果返回给测试计算机100,再由测试计算机100执行步骤S309,以完成所有的测试。
本发明实施例提供的应用程序启动耗时的测试方法,通过测试计算机获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息,然后逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试,实现了应用程序启动耗时的自动化测试,可释放人力资源,让机器自动运行得到结果数据,从而可降低测试成本,缩短测试时间,并可通过系统接口精准得到应用启动耗时,解决现有技术中人工分析产生误差的问题,提高测试结果的准确性及测试效率。
第四实施例
图7为本发明第四实施例提供的应用程序启动耗时的测试装置的结构示意图。本实施例提供的应用程序启动耗时的测试装置可运行于图1所示的测试计算机100中,用于实现上述实施例中的应用程序启动耗时的测试方法。如图7所示,应用程序启动耗时的测试装置40包括:
获取模块41,用于获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息;
测试模块42,用于将获取模块41获取的该描述信息逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试;
接收模块43,用于接收该终端设备返回的测试结果;
测试模块42,还用于当接收模块43接收的该测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试。
本实施例对应用程序启动耗时的测试装置40的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的应用程序启动耗时的测试装置,通过测试计算机获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息,然后逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试,实现了应用程序启动耗时的自动化测试,可释放人力资源,让机器自动运行得到结果数据,从而可降低测试成本,缩短测试时间,并可通过系统接口精准得到应用启动耗时,解决现有技术中人工分析产生误差的问题,提高测试结果的准确性及测试效率。
第五实施例
图8为本发明第五实施例提供的应用程序启动耗时的测试装置的结构示意图。本实施例提供的应用程序启动耗时的测试装置可运行于图1所示的测试计算机100中,用于实现上述实施例中的应用程序启动耗时的测试方法。如图8所示,应用程序启动耗时的测试装置50包括:
获取模块51,用于获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息;
测试模块52,用于将获取模块51获取的该描述信息逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试;
接收模块53,用于接收该终端设备返回的测试结果;
测试模块52,还用于当接收模块53接收的该测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给该终端设备,并指示该终端设备根据该下一条描述信息对下一个待测程序的启动耗时进行测试。
进一步地,获取模块51包括:
解压模块511,用于分别解压各该待测程序;
全局配置文件获取模块512,用于从解压获得的文件中获取各该待测程序中的全局配置文件;
描述信息获取模块513,用于分析各该全局配置文件,从中获取各该待测程序的描述信息。
进一步地,获取模块51还包括:
反编译模块514,用于通过反编译各该待测程序,获取各该待测程序中的全局配置文件;
描述信息获取模块513,还用于分析该反编译模块通过反编译获取的各该全局配置文件,从中获取各该待测程序的描述信息。
进一步,应用程序启动耗时的测试装置50还包括:
统计模块54,用于当该测试结果为最后一个待测程序的测试结果时,统计接收到的所有测试结果;
输出模块55,用于按照指定的格式输出该统计模块获得的统计结果。
进一步地,测试模块52,还用于指示该终端设备根据该描述信息对该待测程序的启动耗时进行指定次数的测试。
进一步地,统计模块54包括:
单次启动耗时统计模块541,用于根据接收到的所有测试结果,统计各该待测程序各自的单次启动耗时;
平均启动耗时计算模块542,用于根据接收到的所有测试结果,计算各该待测程序的平均启动耗时。
进一步地,描述信息获取模块514,还用于将各该全局配置文件转换为指定格式的文件,分析格式转换后的各该全局配置文件,从中获取各该待测程序的描述信息。
进一步地,该描述信息包括该待测程序的包名以及首个启动的交互界面的名称。
本实施例对应用程序启动耗时的测试装置50的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的应用程序启动耗时的测试装置,通过测试计算机获取终端设备上的待测程序,并分别从各该待测程序中获取各该待测程序的描述信息,然后逐一发送给该终端设备,并指示该终端设备根据该描述信息对该待测程序的启动耗时进行测试,实现了应用程序启动耗时的自动化测试,可释放人力资源,让机器自动运行得到结果数据,从而可降低测试成本,缩短测试时间,并可通过系统接口精准得到应用启动耗时,解决现有技术中人工分析产生误差的问题,提高测试结果的准确性及测试效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (17)
1.一种应用程序启动耗时的测试方法,其特征在于,包括:
获取终端设备上的待测程序,并分别从各所述待测程序中获取各所述待测程序的描述信息;
将所述描述信息逐一发送给所述终端设备,并指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行测试;
接收所述终端设备返回的测试结果;
当所述测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给所述终端设备,并指示所述终端设备根据所述下一条描述信息对下一个待测程序的启动耗时进行测试。
2.根据权利要求1所述的方法,其特征在于,所述分别从各所述待测程序中获取各所述待测程序的描述信息包括:
分别解压各所述待测程序,并从解压获得的文件中获取各所述待测程序中的全局配置文件;
分析各所述全局配置文件,从中获取各所述待测程序的描述信息。
3.根据权利要求1所述的方法,其特征在于,所述分别从各所述待测程序中获取各所述待测程序的描述信息包括:
通过反编译各所述待测程序,获取各所述待测程序中的全局配置文件;
分析各所述全局配置文件,从中获取各所述待测程序的描述信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述测试结果为最后一个待测程序的测试结果时,统计接收到的所有测试结果并按照指定的格式输出统计结果。
5.根据权利要求1至4的任一项所述的方法,其特征在于,所述指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行测试包括:
指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行指定次数的测试。
6.根据权利要求5所述的方法,其特征在于,所述统计接收到的所有测试结果包括:
根据接收到的所有测试结果,统计各所述待测程序各自的单次启动耗时,并计算各所述待测程序的平均启动耗时。
7.根据权利要求6所述的方法,其特征在于,所述分析各所述全局配置文件,从中获取各所述待测程序的描述信息包括:
将各所述全局配置文件转换为指定格式的文件,分析格式转换后的各所述全局配置文件,从中获取各所述待测程序的描述信息。
8.根据权利要求7所述的方法,其特征在于,所述描述信息包括所述待测程序的包名以及首个启动的交互界面的名称。
9.一种应用程序启动耗时的测试装置,其特征在于,包括:
获取模块,用于获取终端设备上的待测程序,并分别从各所述待测程序中获取各所述待测程序的描述信息;
测试模块,用于将所述获取模块获取的所述描述信息逐一发送给所述终端设备,并指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行测试;
接收模块,用于接收所述终端设备返回的测试结果;
所述测试模块,还用于当所述接收模块接收的所述测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给所述终端设备,并指示所述终端设备根据所述下一条描述信息对下一个待测程序的启动耗时进行测试。
10.根据权利要求9所述的装置,其特征在于,所述获取模块包括:
解压模块,用于分别解压各所述待测程序;
全局配置文件获取模块,用于从解压获得的文件中获取各所述待测程序中的全局配置文件;
描述信息获取模块,用于分析各所述全局配置文件,从中获取各所述待测程序的描述信息。
11.根据权利要求10所述的装置,其特征在于,所述获取模块还包括:
反编译模块,用于通过反编译各所述待测程序,获取各所述待测程序中的全局配置文件;
所述描述信息获取模块,还用于分析所述反编译模块通过反编译获取的各所述全局配置文件,从中获取各所述待测程序的描述信息。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
统计模块,用于当所述测试结果为最后一个待测程序的测试结果时,统计接收到的所有测试结果;
输出模块,用于按照指定的格式输出所述统计模块获得的统计结果。
13.根据权利要求9至12的任一项所述的装置,其特征在于,所述测试模块,还用于指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行指定次数的测试。
14.根据权利要求13所述的装置,其特征在于,所述统计模块包括:
单次启动耗时统计模块,用于根据接收到的所有测试结果,统计各所述待测程序各自的单次启动耗时;
平均启动耗时计算模块,用于根据接收到的所有测试结果,计算各所述待测程序的平均启动耗时。
15.根据权利要求14所述的装置,其特征在于,所述描述信息获取模块,还用于将各所述全局配置文件转换为指定格式的文件,分析格式转换后的各所述全局配置文件,从中获取各所述待测程序的描述信息。
16.根据权利要求15所述的装置,其特征在于,所述描述信息包括所述待测程序的包名以及首个启动的交互界面的名称。
17.一种应用程序启动耗时的测试系统,其特征在于,包括:测试计算机以及终端设备;
所述测试计算机,用于获取所述终端设备上的待测程序,分别从各所述待测程序中获取各所述待测程序的描述信息,将所述描述信息逐一发送给所述终端设备,并指示所述终端设备根据所述描述信息对所述待测程序的启动耗时进行测试,接收所述终端设备返回的测试结果,当所述测试结果不为最后一个待测程序的测试结果时,将下一条描述信息发送给所述终端设备,并指示所述终端设备根据所述下一条描述信息对下一个待测程序的启动耗时进行测试;
所述终端设备,用于将所述待测程序发送给所述测试计算机,根据所述测试计算机的指示对所述待测程序的启动耗时进行测试,将所述测试结果返回所述测试计算机,并当所述测试结果不为最后一个待测程序的测试结果时,根据所述测试计算机的指示对所述下一个待测程序的启动耗时进行测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510069689.8A CN105988925A (zh) | 2015-02-10 | 2015-02-10 | 一种应用程序启动耗时的测试方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510069689.8A CN105988925A (zh) | 2015-02-10 | 2015-02-10 | 一种应用程序启动耗时的测试方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105988925A true CN105988925A (zh) | 2016-10-05 |
Family
ID=57041948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510069689.8A Pending CN105988925A (zh) | 2015-02-10 | 2015-02-10 | 一种应用程序启动耗时的测试方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105988925A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315681A (zh) * | 2017-06-09 | 2017-11-03 | 上海爱优威软件开发有限公司 | 应用程序自启动测试系统、媒质和方法 |
CN107391362A (zh) * | 2017-06-28 | 2017-11-24 | 北京珠穆朗玛移动通信有限公司 | 应用测试方法、移动终端及存储介质 |
CN109815105A (zh) * | 2017-11-20 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 基于Btrace的应用程序测试方法和装置 |
CN110209559A (zh) * | 2019-04-26 | 2019-09-06 | 华为技术有限公司 | 一种非侵入式监测方法、控制设备及存储介质 |
CN110389891A (zh) * | 2018-04-23 | 2019-10-29 | 北京京东尚科信息技术有限公司 | 测试应用程序的方法和装置 |
CN112732543A (zh) * | 2021-01-08 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 一种任务耗时的测试方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591770A (zh) * | 2011-12-27 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种目标应用启动时间检测方法和装置 |
CN103164336A (zh) * | 2013-02-22 | 2013-06-19 | 广东欧珀移动通信有限公司 | 一种移动终端上应用程序的自动化测试方法及装置 |
CN103678010A (zh) * | 2012-09-25 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种浏览器启动时间的测试方法和装置 |
CN104239757A (zh) * | 2014-09-30 | 2014-12-24 | 北京奇虎科技有限公司 | 应用程序防止逆向的方法及装置、运行方法及终端 |
-
2015
- 2015-02-10 CN CN201510069689.8A patent/CN105988925A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591770A (zh) * | 2011-12-27 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种目标应用启动时间检测方法和装置 |
CN103678010A (zh) * | 2012-09-25 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种浏览器启动时间的测试方法和装置 |
CN103164336A (zh) * | 2013-02-22 | 2013-06-19 | 广东欧珀移动通信有限公司 | 一种移动终端上应用程序的自动化测试方法及装置 |
CN104239757A (zh) * | 2014-09-30 | 2014-12-24 | 北京奇虎科技有限公司 | 应用程序防止逆向的方法及装置、运行方法及终端 |
Non-Patent Citations (6)
Title |
---|
FREYO: "Android:start activity from adb shell", 《HTTPS://WWW.XINOTES.NET/NOTES/NOTE/1441/》 * |
HONGBO000015: "android adb shell命令大全", 《百度文库HTTPS://WENKU.BAIDU.COM/VIEW/F83C2F65CAAEDD3383C4D3C7.HTML》 * |
JEDIDIAH MCCLURG,ET AL: "Android Privacy Leak Detection via Dynamic Taint Analysis", 《EECS450(INTERNET SECURITY)》 * |
SUNRAYCH: "浅谈Android应用性能之启动时间", 《HTTPS://BLOG.CSDN.NET/JASON_SRC/ARTICLE/DETAILS/20406745》 * |
匿名: "浅谈Android应用性能之启动时间", 《HTTPS://WWW.2CTO.COM/KF/201403/282947.HTML》 * |
匿名用户: "adb shell am start -W -n命令在4.4系统上启动不了应用,怎么回事", 《HTTPS://WENWEN.SOGOU.COM/Z/Q761788097.HTM》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315681A (zh) * | 2017-06-09 | 2017-11-03 | 上海爱优威软件开发有限公司 | 应用程序自启动测试系统、媒质和方法 |
CN107391362A (zh) * | 2017-06-28 | 2017-11-24 | 北京珠穆朗玛移动通信有限公司 | 应用测试方法、移动终端及存储介质 |
CN109815105A (zh) * | 2017-11-20 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 基于Btrace的应用程序测试方法和装置 |
CN110389891A (zh) * | 2018-04-23 | 2019-10-29 | 北京京东尚科信息技术有限公司 | 测试应用程序的方法和装置 |
CN110209559A (zh) * | 2019-04-26 | 2019-09-06 | 华为技术有限公司 | 一种非侵入式监测方法、控制设备及存储介质 |
CN110209559B (zh) * | 2019-04-26 | 2021-09-14 | 华为技术有限公司 | 一种非侵入式监测方法、控制设备及存储介质 |
CN112732543A (zh) * | 2021-01-08 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 一种任务耗时的测试方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828903B (zh) | 自动化测试方法、装置、计算机装置及存储介质 | |
CN105988925A (zh) | 一种应用程序启动耗时的测试方法、装置及系统 | |
KR100948217B1 (ko) | 무선 장치상에서 프로덕트 승인을 테스트하기 위한 장치 및방법 | |
CN105528229B (zh) | 提高移动终端首次开机速度的方法及装置 | |
US8655336B1 (en) | Remote issue logging and reporting of mobile station issues and diagnostic information to manufacturer | |
CN105487966A (zh) | 程序测试方法、装置及系统 | |
WO2015061069A1 (en) | Mobile device test system | |
CN104978263A (zh) | 一种移动端应用程序测试方法及系统 | |
CN106469113B (zh) | 应用程序测试方法及系统 | |
WO2011095914A1 (en) | Systems, methods, and apparatuses for facilitating distribution of firmware updates | |
EP3766008A1 (en) | System to determine performance based on entropy values | |
CN103617020B (zh) | 一种应用程序中生成随机数的方法和设备 | |
CN104679627A (zh) | 测试方法及装置 | |
CN105657781B (zh) | 接入WiFi网络的方法及装置 | |
CN104917724A (zh) | 身份验证方法及装置 | |
CN105468513A (zh) | 一种基于移动终端的测试方法、装置及系统 | |
CN105260082A (zh) | 一种测试数据展示方法及开发终端 | |
CN103067853B (zh) | 验证定位真实性的方法和系统 | |
US11770458B1 (en) | Systems for exchanging data using intermediate devices | |
CN104809055B (zh) | 一种基于云平台的应用程序测试方法和装置 | |
CN106598821B (zh) | 网页加载速度的测试方法及装置 | |
CN105468504A (zh) | 程序测试方法及装置 | |
CN101277504A (zh) | 一种无线性能的测试方法、系统及装置 | |
CN106339617A (zh) | 终端设备的解锁方法及装置 | |
CN110505352B (zh) | 通话质量测试方法、系统、计算机设备和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161005 |