一种自动化测试应用程序响应速度的方法及系统与流程

文档序号:20163764发布日期:2020-03-24 21:16阅读:216来源:国知局
一种自动化测试应用程序响应速度的方法及系统与流程

本申请涉及应用程序测试技术领域,尤其涉及一种自动化测试应用程序响应速度的方法及系统。



背景技术:

随着移动互联网的飞速发展,app(acceleratedparallelprocessing,应用程序)的竞争也进入了白热化阶段。

在功能一致的前提下,app的响应速度则成为了用户选择或放弃一款app的重要指标。一款app的性能一旦出现问题,用户很可能会因此而流失,能否留住用户的关键就在于性能的好坏。据统计,当app网页打开时间超过200ms时,用户开始流失;当app交互执行性能时间达到400ms时,性能开始出现隐患。因此,app的响应速度和其用户量息息相关,app的响应速度测试就变的尤为重要。

目前,对app响应速度的测试主要有以下几种方法:

1、掐表计时法,用户开始操作的同时按下秒表计时,响应结束后按下秒表停止,该方法简单粗暴,但该结果精度较低。

2、打印日志计时法,提前让开发在待测场景中打印日志,再统计时间,但该方法比较局限,所有场景均打日志不现实,且对竞品打日志不方便;

3、网络包分析法,通过分析网络包等间接手段计算时间,但是网络包时间和客户端展示时间还有一定的偏差,数据也不准确。

因此,如何有效的对应用程序的响应速度进行测试,是一项亟待解决的问题。



技术实现要素:

有鉴于此,本申请提供了一种自动化测试应用程序响应速度的方法,能够完全通过代码和算法对应用程序的响应速度进行自动化测试,提升了测试精度和效率。

本申请提供了一种自动化测试应用程序响应速度的方法,所述方法包括:

对目标应用程序的响应过程进行视频录制;

对录制的所述目标应用程序响应过程的视频进行视频分帧处理;

从经过视频分帧处理得到的图片中,确定出起始图和终止图;

获取录制的所述目标应用程序响应过程的视频的时长;

基于录制的所述目标应用程序响应过程的视频的时长,确定出分帧处理后每两帧图片的间隔时长;

基于每两帧图片的间隔时长,计算从所述起始图到所述终止图的时长。

优选地,所述对目标应用程序的响应过程进行视频录制包括:

基于接收到的命令行窗口命令,对目标应用程序的响应过程进行视频录制。

优选地,所述从经过视频分帧处理得到的图片中,确定出起始图和终止图包括:

当跳转前后的页面是静态时,从经过视频分帧处理得到的图片的第一张图片开始,从前往后对比,将第一次出现与第一张图片不同的图片确定为起始图;

从经过视频分帧处理得到的图片的最后一张图片开始,从后往前对比,将第一次出现与最后一张图片不同的图片确定为终止图。

优选地,所述从经过视频分帧处理得到的图片中,确定出起始图和终止图包括:

当跳转前后的页面出现循环动态的滚动图时,从经过视频分帧处理得到的图片的第一张图片开始,从前往后遍历,记录每一张不同的图片,当确定图片循环时,将第一次出现的任意一张重复图片确定为起始图;

从经过视频分帧处理得到的图片的最后一张图片开始,从后往前遍历,记录每一张不同的图片,当确定图片循环时,将第一次出现的任意一张重复图片确定为终止图。

优选地,所述获取录制的所述目标应用程序响应过程的视频的时长包括:

基于多媒体视频处理技术,获取录制的所述目标应用程序响应过程的视频的时长。

一种自动化测试应用程序响应速度的系统,包括:

视频录制模块,用于对目标应用程序的响应过程进行视频录制;

分帧处理模块,用于对录制的所述目标应用程序响应过程的视频进行视频分帧处理;

第一确定模块,用于从经过视频分帧处理得到的图片中,确定出起始图和终止图;

获取模块,用于获取录制的所述目标应用程序响应过程的视频的时长;

第二确定模块,用于基于录制的所述目标应用程序响应过程的视频的时长,确定出分帧处理后每两帧图片的间隔时长;

计算模块,用于基于每两帧图片的间隔时长,计算从所述起始图到所述终止图的时长。

优选地,所述视频录制模块具体用于:

基于接收到的命令行窗口命令,对目标应用程序的响应过程进行视频录制。

优选地,所述第一确定模块具体用于:

当跳转前后的页面是静态时,从经过视频分帧处理得到的图片的第一张图片开始,从前往后对比,将第一次出现与第一张图片不同的图片确定为起始图;

从经过视频分帧处理得到的图片的最后一张图片开始,从后往前对比,将第一次出现与最后一张图片不同的图片确定为终止图。

优选地,所述第一确定模块具体用于:

当跳转前后的页面出现循环动态的滚动图时,从经过视频分帧处理得到的图片的第一张图片开始,从前往后遍历,记录每一张不同的图片,当确定图片循环时,将第一次出现的任意一张重复图片确定为起始图;

从经过视频分帧处理得到的图片的最后一张图片开始,从后往前遍历,记录每一张不同的图片,当确定图片循环时,将第一次出现的任意一张重复图片确定为终止图。

优选地,所述获取模块具体用于:

基于多媒体视频处理技术,获取录制的所述目标应用程序响应过程的视频的时长。

综上所述,本申请公开了一种自动化测试应用程序响应速度的方法,当需要测试应用程序的响应速度时,首先对目标应用程序的响应过程进行视频录制,然后对录制的目标应用程序响应过程的视频进行视频分帧处理,从经过视频分帧处理得到的图片中,确定出起始图和终止图,获取录制的目标应用程序响应过程的视频的时长,基于录制的目标应用程序响应过程的视频的时长,确定出分帧处理后每两帧图片的间隔时长,最后基于每两帧图片的间隔时长,计算从起始图到终止图的时长,通过计算得出的从起始图到终止图的时长即可确定出应用程序的响应速度。本申请能够完全通过代码和算法对应用程序的响应速度进行自动化测试,提升了测试精度和效率。

附图说明

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

图1为本申请公开的一种自动化测试应用程序响应速度的方法实施例1的流程图;

图2为本申请公开的一种自动化测试应用程序响应速度的系统实施例1的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,为本本申请公开的一种自动化测试应用程序响应速度的方法实施例1的流程图,所述方法可以包括以下步骤:

s101、对目标应用程序的响应过程进行视频录制;

当需要对目标应用程序进行响应速度测试时,从目标应用开始响应时开始,对目标应用的响应过程进行视频录制,直至目标应用响应结束时停止录制。在实际的视频录制时,可以将安装有目标应用程序的手机通过数据线与测试电脑相连,在目标应用程序响应时,电脑通过数据线对手机的屏幕进行录制。

s102、对录制的目标应用程序响应过程的视频进行视频分帧处理;

当录制到目标应用程序的响应过程的视频后,对录制到的视频通过opencv(开源计算机视觉库)技术进行视频分帧,通过分帧得到视频的总帧数。需要说明的是,总帧数由视频的帧率决定,而视频的帧率是由安装应用程序的电子设备自身的性能决定,帧率越高分离出来的图片就越多,那么每两帧图片之间的间隔时间就越短,计算出来的结果精度就越高。

s103、从经过视频分帧处理得到的图片中,确定出起始图和终止图;

经过分帧处理后,可以得到很多渐变的图片,需要从这些图片中确定出应用程序开始响应的图片位置和结束响应的图片位置,即确定出起始图和终止图。

s104、获取录制的目标应用程序响应过程的视频的时长;

在对目标应用程序的响应过程进行视频录制的同时,进一步获取到录制的目标应用程序响应过程的视频的总时长。

s105、基于录制的目标应用程序响应过程的视频的时长,确定出分帧处理后每两帧图片的间隔时长;

当获取到录制的目标应用程序响应过程的视频的时长,以及通过分帧得到的视频总帧数后,即可确定出每两帧图片之间的间隔时长。

s106、基于每两帧图片的间隔时长,计算从起始图到终止图的时长。

根据确定的每两帧图片之间的间隔时长,可以计算出从起始图到终止图之间的时长,即为目标应用程序的响应速度。

综上所述,在上述实施例中,当需要测试应用程序的响应速度时,首先对目标应用程序的响应过程进行视频录制,然后对录制的目标应用程序响应过程的视频进行视频分帧处理,从经过视频分帧处理得到的图片中,确定出起始图和终止图,获取录制的目标应用程序响应过程的视频的时长,基于录制的目标应用程序响应过程的视频的时长,确定出分帧处理后每两帧图片的间隔时长,最后基于每两帧图片的间隔时长,计算从起始图到终止图的时长,通过计算得出的从起始图到终止图的时长即可确定出应用程序的响应速度。本申请能够完全通过代码和算法对应用程序的响应速度进行自动化测试,提升了测试精度和效率。

具体的,在上述实施例中,步骤101对目标应用程序的响应过程进行视频录制的其中一种实现方式,可以是:

通过adb(命令行窗口)命令,对目标应用程序的响应过程进行视频录制。

具体的,在上述实施例中,步骤103从经过视频分帧处理得到的图片中,确定出起始图和终止图的其中一种实现方式,可以是:

当跳转前后的页面是静态时,此时可完全自动对起止图进行鉴别,其原理是,从第一张图片开始,从前往后对比,第一次出现与第一张图片不同的图片即为响应的起始图,同理,同最后一张照片开始,从后往前对比,第一次出现与最后一张图不同的图片即为响应终止图,关于图片对比过程是通过boofcv(开源库用于计算机视觉和机器人应用程序)技术完成的,先对图片的特征点进行提取,然后对两张图片的特征点进行对比,经过大量实验发现0.85这个值可以作为经验值,当两张图片的相似值小于0.85时,就认为两张图不同,进而可找到发生变化的起止图和终止图。

具体的,在上述实施例中,步骤103从经过视频分帧处理得到的图片中,确定出起始图和终止图的另一种实现方式,可以是:

当跳转前后的页面出现循环动态的滚动图时,n个滚动图会循环播放,这种情况需要将这些滚动图提取出来,从第一张(或最后一张)图向后(前)遍历,记录每一张不同的图片,当发现图片循环时,可认为提取重复图片完毕,然后找到第一次出现的任意一张重复图片即为起始图或终止图,其中图片对比的方法,即对两张图片的特征点进行对比,经过大量实验发现0.85这个值可以作为经验值,当两张图片的相似值小于0.85时,就认为两张图不同。

具体的,在上述实施例中,步骤104获取录制的目标应用程序响应过程的视频的时长的其中一种实现方式,可以是:

通过ffmpeg(多媒体视频处理)技术,获取录制的所述目标应用程序响应过程的视频的时长。

如图2所示,为本本申请公开的一种自动化测试应用程序响应速度的系统实施例1的结构示意图,所述系统可以包括:

视频录制模块201,用于对目标应用程序的响应过程进行视频录制;

当需要对目标应用程序进行响应速度测试时,从目标应用开始响应时开始,对目标应用的响应过程进行视频录制,直至目标应用响应结束时停止录制。在实际的视频录制时,可以将安装有目标应用程序的手机通过数据线与测试电脑相连,在目标应用程序响应时,电脑通过数据线对手机的屏幕进行录制。

分帧处理模块202,用于对录制的目标应用程序响应过程的视频进行视频分帧处理;

当录制到目标应用程序的响应过程的视频后,对录制到的视频通过opencv(开源计算机视觉库)技术进行视频分帧,通过分帧得到视频的总帧数。需要说明的是,总帧数由视频的帧率决定,而视频的帧率是由安装应用程序的电子设备自身的性能决定,帧率越高分离出来的图片就越多,那么每两帧图片之间的间隔时间就越短,计算出来的结果精度就越高。

第一确定模块203,用于从经过视频分帧处理得到的图片中,确定出起始图和终止图;

经过分帧处理后,可以得到很多渐变的图片,需要从这些图片中确定出应用程序开始响应的图片位置和结束响应的图片位置,即确定出起始图和终止图。

获取模块204,用于获取录制的目标应用程序响应过程的视频的时长;

在对目标应用程序的响应过程进行视频录制的同时,进一步获取到录制的目标应用程序响应过程的视频的总时长。

第二确定模块205,用于基于录制的目标应用程序响应过程的视频的时长,确定出分帧处理后每两帧图片的间隔时长;

当获取到录制的目标应用程序响应过程的视频的时长,以及通过分帧得到的视频总帧数后,即可确定出每两帧图片之间的间隔时长。

计算模块206,用于基于每两帧图片的间隔时长,计算从起始图到终止图的时长。

根据确定的每两帧图片之间的间隔时长,可以计算出从起始图到终止图之间的时长,即为目标应用程序的响应速度。

综上所述,在上述实施例中,当需要测试应用程序的响应速度时,首先对目标应用程序的响应过程进行视频录制,然后对录制的目标应用程序响应过程的视频进行视频分帧处理,从经过视频分帧处理得到的图片中,确定出起始图和终止图,获取录制的目标应用程序响应过程的视频的时长,基于录制的目标应用程序响应过程的视频的时长,确定出分帧处理后每两帧图片的间隔时长,最后基于每两帧图片的间隔时长,计算从起始图到终止图的时长,通过计算得出的从起始图到终止图的时长即可确定出应用程序的响应速度。本申请能够完全通过代码和算法对应用程序的响应速度进行自动化测试,提升了测试精度和效率。

具体的,在上述实施例中,视频录制模块对目标应用程序的响应过程进行视频录制的其中一种实现方式,可以是:

通过adb(命令行窗口)命令,对目标应用程序的响应过程进行视频录制。

具体的,在上述实施例中,第一确定模块从经过视频分帧处理得到的图片中,确定出起始图和终止图的其中一种实现方式,可以是:

当跳转前后的页面是静态时,此时可完全自动对起止图进行鉴别,其原理是,从第一张图片开始,从前往后对比,第一次出现与第一张图片不同的图片即为响应的起始图,同理,同最后一张照片开始,从后往前对比,第一次出现与最后一张图不同的图片即为响应终止图,关于图片对比过程是通过boofcv(开源库用于计算机视觉和机器人应用程序)技术完成的,先对图片的特征点进行提取,然后对两张图片的特征点进行对比,经过大量实验发现0.85这个值可以作为经验值,当两张图片的相似值小于0.85时,就认为两张图不同,进而可找到发生变化的起止图和终止图。

具体的,在上述实施例中,第一确定模块从经过视频分帧处理得到的图片中,确定出起始图和终止图的另一种实现方式,可以是:

当跳转前后的页面出现循环动态的滚动图时,n个滚动图会循环播放,这种情况需要将这些滚动图提取出来,从第一张(或最后一张)图向后(前)遍历,记录每一张不同的图片,当发现图片循环时,可认为提取重复图片完毕,然后找到第一次出现的任意一张重复图片即为起始图或终止图,其中图片对比的方法,即对两张图片的特征点进行对比,经过大量实验发现0.85这个值可以作为经验值,当两张图片的相似值小于0.85时,就认为两张图不同。

具体的,在上述实施例中,获取模块获取录制的目标应用程序响应过程的视频的时长的其中一种实现方式,可以是:

通过ffmpeg(多媒体视频处理)技术,获取录制的所述目标应用程序响应过程的视频的时长。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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