一种测试应用程序的方法及装置与流程

文档序号:13771583阅读:133来源:国知局
一种测试应用程序的方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种测试应用程序的方法及装置。



背景技术:

目前智能手机用户量越来越大,其中基于Android平台的智能手机层出不穷;随着智能手机处理器性能越来越强,快捷、好用、省电的手机应用程序越来越受到用户的欢迎;随之而来的,对手机应用程序的性能测试的需求也变得越来越大。

现有技术中,一般是通过大量的人工操作来模拟应用程序的普通行为和极端行为来实现系统的各项性能指标的测试,例如当需要测试一万次滑屏操作对手机的电量的影响时,需要人工的滑屏一万次来完成相应的测试;但是,采用大量的人工操作进行相应的模拟测试费时费力,且降低了应用程序测试的效率。



技术实现要素:

为了提高应用程序测试的效率,本发明实施例提供了一种测试应用程序的方法及装置。所述技术方案如下:

一方面,提供了一种获取性能测试数据的方法,所述方法包括:

根据程序类型和程序生成方式生成测试程序,所述测试程序用于模拟预设操作;

执行所述测试程序对被测试的应用程序的性能测试;

获取预设参数的性能测试数据。

另一方面,提供了一种获取性能测试数据的装置,所述装置包括:

生成模块,用于根据程序类型和程序生成方式生成测试程序,所述测试程序用于模拟预设操作;

测试模块,用于执行所述测试程序对被测试的应用程序的性能测试;

获取模块,用于获取预设参数的性能测试数据。

本发明实施例提供的技术方案带来的有益效果是:通过根据程序类型和程序生成方式生成测试程序,其中所述测试程序用于模拟预设操作,然后执行所述测试程序对被测试程序的性能测试,获取预设参数的性能测试数据,使得在被测试程序的性能测试过程中不需要人工操作来模拟预设操作等普通行为和极端行为,而是根据程序类型和程序生成方式自动生成用于模拟预设操作的测试程序便可执行后续的测试操作,省时省力,提高了应用程序测试的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例1提供的一种获取性能测试数据的方法实施例的流程图;

图2是本发明实施例2提供的一种获取性能测试数据的方法实施例的流程图;

图3是本发明实施例3提供的一种获取性能测试数据的装置实施例的第一结构示意图;

图4是本发明实施例3提供的一种获取性能测试数据的装置实施例的第二结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例1

参考图1,图1是本发明实施例1提供的一种获取性能测试数据的方法实施例的流程图;本实施例的执行主体可以为计算机,但并不局限于此;本实施例中所涉及的被测试终端可以为移动终端,具体可以为智能手机,但并不局限于此。

所述获取性能测试数据的方法包括:

S101:根据程序类型和程序生成方式生成测试程序,所述测试程序用于模拟预设操作。

S102:执行所述测试程序对被测试的应用程序的性能测试。

S103:获取预设参数的性能测试数据。

可选的,所述根据程序类型和程序生成方式生成测试程序包括:

调用并显示程序类型和程序生成方式的选择界面;

获取所述选择界面中用户选择的程序类型和程序生成方式;

当所述程序生成方式为开发程序方式时,根据所述选择的程序类型和预存的程序模板生成测试程序;

当所述程序生成方式为录制程序方式时,调用并显示录制程序界面,根据所述选择的程序类型在所述录制程序界面进行录制,生成测试程序。

可选的,所述程序类型包括内存测试程序、中央处理器CPU测试程序、流量测试程序、响应时间测试程序和电量测试程序中的任一种或多种。

可选的,所述执行所述测试程序对被测试的应用程序的性能测试之前,进一步包括:

检测被测试终端中是否安装了被测试的应用程序,如果否,发送所述被测试的应用程序的安装包至所述被测试终端,使所述被测试终端根据所述安装包安装所述被测试的应用程序;

所述执行所述测试程序对被测试的应用程序的性能测试包括:

如果所述被测试终端中安装了被测试的应用程序,执行所述测试程序对所述被测试的应用程序的性能测试。

可选的,所述获取预设参数的性能测试数据包括:

获取被测试终端监控到的预设参数的性能测试数据。

可选的,所述获取预设参数的性能测试数据之后,进一步包括:

将所述预设参数的性能测试数据以报表或曲线的形式进行显示。

可选的,所述获取预设参数的性能测试数据之后,进一步包括:

根据预设策略对所述预设参数的性能测试数据进行分析,得到测试建议信息,显示所述测试建议信息;

和/或,

将所述预设参数的性能测试数据与预存的所述预设参数的原始性能测试数据进行对比,得到对比结果,将所述对比结果以报表或曲线的形式进行显示。

本实施例中,根据程序类型和程序生成方式生成测试程序,其中所述测试程序用于模拟预设操作,然后执行所述测试程序对被测试程序的性能测试,获取预设参数的性能测试数据,使得在被测试程序的性能测试过程中不需要人工操作来模拟预设操作等普通行为和极端行为,而是根据程序类型和程序生成方式自动生成用于模拟预设操作的测试程序便可执行后续的测试操作,省时省力,提高了应用程序测试的效率。

实施例2

参考图2,图2是本发明实施例2提供的一种获取性能测试数据的方法实施例的流程图;本实施例的测试终端可以为计算机,但并不局限于此;本实施例中所涉及的被测试终端可以为移动终端,具体可以为智能手机,该智能手机为Andriod系统的手机,但并不局限于此。本实施例中以测试终端为计算机,被测试终端为智能手机为例进行详细描述。

本实施例中涉及的测试程序为脚本程序,其中所述脚本程序指的是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件;简单地说脚本程序就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器将其一条条的翻译成机器可识别的指令,并按程序顺序执行。

本实施例所述的获取性能测试数据的方法可以通过Eclipse软件来实现,该Eclipse软件是一个开放源代码的,基于Java的可扩展平台;但是本实施例并不局限于该Eclipse软件,在此不再赘述。

S201:测试终端根据程序类型和程序生成方式生成测试程序,所述测试程序用于模拟预设操作。

此步骤中,首先计算机生成一个性能测试工程,该性能测试工程可以包括多个脚本程序,是脚本程序的集合;所述性能测试工程中包括测试目标,例如测试一万次滑屏操作/触屏操作对智能手机的电量的影响等,在此不再赘述。

计算机在所述性能测试工程中生成测试程序,包括:调用并显示程序类型和程序生成方式的选择界面;获取所述选择界面中用户选择的程序类型和程序生成方式;当所述程序生成方式为开发程序方式时,根据所述选择的程序类型和预存的程序模板生成测试程序;当所述程序生成方式为录制程序方式时,调用并显示录制程序界面,根据所述选择的程序类型在所述录制程序界面进行录制,生成测试程序。

具体地,计算机调用并显示程序类型和程序生成方式的选择界面,其中所述程序类型和程序生成方式均可以以选择框的形式显示;所述程序类型包括内存测试程序、中央处理器CPU测试程序、流量测试程序、响应时间测试程序和电量测试程序中的任一种或多种,所述程序生成方式包括程序开发方式和程序录制方式。

用户在所述选择界面中选择程序类型和程序生成方式,计算机获取用户选择的程序类型和程序生成方式,根据用户选项的程序类型和程序方式执行相应处理。

例如,选择的程序类型为电量测试程序、程序生成方式为程序开发方式、测试目标为测试一万次滑屏操作对智能手机的电量的影响时,计算机根据电量测试程序和预存的程序模板生成用于模拟一万次滑屏操作的测试程序,该测试程序还可以进行相应的修改后再用于执行测试。所述预存的程序模板与电量测试程序是多对一的关系,例如与电量测试程序对应的预存的程序模板包括模拟滑屏操作的测试程序和模拟触屏操作的测试程序,但是并不局限于此;该预存的程序模板中滑屏或触屏的设置次数可以不是一万次,这样需要对生成的测试程序进行相应修改后得到模拟一万次滑屏操作的测试程序。

例如,选择的程序类型为电量测试程序、程序生成方式为程序录制方式、测试目标为测试一万次滑屏操作对智能手机的电量的影响时,计算机调用并显示录制程序界面;在所述录制程序界面中,计算机根据电量测试程序和测试目标进行程序的录制,生成用于模拟一万次滑屏操作的测试程序,该测试程序还可以进行相应的修改后再用于执行测试。

S202:测试终端检测被测试终端中是否安装了被测试的应用程序,如果否,执行S203;如果是,执行S204。

此步骤中,计算机需要对智能手机中是否安装了被测试的应用程序进行检测,根据检测结果执行相应处理。

S203:测试终端发送所述被测试的应用程序的安装包至所述被测试终端,使所述被测试终端根据所述安装包安装所述被测试的应用程序。

如果计算机检测到智能手机中没有安装被测试的应用程序,则发送所述被测试的应用程序的安装包至智能手机,使智能手机根据所述被测试的应用程序的安装包安装所述被测试的应用程序,然后执行S204。

S204:测试终端执行所述测试程序对所述被测试的应用程序的性能测试,获取预设参数的性能测试数据。

如果智能手机中安装了被测试的应用程序,计算机通过所述测试程序调用智能手机中的被测试程序来执行所述预设操作,例如一万次的滑屏操作,该预设操作为一指定测试用例。

智能手机执行系统监控程序,该系统监控程序实时对预设参数进行监控,所述预设参数为需要测试的参数,包括智能手机的内存、CPU、流量、响应时间或电量中的任一种或多种。所述智能手机将实时监控到的所述预设参数的性能测试数据持续写入预设文件中;计算机从所述预设文件中获取智能手机监控到的预设参数的性能测试数据。

S205:测试终端将所述预设参数的性能测试数据以报表或曲线的形式进行显示。

此步骤中,获取预设参数的性能测试数据之后,计算机将所述预设参数的性能测试数据以报表或曲线的形式显示给用户。

本实施例中,在获取预设参数的性能测试数据之后,计算机还可以根据预设策略对所述预设参数的性能测试数据进行分析,得到测试建议信息,显示所述测试建议信息。例如,某个手机的最大内存为1024M,获取到的被测试的应用程序的内存的性能测试数据为212M,发现被测试的应用程序占用的内存达到了总内存的20%以上,测试建议信息可以为:被测试程序占用内存较高,建议降低对内存的使用;或者如果获取到的被测试的应用程序的CPU的性能测试数据后,发现被测试的应用程序占用了50%以上的CPU,此时测试建议信息可以为:CPU占用超过50%,建议降低对CPU的占用等。此处只是举例而已,在此不再赘述。

和/或,计算机还可以将所述预设参数的性能测试数据与预存的所述预设参数的原始性能测试数据进行对比,得到对比结果,将所述对比结果以报表或曲线的形式进行显示。

本实施例还可以按照S201的方法生成多个测试程序,由用户选择执行所述多个测试程序中的任一个或全部来实现所述测试终端执行所述测试程序对所述被测试的应用程序的性能测试处理,或者,由计算机选择全部或按照所述多个测试程序的优先级高低顺序选择一个测试程序来实现所述测试终端执行所述测试程序对所述被测试的应用程序的性能测试处理,其中每个测试程序的处理过程具体可参见S202-S205的相关描述。

本实施例通过一个简单可复用的方式来对Android终端的应用程序进行性能测试,且本实施例整合了Android终端性能测试过程中的大部分流程,省时省力,提高了应用程序测试的效率。

本实施例中,根据程序类型和程序生成方式生成测试程序,其中所述测试程序用于模拟预设操作,然后执行所述测试程序对被测试程序的性能测试,获取预设参数的性能测试数据,使得在被测试程序的性能测试过程中不需要人工操作来模拟预设操作等普通行为和极端行为,而是根据程序类型和程序生成方式自动生成用于模拟预设操作的测试程序便可执行后续的测试操作,省时省力,提高了应用程序测试的效率。

此外,本实施例可以对性能测试数据进行自动分析,相比较人工分析性能测试数据而言,数据分析的正确率明显提高,提高了工作效率;本实施例还可以以报表或曲线的形式直观显示预设参数的性能测试数据和对比结果,方便用户浏览;本实施例还可以根据预设策略对所述预设参数的性能测试数据进行分析,得到并显示测试建议信息,提高了用户的业务体验度。

实施例3

参考图3,图3是本发明实施例3提供的一种获取性能测试数据的装置实施例的第一结构示意图;本实施例的获取性能测试数据的装置具体可以为计算机,但并不局限于此;本实施例中所涉及的被测试终端可以为移动终端,具体可以为智能手机,该智能手机为Andriod系统的手机,但并不局限于此。

所述获取性能测试数据的装置包括:

生成模块301,用于根据程序类型和程序生成方式生成测试程序,所述测试程序用于模拟预设操作。

测试模块302,用于执行所述测试程序对被测试的应用程序的性能测试。

获取模块303,用于获取预设参数的性能测试数据。

在一种实施方式中,所述生成模块301包括:调用显示单元3011、获取单元3012、第一生成单元3013和第二生成单元3014,如图4所示,图4是本发明实施例3提供的一种获取性能测试数据的装置实施例的第二结构示意图;

所述调用显示单元3011,用于调用并显示程序类型和程序生成方式的选择界面。

所述获取单元3012,用于获取所述选择界面中用户选择的程序类型和程序生成方式。

所述第一生成单元3013,用于当所述程序生成方式为开发程序方式时,根据所述选择的程序类型和预存的程序模板生成测试程序。

所述第二生成单元3014,用于当所述程序生成方式为录制程序方式时,调用并显示录制程序界面,根据所述选择的程序类型在所述录制程序界面进行录制,生成测试程序。

在另一实施方式中,所述获取性能测试数据的装置还包括:

检测模块,用于所述执行所述测试程序对被测试的应用程序的性能测试之前,检测被测试终端中是否安装了被测试的应用程序,如果否,发送所述被测试的应用程序的安装包至所述被测试终端,使所述被测试终端根据所述安装包安装所述被测试的应用程序;

所述测试模块包括:

测试单元,用于如果所述被测试终端中安装了被测试的应用程序,执行所述测试程序对所述被测试的应用程序的性能测试。

再一种实施方式中,所述获取模块包括:

获取单元,用于获取被测试终端监控到的预设参数的性能测试数据。

再一种实施方式中,所述获取性能测试数据的装置在包括生成模块301、测试模块302和获取模块303的基础上,还包括:

第一显示模块,用于所述获取预设参数的性能测试数据之后,将所述预设参数的性能测试数据以报表或曲线的形式进行显示。

在上述实施方式的基础上,所述获取性能测试数据的装置还包括:

分析显示模块,用于所述获取预设参数的性能测试数据之后,根据预设策略对所述预设参数的性能测试数据进行分析,得到测试建议信息,显示所述测试建议信息;

和/或,

对比显示模块,用于将所述预设参数的性能测试数据与预存的所述预设参数的原始性能测试数据进行对比,得到对比结果,将所述对比结果以报表或曲线的形式进行显示。

本实施例中,根据程序类型和程序生成方式生成测试程序,其中所述测试程序用于模拟预设操作,然后执行所述测试程序对被测试程序的性能测试,获取预设参数的性能测试数据,使得在被测试程序的性能测试过程中不需要人工操作来模拟预设操作等普通行为和极端行为,而是根据程序类型和程序生成方式自动生成用于模拟预设操作的测试程序便可执行后续的测试操作,省时省力,提高了应用程序测试的效率。

此外,本实施例可以对性能测试数据进行自动分析,相比较人工分析性能测试数据而言,数据分析的正确率明显提高,提高了工作效率;本实施例还可以以报表或曲线的形式直观显示预设参数的性能测试数据和对比结果,方便用户浏览;本实施例还可以根据预设策略对所述预设参数的性能测试数据进行分析,得到并显示测试建议信息,提高了用户的业务体验度。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1