应用测试方法、移动终端及存储介质与流程

文档序号:13004451阅读:238来源:国知局
应用测试方法、移动终端及存储介质与流程

本发明涉及终端技术领域,尤其涉及一种应用测试方法、移动终端及存储介质。



背景技术:

随着互联网以及电子技术的迅速发展,智能终端的功能越来越强大,以智能手机为例,安装在智能手机上的应用程序(application,简称应用)也越来越多,与此同时,人们对智能手机的系统以及安装在智能手机上的应用程序体验要求也越来越高。

目前,应用app开发为了满足用户的需求,随着版本的升高,应用app占用的系统资源(如内存,cpu等)也越来越多。虽然智能手机的硬件设备也在不断提升,但是不断增大的系统和应用程序依旧给智能手机的体验造成很大的压力,其中应用启动速度就是很重要的一种体验。另外在应用较多时,应用之间兼容性、应用与系统之间的兼容性,以及对应用的管控策略的有效性等都是影响用户体验的重要项。因此,在智能终端出厂前即对系统中应用进行全面测试是非常有必要的。

现有技术中,应用测试一般常用方法是通过手动启动一个个需要测试的应用,再检测应用启动运行期间的系统以及应用的各项测试数据。但是,随着应用程序数量的不断增多,若手动一个个启动应用,则需要大量的测试人员,从而导致测试用人工成本的提升,同时,人工测试应用的测试操作比较繁琐,因此,测试耗时较长,从而导致测试速率低。



技术实现要素:

本发明的目的在于提供一种应用测试方法、移动终端及存储介质,以解决现有的移动终端的应用测试速率低,且测试用人工成本高的问题。

为了解决上述问题,本发明提供了一种应用测试方法,其应用于移动终端,应用测试方法包括如下步骤:

通过调试桥获取预设应用测试脚本;

执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试;

获取第一系统的第一测试数据,第一系统为移动终端当前运行的系统。

作为本发明的进一步改进,执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试的步骤,包括:

执行预设应用测试脚本以通过移动终端系统中的应用管理服务获取移动终端系统中所有应用组件信息;

对所有应用组件信息进行过滤匹配,确定具有桌面图标的目标应用组件信息,目标应用组件信息对应目标应用;

依次启动目标应用,并对目标应用进行测试。

作为本发明的进一步改进,对所有应用组件信息进行过滤匹配,确定具有桌面图标的目标应用组件信息,目标应用组件信息对应目标应用的步骤,包括:

获取移动终端系统中的每一个应用组件对应的应用的信息描述文件;

根据信息描述文件确定与之对应的应用组件是否为具有桌面图标的目标应用组件。

作为本发明的进一步改进,预设应用测试脚本包括所有具有桌面图标的目标应用的按键点击事件,执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试的步骤,包括:

执行预设应用测试脚本以模拟按键点击事件依次启动与按键点击事件对应的目标应用,并对目标应用进行测试。

作为本发明的进一步改进,应用测试方法还包括:

接收到用户输入的升级指令时,根据升级指令将移动终端当前运行的第一系统升级至第二系统;

通过调试桥获取预设应用测试脚本;

执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试;

获取第二系统的第二测试数据。

作为本发明的进一步改进,获取第二系统的第二测试数据的步骤之后,还包括:

对第一测试数据和第二测试数据进行差异性分析,以获得差异性分析报告。

作为本发明的进一步改进,第一测试数据包括第一运行参数,第二测试数据包括第二运行参数;对第一测试数据和第二测试数据进行差异性分析,以获得差异性分析报告的步骤,包括:

比对第一运行参数与第二运行参数,以获得第一系统与第二系统的运行性能差异性数据信息,第一运行参数包括第一应用界面打开时间和第一命令执行时间,第二运行参数包括第二应用界面打开时间和第二命令执行时间。

作为本发明的进一步改进,通过调试桥获取预设应用测试脚本的步骤之前,还包括:

通过调试桥获取移动终端系统中应用列表以及所有第一应用组件信息;

从所有第一应用组件信息中识别出具有桌面图标的第二应用组件信息;

按照预设规则在第二应用组件信息筛选出目标应用组件信息,目标应用组件信息对应目标应用;

将所有的目标应用加入至预设应用测试脚本中。

为了解决上述问题,本发明还提供了一种移动终端,其包括处理器、与处理器耦接的存储器;

处理器、存储器在工作时能够实现上述应用测试方法中的步骤。

为了解决上述问题,本发明还提供了一种存储介质,其上存储有程序数据,该程序数据被处理器执行时实现上述应用测试方法中的步骤。

与现有技术相比,本发明通过调试桥获取预设应用测试脚本后,自动且依次启动具有桌面图标的目标应用,以进行目标应用的测试,无需人工一个个启动目标应用,从而降低了测试用人工成本,此外,终端自动依次启动目标应用,并对目标应用进行测试,从而提升了测试速率。

附图说明

图1为本发明应用测试方法第一个实施例的流程示意图;

图2为本发明应用测试方法中启动并测试目标应用步骤的一个实施例的流程示意图;

图3为本发明应用测试方法中组件信息过滤以确定目标应用步骤的一个实施例的流程示意图;

图4为本发明应用测试方法第二个实施例的流程示意图;

图5为本发明应用测试方法第三个实施例的流程示意图;

图6为本发明应用测试方法第四个实施例的流程示意图;

图7为本发明应用测试方法第五个实施例的流程示意图;

图8为本发明应用测试方法第六个实施例的流程示意图;

图9为本发明移动终端第一个实施例的功能模块示意图;

图10为本发明移动终端中第一处理模块一个实施例的功能模块示意图;

图11为本发明移动终端中组件信息过滤子模块一个实施例的功能模块示意图;

图12为本发明移动终端第二个实施例的功能模块示意图;

图13为本发明移动终端第三个实施例的功能模块示意图;

图14为本发明移动终端第四个实施例的功能模块示意图;

图15为本发明移动终端第五个实施例的功能模块示意图;

图16为本发明移动终端第六个实施例的功能模块示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。

图1展示了本发明应用测试方法的一个实施例。在本实施例中,该应用测试方法应用于移动终端,具体地,该应用测试方法包括如下步骤:

步骤s1,通过调试桥获取预设应用测试脚本。

本实施例中,在移动终端系统为android系统时,调试桥为android调试桥,下同。

步骤s2,执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试。

需要说明的是,本实施例中的目标应用可以是移动终端系统中具有桌面图标的所有应用,或者移动终端系统中具有桌面图标的所有第三方应用,或者移动终端系统中具有桌面图标的所有系统应用。

在上述实施例的基础上,其他实施例中,具体地,参见图2,步骤s2,包括:

步骤s201,执行预设应用测试脚本以通过移动终端系统中的应用管理服务获取移动终端系统中所有应用组件信息。

android(安卓)系统是google(谷歌)推出的一款开源的操作系统,目前广泛应用于手机等手持嵌入式设备,android系统是基于linux内核的,android的系统服务包括:应用包管理服务(packagemanagerservice),活动管理服务(activitymanagerservice),窗口管理服务(windowmanagerservice)等。其中,应用包管理服务(packagemanagerservice)主要是用来处理应用的安装,卸载和应用程序信息的获取的,通过应用包管理服务可以获取移动终端系统中所有应用组件信息。

步骤s202,对所有应用组件信息进行过滤匹配,确定具有桌面图标的目标应用组件信息,目标应用组件信息对应目标应用。

进一步地,在上述实施例的基础上,其他实施例中,具体地,参见图3,步骤s202,包括:

步骤s2021,获取移动终端系统中的每一个应用组件对应的应用的信息描述文件。

需要说明的是,android系统中,androidmanifest.xml文件是整个应用程序的信息描述文件,定义了应用程序中包含的activity,service,contentprovider和broadcastreceiver组件信息。每个应用程序在根目录下必须包含一个androidmanifest.xml文件,且文件名不能修改。

androidmanifest.xml文件主要提供了如下的信息描述:命名应用程序的java包,这个包名将用来唯一标识这个应用程序;描述了应用程序中包含的activity,service,contentprovider和broadcastreceiver组件;定义了应用程序运行的进程;声明了应用程序需要访问受限api所需的权限;声明其他程序如果希望访问本程序组件所需要的权限;声明应用程序能够正常运行所需要的最小级别的ophoneapi;列出应用程序运行所需要连接的库。

步骤s2022,根据信息描述文件确定与之对应的应用组件是否为具有桌面图标的目标应用组件。

具体的,通过应用程序中的androidmanifest.xml文件中的<intent-filter>结构中的<action/>、<category/>来确定应用组件是否具有桌面图标。

例如,如下为一个应用程序中androidmanifest.xml文件中的<intent-filter>结构内容,下面<action/>、<category/>中的内容即表示具有桌面启动图标。

<intent-filter>

<actionandroid:name=″android.intent.action.main″/>

<categoryandroid:name=″android.intent.category.launcher″/>

</intent-filter>

本实施例通过每一个应用组件的信息描述文件判断该应用组件是否为具有桌面图标的目标应用组件,因此,无需在终端安装额外的用于过滤匹配应用组件信息的软件模块,因此,进一步降低了本发明应用测试方法的设计成本。

步骤s203,依次启动目标应用,并对目标应用进行测试。

本实施例采用系统自带的应用管理服务以获取所有应用组件信息,无需在终端安装额外的用于获取组件信息的软件模块,因此,降低了本发明应用测试方法的设计成本。

步骤s3,获取第一系统的第一测试数据,第一系统为移动终端当前运行的系统。

需要说明的是,本实施例中的第一测试数据可以包括当前内存、cpu等系统资源的占用情况,还可以包括每个应用占用内存、cpu等系统资源的情况。

本实施例通过调试桥获取预设应用测试脚本后,自动且依次启动具有桌面图标的目标应用,以进行目标应用的测试,无需人工一个个启动目标应用,从而降低了测试用人工成本,此外,终端自动依次启动目标应用,并对目标应用进行测试,从而提升了测试速率。

将本发明的应用测试方法应用于移动终端的使用过程中,若无需进行过滤操作,则可以进一步提升测试速率。因此,上述实施例的基础上,其他实施例中,预设应用测试脚本包括所有具有桌面图标的目标应用的按键点击事件,具体地,参见图4,步骤s2,还包括:

步骤s210,执行预设应用测试脚本以模拟按键点击事件依次启动与按键点击事件对应的目标应用,并对目标应用进行测试。

具体的,在预设应用测试脚本中包括adbshellinputtapx,y;即表示在屏幕上点击坐标点(x,y)的位置,例如adbshellinputtap50250,表示在屏幕上点击坐标点x=50y=250的位置。因此通过事先在预设应用测试脚本中写入每个桌面图标的按键点击事件,即可依次启动移动终端中所有具有桌面图标的应用。

本实施例将需要测试的目标应用对应的按键点击事件进行预存,因此,在测试过程中,无需进行过滤操作,且直接测试与按键点击事件对应目标应用即可,从而进一步提升了测试速率。

将本发明的应用测试方法应用于移动终端的使用过程中,随着版本的升高,需要即时对升级后的版本进行全面测试,以便升级后的版本快速满足用户提出的新的程序体验要求。因此,上述实施例的基础上,其他实施例中,参见图5,该应用测试方法还包括:

步骤s10,接收到用户输入的升级指令时,根据升级指令将移动终端当前运行的第一系统升级至第二系统。

具体地,当移动终端通过网络(譬如:移动通信网络或无线网络)接收到最新版本系统软件时,输出显示升级提示对话框,若获取到用户在该升级提示对话框内输入的确认触发信号,则生成升级指令。

步骤s11,通过调试桥获取预设应用测试脚本。

步骤s12,执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试。

需要说明的是,该步骤的相关技术细节在上述实施例中已经清楚描述,为了减少重复,在此不再赘述。

步骤s13,获取第二系统的第二测试数据。

需要说明的是,本实施例中的第二测试数据可以包括当前内存、cpu等系统资源的占用情况,还可以包括每个应用占用内存、cpu等系统资源的情况。

本实施例检测到系统升级完成时,自动对升级后系统的所有应用进行测试,因此,无需用户在升级完成后,人工操作对升级后系统中应用进行测试,从而提升了用户使用体验。

将本发明的应用测试方法应用于移动终端的使用过程中,需要获知升级后版本与当前版本之间的差异性。因此,上述实施例的基础上,其他实施例中,参见图6,步骤s13之后,还包括:

步骤s20,对第一测试数据和第二测试数据进行差异性分析,以获得差异性分析报告。

需要说明的是,本实施例中的第一测试数据和第二测试数据的类型相同,例如第一测试数据中包括每个应用占用内存数据,则第二测试数据中也包括每个应用占用内存数据。此外,本实施例通过计算第一测试数据和第二测试数据中同类型数据的差值,以便分析测试两个系统版本中应用的使用性能,后续作为系统优化或者应用性能优化的参考。

本实施例通过比对第一测试数据和第二测试数据,以获得差异性分析报告,以便应用测试开发人员根据该差异性分析报告,进一步明确研究方向以及为软件前沿研发提供数据支持,从而进一步提升了软件的开发速率。

将本发明的应用测试方法应用于移动终端的使用过程中,运行性能是移动终端的重要指标。因此,上述实施例的基础上,其他实施例中,第一测试数据包括第一运行参数,第二测试数据包括第二运行参数;具体地,参见图7,步骤s20,包括:

步骤s200,比对第一运行参数与第二运行参数,以获得第一系统与第二系统的运行性能差异性数据信息,第一运行参数包括第一应用界面打开时间和第一命令执行时间,第二运行参数包括第二应用界面打开时间和第二命令执行时间。

具体地,在执行该应用测试脚本以依次启动移动终端中所有具有桌面图标的目标应用时,统计每个目标应用的界面打开时间和命令执行时间,以供后续系统版本升级时,再次启动具有桌面图标的全部目标应用时,后续可以再次统计每个目标应用的界面打开时间和命令执行时间,比较不同系统版本中同一目标应用的界面打开时间和命令执行时间长短,测试系统运行性能差异。

统计每个目标应用的界面打开时间和命令执行时间的实现代码如下:

starting:intent{cmp=com.android.calculator2/.calculator}

status:ok

activity:com.android.calculator2/.calculator

thistime:96

totaltime:96

waittime:109

complete

其中,totaltime为界面打开时间(ms),waittime为命令执行时间(ms)。

本实施例通过第一运行参数与第二运行参数的比对,以获得第一系统与第二系统的运行性能差异性数据信息,以便软件开发人员根据该运行性能差异性数据信息,即时获知两者的运行性能差异,缩短获知两者的运行性能差异所需的时长,以及所需的人力成本,从而进一步提升了测试软件的开发速率,以及降低了测试软件的开发成本。

将本发明的应用测试方法应用于移动终端的使用过程中,需要根据用户的需要确定需要测试的目标应用。因此,上述实施例的基础上,其他实施例中,参见图8,步骤s1之前,还包括:

步骤s30,通过调试桥获取移动终端系统中应用列表以及所有第一应用组件信息。

步骤s31,从所有第一应用组件信息中识别出具有桌面图标的第二应用组件信息。

步骤s32,按照预设规则在第二应用组件信息筛选出目标应用组件信息,目标应用组件信息对应目标应用。

需要说明的是,本实施例中预设规则可以用黑名单或白名单等定义出目标应用,也可以定义为具有桌面图标的所有应用、所有第三方应用、所有系统应用、所有目标类型的应用(例如视频类应用、通讯类应用等)。

步骤s33,将所有的目标应用加入至预设应用测试脚本中。

本实施例通过调试桥获取所有第一应用组件信息,并自动从所有第一应用组件信息中识别出所有具有桌面图标的第二应用组件信息,减少了人工操作步骤,从而进一步提升了用户使用体验。此外,本发明可以根据用户的需求,从第二应用组件信息筛选出目标应用组件信息,从而只对目标应用进行测试,减少了所需测试的目标应用的数量,从而进一步提升了测试速率,也提升了测试有效率。

图9展示了本发明移动终端的一个实施例。在本实施例中,该移动终端包括第一测试脚本获取模块10、第一处理模块11和第一测试数据获取模块12。

其中,第一测试脚本获取模块10,用于通过调试桥获取预设应用测试脚本;第一处理模块11,用于执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试;第一测试数据获取模块12,用于获取第一系统的第一测试数据,第一系统为移动终端当前运行的系统。

在上述实施例的基础上,其他实施例中,参见图10,第一处理模块11包括组件信息获取子模块111、组件信息过滤子模块112和测试子模块113。

其中,组件信息获取子模块111,用于执行预设应用测试脚本以通过移动终端系统中的应用管理服务获取移动终端系统中所有应用组件信息;组件信息过滤子模块112,用于对所有应用组件信息进行过滤匹配,确定具有桌面图标的目标应用组件信息,目标应用组件信息对应目标应用;测试子模块113,用于依次启动目标应用,并对目标应用进行测试。

在上述实施例的基础上,其他实施例中,参见图11,组件信息过滤子模块112包括信息描述文件获取单元1120和目标应用组件确定单元1121。

其中,信息描述文件获取单元1120,用于获取移动终端系统中的每一个应用组件对应的应用的信息描述文件;目标应用组件确定单元1121,用于根据信息描述文件确定与之对应的应用组件是否为具有桌面图标的目标应用组件。

在上述实施例的基础上,其他实施例中,预设应用测试脚本包括所有具有桌面图标的目标应用的按键点击事件,参见图12,第一处理模块11包括测试单元110。其中,该测试单元110,用于执行预设应用测试脚本以模拟按键点击事件依次启动与按键点击事件对应的目标应用,并对目标应用进行测试。

在上述实施例的基础上,其他实施例中,参见图13,该移动终端还包括升级模块20、第二测试脚本获取模块21、第二处理模块22和第二测试数据获取模块23。

其中,升级模块20,用于接收到用户输入的升级指令时,根据升级指令将移动终端当前运行的第一系统升级至第二系统;第二测试脚本获取模块21,用于通过调试桥获取预设应用测试脚本;第二处理模块22,用于执行预设应用测试脚本以依次启动移动终端中预设的具有桌面图标的目标应用,并对目标应用进行测试;第二测试数据获取模块23,用于获取第二系统的第二测试数据。

在上述实施例的基础上,其他实施例中,参见图14,该移动终端还包括差异性分析模块30。其中,差异性分析模块30,用于对第一测试数据和第二测试数据进行差异性分析,以获得差异性分析报告。

在上述实施例的基础上,其他实施例中,参见图15,差异性分析模块30包括比对单元300。其中,比对单元300,用于比对第一运行参数与第二运行参数,以获得第一系统与第二系统的运行性能差异性数据信息,第一运行参数包括第一应用界面打开时间和第一命令执行时间,第二运行参数包括第二应用界面打开时间和第二命令执行时间。

在上述实施例的基础上,其他实施例中,参见图16,该移动终端还包括组件信息获取模块40、组件信息识别模块41、组件信息筛选模块42和添加模块43。

其中,组件信息获取模块40,用于通过调试桥获取移动终端系统中应用列表以及所有第一应用组件信息;组件信息识别模块41,用于从所有第一应用组件信息中识别出具有桌面图标的第二应用组件信息;组件信息筛选模块42,用于按照预设规则在第二应用组件信息筛选出目标应用组件信息,目标应用组件信息对应目标应用;添加模块43,用于将所有的目标应用加入至预设应用测试脚本中。

关于上述八个实施例移动终端中各模块实现技术方案的其他细节,可参见上述实施例中的应用测试方法中的描述,此处不再赘述。

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

本实施例还提供了一种移动终端,该移动终端包括处理器和存储器,该处理器耦接该存储器。该存储器存储有上述实施例描述的功能模块。该处理器执行该存储器存储的上述实施例描述的功能模块,可以实现本申请提供的应用测试方法。

本实施例还提供了一种存储介质,用于存储程序数据,其包含用于执行本申请上述应用测试方法实施例所设计的程序数据。通过执行该存储介质中存储的程序数据,可以实现本申请提供的应用测试方法。

本实施例中的存储介质可以是只读存储器、可存储静态信息和指令的静态存储设备、随机存取存储器、或者可存储信息和指令的动态存储设备,也可以是电可擦可编程只读存储器、只读光盘、或其他光盘存储、光碟存储、磁盘存储介质或者其他磁存储设备。

以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制与以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。

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