本申请涉及计算机技术领域,尤其涉及一种应用测试方法、装置、设备及存储介质。
背景技术:
在移动终端的应用测试过程中,常常需要对应用运行时所占用移动终端的内存、cpu等资源的性能进行专项测试,避免出现应用运行时内存持续增长或cpu占用过高等情况。
一般地,测试人员通常采用开发人员使用的开发工具进行应用测试。以安卓android系统的移动终端为例,测试人员通过安卓开发环境androidstudio自带的监控工具进行应用测试。测试人员首先在便携式电脑、台式计算机等测试设备上安装androidsdk(softwaredevelopmentkit,软件开发工具包)及androidstudio。然后将测试设备与移动终端相连,启动测试设备上的androidstudio的监控工具对移动终端上的某个应用进行测试。在应用测试时,androidstudio的监控工具能够实时监测该应用在该移动终端运行时占用资源的数据,并将监测到的数据以按照时间变化的变化曲线展示出来,以将监测到的数据进行图形化展示。
然而,开发工具中自带的监控工具仅适用于开发人员在开发过程中简单查看应用的资源占用情况,开发人员不能对展示的数据图形进行调整。而在应用测试过程中,测试人员需要采用不同的图形对监测的数据进行测试分析。测试人员需要将监控工具所监测的数据文本导出,然后利用其它图形绘制软件对监测的数据文本进行处理,才能生成所需的监控图形,操作繁琐,导致应用测试的效率低。
技术实现要素:
本申请提供一种应用测试方法、装置、设备及存储介质,以解决目前应用测试效率低的问题。
第一方面,本申请实施例提供一种应用测试方法,包括:
接收用户输入的图形展示参数和应用的应用标识;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;
根据各所述第一数据样本,绘制并显示监控图形。
在一种可能的实施方式中,每一所述第一数据样本具有采集时间,所述图形展示参数包括第一采集周期;
所述方法还包括:
根据所述应用的应用标识,按照第二采集周期采集所述应用在所述待处理的移动终端上运行时占用资源的第二数据样本,并将采集到的第二数据样本与相应的采集时间关联存储到记录文件中,其中,所述第二采集周期小于或等于所述第一采集周期;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本,包括:
从所述记录文件中提取与所述图形展示参数相对应的数据样本,作为第一数据样本。
在一种可能的实施方式中,所述方法还包括:
在接收到用户输入的新的图形展示参数时,从所述记录文件中提取与所述新的图形展示参数相对应的数据样本,作为第三数据样本;
按照采集时间的顺序将提取到的第三数据样本绘制成新的监控图形,并将当前显示的监控图形更新为所述新的监控图形。
在一种可能的实施方式中,所述方法还包括:
接收用户输入的第一下载指令;
将当前展示的监控图形和/或所述记录文件存储到第一指定位置。
在一种可能的实施方式中,所述方法还包括:
接收用户输入的第二下载指令,其中,所述第二下载指令中包含指定时间段;
从所述记录文件中提取所述指定时间段内的第二数据样本以及相应的采集时间存储到第二文件中,并将所述第二文件存储到第二指定位置;
和/或,
按照采集时间的顺序,将所述记录文件中所述指定时间段内的第二数据样本绘制成待下载的监控图形,并将所述待下载的监控图形存储到第三指定位置。
在一种可能的实施方式中,所述方法应用于测试设备,所述测试设备与至少一个移动终端相连;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本之前,所述方法还包括:
获取与所述测试设备相连的各个移动终端的设备标识;
根据各个移动终端的设备标识,生成设备标识列表,并显示所述设备标识列表;
接收用户输入的选择指令,将所述设备标识列表中所述选择指令指示的移动终端确定为所述待处理的移动终端。
在一种可能的实施方式中,所述应用为至少两个;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本,包括:
针对每个应用,根据所述图形展示参数,分别获取该应用在所述待处理的移动终端上运行时占用资源的第一数据样本;
根据各所述第一数据样本,绘制并显示监控图形,包括:
采用不同的展示样式,按照采集时间的顺序将采集到的各个应用对应的数据样本绘制到同一监控图形上,其中,每个应用对应一种展示样式。
在一种可能的实施方式中,所述监控图形为曲线图,每个应用对应一种曲线样式。
在一种可能的实施方式中,根据各所述第一数据样本,绘制并显示监控图形,包括:
按照采集时间的顺序将各所述第一数据样本绘制成所述监控图形,并显示所述监控图形。
在一种可能的实施方式中,所述图形展示参数包括以下中的至少一个:
监控图形中所包含的数据样本的总数量、采集周期、采集总时长。
所述资源包括以下中的至少一种:
内存资源、处理器资源。
在一种可能的实施方式中,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本,包括:
通过调用与所述待处理的移动终端的操作系统相对应的指令,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
第二方面,本申请实施例提供一种应用测试装置,包括:
接收模块,用于接收用户输入的图形展示参数和应用的应用标识;
获取模块,用于根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;
显示模块,用于根据各所述第一数据样本,绘制并显示监控图形。
在一种可能的实施方式中,每一所述第一数据样本具有采集时间,所述图形展示参数包括第一采集周期;所述装置还包括采集模块;
所述采集模块,用于:
根据所述应用的应用标识,按照第二采集周期采集所述应用在所述待处理的移动终端上运行时占用资源的第二数据样本,并将采集到的第二数据样本与相应的采集时间关联存储到记录文件中,其中,所述第二采集周期小于或等于所述第一采集周期。
所述获取模块,具体用于:
从所述记录文件中提取与所述图形展示参数相对应的数据样本,作为第一数据样本。
在一种可能的实施方式中,所述显示模块,还用于:
在接收到用户输入的新的图形展示参数时,从所述记录文件中提取与所述新的图形展示参数相对应的数据样本,作为第三数据样本;
按照采集时间的顺序将提取到的第三数据样本绘制成新的监控图形,并将当前显示的监控图形更新为所述新的监控图形。
在一种可能的实施方式中,所述装置还包括第一输出模块;
所述接收模块,还用于:
接收用户输入的第一下载指令;
所述第一输出模块,用于:
将当前展示的监控图形和/或所述记录文件存储到第一指定位置。
在一种可能的实施方式中,所述装置还包括第二输出模块;
所述接收模块,还用于:
接收用户输入的第二下载指令,其中,所述第二下载指令中包含指定时间段;
所述第二输出模块,用于:
从所述记录文件中提取所述指定时间段内的第二数据样本以及相应的采集时间存储到第二文件中,并将所述第二文件存储到第二指定位置;
和/或,
按照采集时间的顺序,将所述记录文件中所述指定时间段内的第二数据样本绘制成待下载的监控图形,并将所述待下载的监控图形存储到第三指定位置。
在一种可能的实施方式中,所述装置应用于测试设备,所述测试设备与至少一个移动终端相连;
所述获取模块,还用于:
获取与所述测试设备相连的各个移动终端的设备标识;
所述显示模块,还用于:
根据各个移动终端的设备标识,生成设备标识列表,并显示所述设备标识列表;
所述接收模块,还用于:
接收用户输入的选择指令,将所述设备标识列表中所述选择指令指示的移动终端确定为所述待处理的移动终端。
在一种可能的实施方式中,所述应用为至少两个;
所述获取模块,具体用于:
针对每个应用,根据所述图形展示参数,分别获取该应用在所述待处理的移动终端上运行时占用资源的第一数据样本;
所述显示模块,具体用于:
采用不同的展示样式,按照采集时间的顺序将采集到的各个应用对应的数据样本绘制到同一监控图形上,其中,每个应用对应一种展示样式。
在一种可能的实施方式中,所述监控图形为曲线图,每个应用对应一种曲线样式。
在一种可能的实施方式中,所述显示模块,具体用于:
按照采集时间的顺序将各所述第一数据样本绘制成所述监控图形,并显示所述监控图形。
在一种可能的实施方式中,所述图形展示参数包括以下中的至少一个:
监控图形中所包含的数据样本的总数量、采集周期、采集总时长。
所述资源包括以下中的至少一种:
内存资源、处理器资源。
在一种可能的实施方式中,所述获取模块,用于:
通过调用与所述待处理的移动终端的操作系统相对应的指令,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
第三方面,本申请实施例提供一种应用测试设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的应用测试方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的应用测试方法。
本申请实施例提供的应用测试方法、装置、设备及存储介质,接收用户输入的图形展示参数和应用的应用标识;根据图形展示参数,获取该应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;根据各第一数据样本,绘制并显示监控图形,能够在应用测试过程中按照用户输入的图形展示参数绘制相应的监控图形,避免用户需要先将监测的数据文本导出,然后再利用图形绘制软件将监测的数据文本绘制成所需图形的繁琐操作,从而提高应用测试的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用测试系统的架构示意图;
图2为本申请一实施例提供的应用测试方法的流程示意图;
图3为本申请又一实施例提供的应用测试方法的流程示意图;
图4为本申请另一实施例提供的应用测试方法的流程示意图;
图5为本申请再一实施例提供的应用测试方法的流程示意图;
图6为本申请又一实施例提供的应用测试系统的架构示意图;
图7为本申请实施例提供的前端页面的界面示意图;
图8为本申请一实施例提供的应用测试装置的结构示意图;
图9为本申请一实施例提供的应用测试设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在移动终端的应用测试过程中,常常需要对应用运行时所占用移动终端的内存、cpu等资源的性能进行专项测试,避免出现应用运行时内存持续增长或cpu占用过高等情况。
相关技术中,测试人员通常采用开发人员使用的开发工具进行应用测试。以安卓android系统的移动终端为例,测试人员通过安卓开发环境androidstudio自带的监控工具进行应用测试。测试人员首先在便携式电脑、台式计算机等测试设备上安装androidsdk(softwaredevelopmentkit,软件开发工具包)及androidstudio。然后将测试设备与移动终端相连,启动测试设备上的androidstudio的监控工具对移动终端上的某个应用进行测试。在应用测试时,androidstudio的监控工具能够实时监测该应用在该移动终端运行时占用资源的数据,并将监测到的数据以按照时间变化的变化曲线展示出来,以将监测到的数据进行图形化展示。
然而,开发工具中自带的监控工具仅适用于开发人员在开发过程中简单查看应用的资源占用情况,开发人员不能对展示的数据图形进行调整。而在应用测试过程中,测试人员需要采用不同的图形对监测的数据进行测试分析。测试人员需要将监控工具所监测的数据文本导出,然后利用其它图形绘制软件对监测的数据文本进行处理,才能生成所需的监控图形,操作繁琐,导致应用测试的效率低。并且,开发工具安装及启动均比较耗时,且配置、使用需要一定的技术基础,对于大部分测试人员来说,使用门槛较高,难度较大。
此外,在相关技术中测试人员还可以通过在移动终端上安装测试应用的方式进行测试。该测试应用以弹窗的形式悬浮在待测应用界面上,实时显示当前该待测应用所占用资源的数值。该测试应用不具有实时图形化显示监控数据的功能,只能将监控的数据生成逗号分隔值(comma-separatedvalues,csv)格式的报告。测试人员将该报告导出,然后利用其它图形绘制软件对该报告中的数据进行处理,才能生成所需的监控图形,同样操作繁琐,应用测试的效率低。并且,该测试方式需要在每个待测的移动终端上安装测试应用,当需要测试的移动终端较多时,操作更为繁琐。该测试方式在移动终端上也无法将数据进行图形化的显示,不便于测试人员观测。
本申请实施例接收用户输入的图形展示参数和应用的应用标识;根据图形展示参数,获取该应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;根据各第一数据样本,绘制并显示监控图形,能够在应用测试过程中按照用户输入的图形展示参数绘制相应的监控图形,避免用户需要先将监测的数据文本导出,然后再利用图形绘制软件将监测的数据文本绘制成所需图形的繁琐操作,从而提高应用测试的效率。
图1为本申请一实施例提供的应用测试系统的架构示意图。如图1所示,本实施例提供的应用测试系统包括测试设备11和多个移动终端12。其中,测试设备11可以为便携式计算机、台式计算机等,移动终端12可以为手机、平板电脑、车载终端等,在此不作限定。测试设备11分别与每个移动终端12相连,例如,测试设备11可以以无线连接方式或有线连接方式与每个移动设备进行通信连接。待测的应用安装在移动终端12上。用户通过操作测试设备对应用在移动设备上运行时所占用的资源进行测试和查看。应用测试方法的具体实现过程下面进行说明。
图2为本申请一实施例提供的应用测试方法的流程示意图。如图2所示,该方法包括:
s201、接收用户输入的图形展示参数和应用的应用标识。
本实施例中,用户需要对某应用进行测试,则可以将该应用的应用标识输入的测试设备。应用标识可以为应用的应用名称或程序的包名等。除了该应用的应用标识之外,用户还向测试设备输入图形展示参数,进行图形展示参数的配置。图形展示参数是指测试设备根据监控到的数据进行图形绘制时的相关参数,用户可以通过调整图形展示参数来调整测试设备所显示的监控图形。
可选地,图形展示参数可以包括以下中的至少一个:监控图形中所包含的数据样本的总数量、采集周期、采集总时长。其中,监控图形中所包含的数据样本的总数量是指监控图形中一共由多少个数据样本绘制而成,采集周期是指监控图形中的数据样本的采集周期,采集总时长是指监控图形所包含的所有数据样本的总的采集时长。例如,测试设备接收到用户输入的图形展示参数为数据样本的总数量100,采集周期为3秒,则表示测试设备最终显示的监控图形中包含100个数据样本,每相邻两个数据样本之间的采集间隔时长为3秒。
可选地,测试设备接收用户在配置界面上输入的图形展示参数和应用的应用标识。该配置界面可以是程序软件的界面,也可以是浏览器打开的网页界面,在此不作限定。
s202、根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
本实施例中,测试设备可以根据图形展示参数获取相应的第一数据样本,其中,每个第一数据样本为某时刻应用在待处理的移动终端上运行时所占用资源的数据。测试设备可以按照图形展示参数从待处理的移动终端上进行第一数据样本的采集,也可以从测试设备或移动终端中记录监控得到的数据样本的文件中,提取与图形展示参数相应的第一数据样本,在此不作限定。
其中,资源可以包括以下中的至少一种:内存资源、处理器资源。例如,资源为内存资源,图形展示参数为数据样本的总数量100,采集周期为3秒,则测试设备可以获取的第一样本数据为100个,每相邻两个第一数据样本的间隔为3秒,监控图形所包含的第一样本数据的总时长为300秒。其中,第一数据样本可以为待测应用占用内存的数值,或者该数值在总内存中占比。图形所包含的第一样本数据的起止时刻可以为用户指定的时刻,或者为默认时刻。例如,默认的终止时刻为当前的时刻,起始时刻由当前时刻和图形展示参数进行计算确定。
可选地,s202可以包括:
通过调用与所述待处理的移动终端的操作系统相对应的指令,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
本实施例中,移动终端的操作系统不同,则测试设备调用移动终端的指令不同。移动终端的操作系统可以为android、ios、windows等。以android系统的移动终端为例,测试设备可以调用androidsdk中用于监控应用所占资源的指令,获取应用在待处理的移动终端上运行时所占用资源的第一数据样本。
s203、根据各所述第一数据样本,绘制并显示监控图形。
本实施例中,测试设备依据图形展示参数获取相应的第一数据样本后,可以将各第一数据样本绘制成监控图形,然后在界面上显示监控图形,以便用户查看。其中,监控图形的形式可以为曲线图、柱状图、饼状图等,在此不作限定。例如,资源可以为内存资源和处理器资源,监控图形可以为某时刻待测应用占用内存资源的数值与占用处理器资源的数值进行对比的柱状图;或者资源为内存资源,监控图形可以为多个不同时刻的待测应用占用内存资源的数值,跟随时间变化的曲线图或者折线图。
可选地,s203可以包括:
按照采集时间的顺序将各所述第一数据样本绘制成所述监控图形,并显示所述监控图形。
本实施例中,每个数据样本具有一个采集时间,该采集时间为采集该数据样本时的时刻。测试设备可以按照采集时间的顺序将各第一数据样本绘制成监控图形,并在显示监控图形。例如,该监控图形可以是在横轴为时间,纵轴为资源占用数值的坐标轴内绘制的曲线图。
本申请实施例接收用户输入的图形展示参数和应用的应用标识;根据图形展示参数,获取该应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;根据各第一数据样本,绘制并显示监控图形,能够在应用测试过程中按照用户输入的图形展示参数绘制相应的监控图形,避免用户需要先将监测的数据文本导出,然后再利用图形绘制软件将监测的数据文本绘制成所需图形的繁琐操作,从而提高应用测试的效率。
图3为本申请又一实施例提供的应用测试方法的流程示意图。本实施例对获取第一数据样本的具体实现过程进行了详细说明。本实施例中每一所述第一数据样本具有采集时间,所述图形展示参数包括第一采集周期。如图3所示,该方法包括:
s301、接收用户输入的图形展示参数和应用的应用标识。
本实施例中,s301与图2实施例中的s201类似,此处不再赘述。
s302、根据所述应用的应用标识,按照第二采集周期采集所述应用在所述待处理的移动终端上运行时占用资源的第二数据样本,并将采集到的第二数据样本与相应的采集时间关联存储到记录文件中,其中,所述第二采集周期小于或等于所述第一采集周期。
s303、从所述记录文件中提取与所述图形展示参数相对应的数据样本,作为第一数据样本。
本实施例中,第二采集周期可以是用户指定的采集周期,也可以是默认的采集周期。第二采集周期是指测试设备每间隔多少时长采集一次应用在移动终端所占用资源的数据。例如,第二采集周期为1秒,则测试设备每间隔1秒从移动终端采集一次应用所占用资源的数据样本,然后将该数据样本与采集该数据样本的时间关联存储到记录文件中。记录文件用于存储测试设备从移动终端所采集的所有数据样本及对应的采集时间。测试设备按照图形展示参数从记录文件中提取与所述图形展示参数相对应的数据样本,作为第一数据样本。第二采集周期小于或等于用户输入的第一采集周期,用户可以输入等于或大于第二采集周期的第一采集周期进行监控图形的调整。例如,第二采集周期为1秒,用户输入的第一采集周期为3秒,则从记录文件中每隔两个数据样本提取一个作为第一数据样本,用于绘制图形。
s304、根据各所述第一数据样本,绘制并显示监控图形。
在本实施例中,s303与图2实施例中的s202类似,此处不再赘述。
本实施例中测试设备启动上述应用测试方法的程序后,始终按照第二采集周期采集移动设备上待测应用所占用资源的数据,然后将采集的数据存储到记录文件中。在接收用户输入的图形展示参数后,从记录文件中直接提取与图形展示参数相对应的数据,进行绘图显示。相对于接收到用户输入的图形展示参数后按照图形展示参数从移动设备中一个一个的采集数据,直接从记录文件中获取记录的数据能够快速完成数据的获取,以便快速进行绘图并显示,防止由于在数据样本的数量较大时,采集时间较长,图形无法实时显示造成的用户等待,提高测试效率。
在一种可能的实施方式中,s304之后,上述方法还可以包括:
在接收到用户输入的新的图形展示参数时,从所述记录文件中提取与所述新的图形展示参数相对应的数据样本,作为第三数据样本;
按照采集时间的顺序将提取到的第三数据样本绘制成新的监控图形,并将当前显示的监控图形更新为所述新的监控图形。
本实施例中,在监控图形显示时,用户可以调整图形展示参数查看相应的监控图形。测试设备在接收到用户输入的新的图形展示参数时,从记录文件中提取与新的图形展示参数相对应的数据样本,作为第三数据样本,然后按照采集时间的顺序将提取到的第三数据样本绘制成新的监控图形,并将当前显示的监控图形更新为新的监控图形。
由于本实施例是从记录文件中提取与图形展示参数对应的数据样本,所以在接收到用户输入的新的图形展示参数后,不需要从移动设备一个一个的采集所需的数据样本,可以直接从记录文件中进行数据提取,就能够得到与新的图形展示参数相对应的数据样本,极大缩短了在图形展示参数更新时数据样本获取的时间,从而提高监控图形的更新速度。例如,当前显示的为根据以2秒采集周期采集的数据样本所绘制的变化曲线图形,当用户将采集周期重新设置为3秒时,可以快速获取相应的数据样本,进行绘制和显示,将监控图形快速更新为以3秒采集周期的数据样本所绘制的变化曲线图形。
在一种可能的实施方式中,在接收到用户的下载指令后还可以将监控图形和/或采集到的数据样本存储到指定位置。例如,可以有以下两种实现方式。
在第一种实现方式中,s304之后,上述方法还可以包括:
接收用户输入的第一下载指令;
将当前展示的监控图形和/或所述记录文件存储到第一指定位置。
其中,第一指定位置可以为用户设置为存储位置,也可以为默认的存储位置,在此不作限定。
在第二种实现方式中,s304之后,上述方法还可以包括:
接收用户输入的第二下载指令,其中,所述第二下载指令中包含指定时间段;
从所述记录文件中提取所述指定时间段内的第二数据样本以及相应的采集时间存储到第二文件中,并将所述第二文件存储到第二指定位置;
和/或,
按照采集时间的顺序,将所述记录文件中所述指定时间段内的第二数据样本绘制成待下载的监控图形,并将所述待下载的监控图形存储到第三指定位置。
本实施例中,第二指定位置和第三指定位置可以为同一存储位置,也可以为不同的存储位置,在此不作限定。用户可以选择下载指定时间段内的数据样本和/或数据样本所形成的监控图形。例如,在显示界面上显示数据样本的采集时间的时间轴,用户在该时间轴上确定指定时间段,测试设备从记录文件中提取该指定时间段内的第二数据样本以及相应的采集时间存储到第二文件中,并将第二文件存储到第二指定位置;或者,测试设备按照采集时间的顺序,将记录文件中指定时间段内的第二数据样本绘制成待下载的监控图形,并将待下载的监控图形存储到第三指定位置;或者测试设备从记录文件中提取该指定时间段内的第二数据样本以及相应的采集时间存储到第二文件中,并将第二文件存储到第二指定位置,并且按照采集时间的顺序,将所述记录文件中所述指定时间段内的第二数据样本绘制成待下载的监控图形,并将所述待下载的监控图形存储到第三指定位置。
图4为本申请另一实施例提供的应用测试方法的流程示意图。本实施例中上述方法应用于测试设备,测试设备与至少一个移动终端相连。如图4所示,该方法包括:
s401、获取与所述测试设备相连的各个移动终端的设备标识。
本实施例中,与测试设备相连的移动终端可以为一个或多个,在此不作限定。设备标识可以为设备名称、设备的识别码(uniquedeviceidentifier,udid)等,在此不作限定。测试设备可以调用与各个移动终端的操作系统相对应的指令,分别从各个移动终端读取设备标识。例如,对于android系统的移动终端,测试设备可以调用androidsdk中用于读取设备标识的指令,将该指令发送给移动终端,从移动终端获取移动终端的设备标识。
s402、根据各个移动终端的设备标识,生成设备标识列表,并显示所述设备标识列表。
本实施例中,测试设备可以将各个移动终端的设备标识生成设备标识列表,在界面上显示设备标识列表,以便用户查看测试设备所连接的移动终端。
可选地,测试设备在从移动终端获取到的设备标识为udid时,为便于用户查看,可以从预置的映射表中查找该udid对应的移动终端的品牌名称和/或型号,将移动终端的品牌名称和/或型号显示到设备标识列表中。
s403、接收用户输入的选择指令,将所述设备标识列表中所述选择指令指示的移动终端确定为所述待处理的移动终端。
本实施例中,用户在查看测试设备显示的设备标识列表后可以从列表中选择所要测试的移动终端,所要测试的移动终端可以为一个或多个。测试设备将用户所选择的移动终端作为待处理的移动终端,进行待测应用的测试。
s404、接收用户输入的图形展示参数和应用的应用标识。
本实施例中,s404与图2实施例中的s201类似,此处不再赘述。
s405、根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
本实施例中,s405与图2实施例中的s202类似,此处不再赘述。
s406、根据各所述第一数据样本,绘制并显示监控图形。
本实施例中,s406与图2实施例中的s203类似,此处不再赘述。
相关技术中,应用测试方法每次仅能针对一个移动终端上的应用进行测试,而本实施例测试设备同时与多个移动终端相连,可以按照用户需求同时绘制待测应用在多个移动终端上的监控图形,每个监控图形对应一个移动终端,便于用户对比待测应用在不同移动终端的资源占用情况,提高测试效率和测试效果。
图5为本申请再一实施例提供的应用测试方法的流程示意图。本实施例中可以根据用户需求对多个应用同时进行测试。如图5所示,该方法包括:
s501、接收用户输入的图形展示参数和应用的应用标识。所述应用为至少两个。
本实施例中,用户输入的应用标识为多个,每个应用标识对应于一个待测试的应用。
s502、针对每个应用,根据所述图形展示参数,分别获取该应用在所述待处理的移动终端上运行时占用资源的第一数据样本。
s503、采用不同的展示样式,按照采集时间的顺序将采集到的各个应用对应的数据样本绘制到同一监控图形上,其中,每个应用对应一种展示样式。
本实施例中,每个应用采用一种展示样式。其中,展示样式可以为颜色样式、线型样式等,在此不作限定。根据图形展示参数,分别获取各个应用在待处理的移动终端上运行时占用资源的第一数据样本,然后按照采集时间的顺序将采集到的各个应用对应的数据样本绘制到同一监控图形上,以便用户能够从一张监控图形上对比多个应用的资源占用情况。
可选地,监控图形为曲线图,每个应用对应一种曲线样式。例如,资源为内存资源,待测试的应用为应用a和应用b,均为视频播放类应用,应用a对应于点划线,应用b对应于虚线。测试设备分别获取应用a在移动终端上占用内存资源的数据和应用b在移动终端上占用内存资源的数据,然后绘制生成监控图形,监控图形上共有两条随时间变化的曲线,其中曲线1为点划线构成的曲线,曲线2为虚线构成的曲线,用户通过对比曲线1和曲线2就能直观的获知应用a和应用b占用内存资源情况的区别。
相关技术中,应用测试方法每次仅能单独针对一个应用进行测试,而本实施例测试设备将采集到的各个应用对应的数据样本绘制到同一监控图形上,通过不同的展示样式加以区分,能够便于用户对不同应用的占用资源情况进行对比,提高测试效果。
下面通过一个实施示例对上述应用测试方法进行说明。图6为本申请又一实施例提供的应用测试系统的架构示意图。该应用测试系统包括前端页面、后台服务和待测的移动终端。其中,前端页面可以采用react前端框架结合echart图表控件丰富的模板来实现,采用定时、部分刷新技术,用于实现图形化、实时的监控数据展示。前端页面的界面示意图如图7所示。前端页面的界面可以包括监控操作区域、监控配置区域和监控图形展示区域。后台服务用于接收前端页面的请求,管理已连接的移动终端,实现监控的移动终端选择,监控数据的计算、数据记录等,可以采用springboot框架来实现。移动终端的cpu、内存等资源数据的获取由androidsdk中提供的命令来实现,通过java调用命令获取响应值。
前端页面具体可以包含监控配置模块、监控操作模块、展示模块三个功能模块。其中,1)监控配置模块,用于已连接移动终端的展示与选择,被监控包名设置、采集周期设置、展示的样本数量设置。其中样本数量及采集周期均支持监控过程中实时更改。2)监控操作模块,用于应用测试的开始和停止,下载监控得到的数据。其中,监控数据包括全部的文本信息(记录时间、资源占用数据),便于后期测试人员灵活运用生成需要的图形;还包括前端页面自动生成的监控图形。3)展示模块,用于展示对应配置的信息监控窗口,包括cpu、内存等资源数据的具体数值及随时间的变化趋势等。
后台服务具体可以包括设备控制模块、数据交互模块、数据计算与存储模块、过程控制模块。其中,1)设备控制模块,用于获取已连接的移动终端列表,记录移动终端信息。2)数据交互模块,用于根据前端页面设置的测试配置,生成展示所需的数据,返回给前端页面绘图展示。3)数据计算与存储模块,用于通过sdk内部命令,获取待测应用在移动终端的资源占用数据,并进行加工及处理,获取数据的采集时间一起分类存储。4)过程控制模块,用于根据前端页面的启动命令、停止命令、下载命令、更换采样周期命令、更换样本数量命令等,响应命令对定时任务、存储的数据文件等进行操作。
上述前端页面和后台服务的程序代码可以做成工具程序进行发布。应用测试工具程序可以包括三个部分。1)前端页面代码及后台服务代码分别打包。2)抽离androidsdk中platform-tools部分。3)编写一键启动脚本及使用说明文档:其中启动脚本包括前端页面启动命令、后台服务启动命令及提示信息的展示,形成windows批处理脚本,直接执行该脚本可以实现工具程序的一键启动。将以上三部分放在一个文件夹中压缩成工具包大小仅为50m左右,测试人员使用时可以直接解压即可。
具体实现流程如下:
1)工具的启动:用户即测试人员,将工具程序包解压,双击执行start脚本。start脚本为windows批处理脚本,集成了后台服务启动命令、前端页面打开命令及用户交互提示的打印输出。用户仅需要双击该脚本,内部的命令按脚本中的顺序执行,将自动启动后台服务,并打开浏览器,展示前端页面。
2)测试初始化配置:前端页面启动后将自动发送获取当前连接的移动终端列表的http请求,后台服务接收到该请求后,通过调用androidsdk提供的adb工具,获取已连接移动终端信息,并将该信息进行解析获取移动终端的udid列表返回给前端页面。用户在前端页面的移动终端列表下拉框可以看到所有已连接的移动终端信息。若在工具程序启动后新连接的移动终端,可刷新重复以上初始化过程更新移动终端列表。用户选择要监控的移动终端,填写被测试的应用包名信息,选择采样周期(如间隔1秒、间隔3秒、间隔5秒等)及绘图展示的样本数量(如20、30、50等),若不选择,默认为最小值。
3)测试流程控制:完成初始化配置后,用户点击开始按钮。在监听到开始按钮点击后监听后启动前端定时任务、改变开始按钮及结束按钮的可点击状态,并读取初始化配置中的移动终端信息及包名信息,调用开始监控方法。其中,开始监控方法将前端页面配置的初始化监控信息传递给后台服务,通知后台服务开始监控。后台服务接收通知后,清空上次缓存记录,启动后台定时任务。后台定时任务调用androidsdk中提供的工具获取所选移动终端、应用所占用的cpu、内存等资源数据,进行解析处理后加上采集时间等数据保存到文件中。前端定时任务不断获取前端页面最新的采样周期、样本数量配置信息,发送获取数据请求给后台服务,后台服务接收到请求后,根据前端页面传来的参数将存储在文件中的最新的数据整理返回给前端页面,前端页面接收到数据后按采集时间绘制监控图形。以上实现了测试过程中的实时绘制,并且可不用停止测试流程切换采样周期及展示样本数量。在测试期间,用户可以在被测试的移动终端上操作被监控的应用,方便查看某一功能使用时,该应用占用的内存、cpu等性能指标的变化。
4)监控结果:监控结束后,用户点击停止按钮。用户点击下载按钮,可以下载从点击开始到点击停止期间保存的所有资源占用数据(如可以采用txt格式)及监控图形,监控图形可以为停止时展示的监控图形。例如可以截取当前屏幕产生,将监控图形保存为图片格式。下载的所有资源占用数据,用于在下载的监控图形不满足测试要求时,可由用户利用其它绘图软件,根据下载的数据生成指定时间段、指定格式的图形,便于测试人员生成最终的测试报告。
本申请实施例采用react和springboot框架开发,可以轻松实现前后端交互、后台服务打包,便携的用户监控页面图形化展示及用户操作响应;分别设计前后端定时任务,支持监控过程中,采集周期及展示样本数量的实时更改,实时展示等;抽离androidsdk中小部分工具进行整合,sdk本身通常占有几g的空间,只抽出应用测试需要的部分大概40m,实现了工具的轻量级;前后端分别打包,结合抽离的sdk工具,并编写一键启动批处理脚本,将前后端服务整合实现一键启动,实现了免安装以及便于测试人员使用。
图8为本申请一实施例提供的应用测试装置的结构示意图。如图8所示,该应用测试装置80包括:接收模块801、获取模块802、显示模块803。
接收模块801,用于接收用户输入的图形展示参数和应用的应用标识。
获取模块802,用于根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
显示模块803,用于根据各所述第一数据样本,绘制并显示监控图形。
本申请实施例接收用户输入的图形展示参数和应用的应用标识;根据图形展示参数,获取该应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;根据各第一数据样本,绘制并显示监控图形,能够在应用测试过程中按照用户输入的图形展示参数绘制相应的监控图形,避免用户需要先将监测的数据文本导出,然后再利用图形绘制软件将监测的数据文本绘制成所需图形的繁琐操作,从而提高应用测试的效率。
可选地,每一所述第一数据样本具有采集时间,所述图形展示参数包括第一采集周期;所述装置还包括采集模块;
所述采集模块,用于:
根据所述应用的应用标识,按照第二采集周期采集所述应用在所述待处理的移动终端上运行时占用资源的第二数据样本,并将采集到的第二数据样本与相应的采集时间关联存储到记录文件中,其中,所述第二采集周期小于或等于所述第一采集周期。
所述获取模块802,具体用于:
从所述记录文件中提取与所述图形展示参数相对应的数据样本,作为第一数据样本。
可选地,所述显示模块803,还用于:
在接收到用户输入的新的图形展示参数时,从所述记录文件中提取与所述新的图形展示参数相对应的数据样本,作为第三数据样本;
按照采集时间的顺序将提取到的第三数据样本绘制成新的监控图形,并将当前显示的监控图形更新为所述新的监控图形。
可选地,所述装置还包括第一输出模块;
所述接收模块801,还用于:
接收用户输入的第一下载指令;
所述第一输出模块,用于:
将当前展示的监控图形和/或所述记录文件存储到第一指定位置。
可选地,所述装置还包括第二输出模块;
所述接收模块801,还用于:
接收用户输入的第二下载指令,其中,所述第二下载指令中包含指定时间段;
所述第二输出模块,用于:
从所述记录文件中提取所述指定时间段内的第二数据样本以及相应的采集时间存储到第二文件中,并将所述第二文件存储到第二指定位置;
和/或,
按照采集时间的顺序,将所述记录文件中所述指定时间段内的第二数据样本绘制成待下载的监控图形,并将所述待下载的监控图形存储到第三指定位置。
可选地,所述装置应用于测试设备,所述测试设备与至少一个移动终端相连;
所述获取模块802,还用于:
获取与所述测试设备相连的各个移动终端的设备标识;
所述显示模块803,还用于:
根据各个移动终端的设备标识,生成设备标识列表,并显示所述设备标识列表;
所述接收模块801,还用于:
接收用户输入的选择指令,将所述设备标识列表中所述选择指令指示的移动终端确定为所述待处理的移动终端。
可选地,所述应用为至少两个;
所述获取模块802,具体用于:
针对每个应用,根据所述图形展示参数,分别获取该应用在所述待处理的移动终端上运行时占用资源的第一数据样本;
所述显示模块803,具体用于:
采用不同的展示样式,按照采集时间的顺序将采集到的各个应用对应的数据样本绘制到同一监控图形上,其中,每个应用对应一种展示样式。
可选地,所述监控图形为曲线图,每个应用对应一种曲线样式。
可选地,所述显示模块803,具体用于:
按照采集时间的顺序将各所述第一数据样本绘制成所述监控图形,并显示所述监控图形。
可选地,所述图形展示参数包括以下中的至少一个:
监控图形中所包含的数据样本的总数量、采集周期、采集总时长。
所述资源包括以下中的至少一种:
内存资源、处理器资源。
可选地,所述获取模块802,用于:
通过调用与所述待处理的移动终端的操作系统相对应的指令,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
本申请实施例提供的应用测试装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图9为本申请一实施例提供的应用测试设备的硬件结构示意图。如图9所示,本实施例提供的应用测试设备90包括:至少一个处理器901和存储器902。该应用测试设备90还包括通信部件903。其中,处理器901、存储器902以及通信部件903通过总线904连接。
在具体实现过程中,至少一个处理器901执行所述存储器902存储的计算机执行指令,使得至少一个处理器901执行如上的应用测试方法。
处理器901的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图9所示的实施例中,应理解,处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponentinterconnect,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的应用测试方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
技术特征:
1.一种应用测试方法,其特征在于,所述方法包括:
接收用户输入的图形展示参数和应用的应用标识;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;
根据各所述第一数据样本,绘制并显示监控图形。
2.根据权利要求1所述的方法,其特征在于,每一所述第一数据样本具有采集时间,所述图形展示参数包括第一采集周期;
所述方法还包括:
根据所述应用的应用标识,按照第二采集周期采集所述应用在所述待处理的移动终端上运行时占用资源的第二数据样本,并将采集到的第二数据样本与相应的采集时间关联存储到记录文件中,其中,所述第二采集周期小于或等于所述第一采集周期;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本,包括:
从所述记录文件中提取与所述图形展示参数相对应的数据样本,作为第一数据样本。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在接收到用户输入的新的图形展示参数时,从所述记录文件中提取与所述新的图形展示参数相对应的数据样本,作为第三数据样本;
按照采集时间的顺序将提取到的第三数据样本绘制成新的监控图形,并将当前显示的监控图形更新为所述新的监控图形。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收用户输入的第一下载指令;
将当前展示的监控图形和/或所述记录文件存储到第一指定位置。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收用户输入的第二下载指令,其中,所述第二下载指令中包含指定时间段;
从所述记录文件中提取所述指定时间段内的第二数据样本以及相应的采集时间存储到第二文件中,并将所述第二文件存储到第二指定位置;
和/或,
按照采集时间的顺序,将所述记录文件中所述指定时间段内的第二数据样本绘制成待下载的监控图形,并将所述待下载的监控图形存储到第三指定位置。
6.根据权利要求1所述的方法,其特征在于,所述方法应用于测试设备,所述测试设备与至少一个移动终端相连;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本之前,所述方法还包括:
获取与所述测试设备相连的各个移动终端的设备标识;
根据各个移动终端的设备标识,生成设备标识列表,并显示所述设备标识列表;
接收用户输入的选择指令,将所述设备标识列表中所述选择指令指示的移动终端确定为所述待处理的移动终端。
7.根据权利要求1所述的方法,其特征在于,所述应用为至少两个;
根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本,包括:
针对每个应用,根据所述图形展示参数,分别获取该应用在所述待处理的移动终端上运行时占用资源的第一数据样本;
根据各所述第一数据样本,绘制并显示监控图形,包括:
采用不同的展示样式,按照采集时间的顺序将采集到的各个应用对应的数据样本绘制到同一监控图形上,其中,每个应用对应一种展示样式。
8.根据权利要求7所述的方法,其特征在于,所述监控图形为曲线图,每个应用对应一种曲线样式。
9.根据权利要求1所述的方法,其特征在于,根据各所述第一数据样本,绘制并显示监控图形,包括:
按照采集时间的顺序将各所述第一数据样本绘制成所述监控图形,并显示所述监控图形。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述图形展示参数包括以下中的至少一个:
监控图形中所包含的数据样本的总数量、采集周期、采集总时长;
所述资源包括以下中的至少一种:
内存资源、处理器资源。
11.根据权利要求1-9任一项所述的方法,其特征在于,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本,包括:
通过调用与所述待处理的移动终端的操作系统相对应的指令,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本。
12.一种应用测试装置,其特征在于,包括:
接收模块,用于接收用户输入的图形展示参数和应用的应用标识;
获取模块,用于根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;
显示模块,用于根据各所述第一数据样本,绘制并显示监控图形。
13.一种应用测试设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-11任一项所述的应用测试方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-11任一项所述的应用测试方法。
技术总结
本申请提供一种应用测试方法、装置、设备及存储介质。该方法包括:接收用户输入的图形展示参数和应用的应用标识;根据所述图形展示参数,获取所述应用在待处理的移动终端上运行时所占用资源的至少一个第一数据样本;根据各所述第一数据样本,绘制并显示监控图形。本申请能够在应用测试过程中按照用户输入的图形展示参数绘制相应的监控图形,避免用户需要先将监测的数据文本导出,然后再利用图形绘制软件将监测的数据文本绘制成所需图形的繁琐操作,从而提高应用测试的效率。
技术研发人员:赵薇
受保护的技术使用者:京东数字科技控股有限公司
技术研发日:.11.26
技术公布日:.02.21