一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用程序性能测试方法、装置、设备以及介质与流程

2022-09-07 13:35:56 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种应用程序性能测试方法、装置、设备以及介质。


背景技术:

2.在应用程序的发版以及使用过程中,会对应用程序的性能进行评测分析,以为后续应用程序的产品优化明确方向。目前通常采用基于视频录制的关键帧标注方法,将对应用程序的操作过程录制成视频,再采用逐帧计算并分类的方法,逐帧计算峰值信噪比、均方差等等客观指标,根据这些客观指标再区分出视频中变化和稳定的阶段,然后使用机器学习的方法对不同阶段的画面做分类,标记处开始阶段和结束阶段,最后推算出应用程序响应用户操作的起始帧和终止帧,以计算出应用程序响应用户操作的响应耗时。
3.目前在实际应用中,由于应用程序本身场景复杂性增强,导致开始或结束阶段分类误差较大,甚至丢失以至于检测失败,更重要的是,逐帧计算的效率低下,因此难以满足当下对应用程序性能测试的效率和准确率的需求。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种应用程序性能测试方法、装置、设备以及介质。
5.本公开提供了一种应用程序性能测试方法,该方法包括:
6.获取针对应用程序执行测试动作而生成的视频文件;所述视频文件能够展示所述应用程序响应测试操作的界面变化;
7.对所述视频文件进行特征提取得到所述视频文件的光流特征;
8.通过预训练的关键帧检测模型对所述视频文件的光流特征进行检测得到所述视频文件中响应所述检测操作的起始帧相对位置和结束帧相对位置;其中,所述关键帧检测模型为深度卷积网络,并以待测视频文件的光流特征为输入,以起始帧相对位置和结束帧相对位置为输出;
9.根据所述起始帧相对位置和所述结束帧相对位置和所述视频文件的帧率,确定所述应用程序的响应耗时。
10.在一些实施例中,所述关键帧检测模型为带有跨层连接的深度卷积模型;其中,所述跨层连接用于将不同深度的卷积层输出的结果进行相连和拼接,以将不同时间和空间尺度的卷积层特征融合。
11.在一些实施例中,所述深度卷积模型包括:多个卷积层、多个最大值下采样层、多个自适应下采样层、1个拼接层和多个全连接层;其中,所述多个卷积层的数量比所述多个最大值下采样层的数量多1;
12.所述多个卷积层中的一个卷积层的输出连接一个自适应下采样层;所述多个卷积层中其余的每个卷积层的输出连接一个最大值下采样层,每个最大值下采样层的输出连接
下一深度的卷积层;且连接自适应下采样层的卷积层的深度大于连接最大值下采样层的每个卷积层的深度;
13.连接最大值下采样层的每个卷积层的输出与一个自适应下采样层进行跨层连接;
14.所述多个自适应下采样层的输出均连接所述拼接层;
15.所述拼接层的输出连接一个全连接层,且所述多个全连接层串联连接,且串联连接的最后一个全连接层的输出为所述视频文件中响应所述检测操作的起始帧相对位置和结束帧相对位置。
16.在一些实施例中,所述深度卷积模型包括:4个卷积层、3个最大值下采样层、4个自适应下采样层、1个拼接层和2个全连接层;
17.第一卷积层用于针对所述视频文件的光流特征进行卷积处理,所述第一卷积层的输出连接第一最大值下采样层,且第一卷积层的输出与第一自适应下采样层进行跨层连接;第一最大值下采样层的输出连接第二卷积层;
18.第二卷积层的输出连接第二最大值下采样层,且第二卷积层的输出与第二自适应下采样层进行跨层连接;第二最大值下采样层的输出连接第三卷积层;
19.第三卷积层的输出连接第三最大值下采样层,且第三卷积层的输出与第三自适应下采样层进行跨层连接;第三最大值下采样层的输出连接第四卷积层;
20.第四卷积层的输出连接第四自适应下采样层;
21.第一自适应下采样层的输出、第二自适应下采样层的输出、第三自适应下采样层的输出和第四自适应下采样层的输出均连接所述拼接层;
22.所述拼接层的输出连接第一全连接层;所述第一全连接层的输出连接第二全连接层;
23.所述第二全连接层的输出为所述视频文件中响应所述检测操作的起始帧相对位置和结束帧相对位置。
24.在一些实施例中,所述根据所述起始帧相对位置和所述结束帧相对位置和所述视频文件的帧率,确定所述应用程序的响应耗时包括:
25.基于所述视频文件的时长和帧率,确定所述视频文件的帧数;
26.基于所述起始帧相对位置和所述视频文件的帧数,确定起始帧位置;
27.基于所述结束帧相对位置和所述视频文件的帧数,确定结束帧位置;
28.基于所述起始帧位置和所述结束帧位置,确定所述应用程序针对所述检测操作的响应耗时。
29.在一些实施例中,所述起始帧位置为y1
×
n;所述结束帧位置为y2
×
n;其中,y1为所述起始帧相对位置,且y1∈[0,1];y2为所述结束帧相对位置,且y2∈[0,1];n为所述视频文件的帧数。
[0030]
在一些实施例中,所述基于所述起始帧位置和所述结束帧位置,确定所述应用程序针对所述检测操作的响应耗时包括:
[0031]
基于所述视频文件的帧率,确定相邻两帧之间的时长;
[0032]
基于所述起始帧位置和所述结束帧位置,确定起始帧与结束帧之间包括的帧数;
[0033]
基于相邻两帧之间的时长和所述起始帧与结束帧之间包括的帧数,确定所述应用程序针对所述检测操作的响应耗时。
[0034]
在一些实施例中,所述视频文件的帧率为固定帧率。
[0035]
本公开还提供了一种应用程序性能测试装置,该装置包括:
[0036]
获取单元,用于获取针对应用程序执行测试动作而生成的视频文件;所述视频文件能够展示所述应用程序响应测试操作的界面变化;
[0037]
提取单元,用于对所述视频文件进行特征提取得到所述视频文件的光流特征;
[0038]
第一确定单元,用于通过预训练的关键帧检测模型对所述视频文件的光流特征进行检测得到所述视频文件中响应所述检测操作的起始帧相对位置和结束帧相对位置;其中,所述关键帧检测模型为深度卷积网络,并以待测视频文件的光流特征为输入,以起始帧相对位置和结束帧相对位置为输出;
[0039]
第二确定单元,用于根据所述起始帧相对位置和所述结束帧相对位置和所述视频文件的帧率,确定所述应用程序的响应耗时。
[0040]
在一些实施例中,所述关键帧检测模型为带有跨层连接的深度卷积模型;其中,所述跨层连接用于将不同深度的卷积层输出的结果进行相连和拼接,以将不同时间和空间尺度的卷积层特征融合。
[0041]
本公开还提供了一种电子设备,该电子设备包括:处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行上述任一种方法的步骤。
[0042]
本公开还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行上述任一种方法的步骤。
[0043]
本公开实施例提供的技术方案与现有技术相比具有如下优点:
[0044]
本公开实施例提供的应用程序性能测试方法中,通过获取针对应用程序执行测试动作而生成的视频文件;可对视频文件进行特征提取得到视频文件的光流特征;进而通过关键帧检测模型检测光流特征,输出视频文件中响应检测操作的起始帧相对位置和结束帧相对位置;从而根据起始帧相对位置和结束帧相对位置以及视频文件的帧率,确定应用程序的响应耗时。由此,可基于光流特征确定起始帧相对位置和结束帧相对位置,而不是直接基于逐帧图像特征本身,由此可以屏蔽无意义的界面变化和无关画面带来的影响,对应用程序的界面内容变化具有较强的适应能力,从而该方法的适用性较强;同时,基于光流特征确定起始帧相对位置和结束帧相对位置,而不是基于具体的标志物或是阶段分类,提高了确定关键帧(即起始帧和结束帧)的效率和准确性,从而改善了检测效率较低的问题;此外,由于适用性较强,鲁棒性较高,提高了检测成功的概率,降低了人工复查的比例,从而将此了检测后人工复查的人力成本,进一步提高了检测效率。
附图说明
[0045]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0046]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0047]
图1为本公开实施例提供的一种应用程序性能测试方法的流程示意图;
[0048]
图2为本公开实施例的方法中光流特征提取原理示意图;
[0049]
图3为本公开实施例的方法中关键帧确定方式示意图;
[0050]
图4为本公开实施例的方法中一种深度卷积模型的示意图;
[0051]
图5为本公开实施例提供的方法与相关技术的对比示意图;
[0052]
图6为本公开实施例提供的一种应用程序性能测试装置的结构示意图;
[0053]
图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
[0054]
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0055]
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0056]
本公开实施例提供的应用程序性能测试方法基于光流特征提取和关键帧检测模型(例如深度卷积模型)来实现。其中,该方法基于光流对图像进行特征提取,而不是直接基于逐帧图像特征本身,由此可以屏蔽无意义的界面变化和无关画面带来的影响,对app界面内容变化具有较强的适应能力,适用性更强,兼容性更强,能够大幅减少人工校准的成本,有利于提高检测效率;基于光流的变化,而不是基于具体的标志物或是阶段进行分类,进一步改善检测效率下降的问题;基于上述,更强的适用性和鲁棒性降低了检测后人工复查的人力成本,进一步提高了检测效率。同时,该方法采用深度卷积模型来直接计算出关键帧的位置,而不是逐帧计算客观指标然后再分类,由于模型计算效率较高,其相比传统的基于逐帧计算psnr(peak signal to noise ratio,峰值信噪比)等的方法,基于深度卷积模型直接确定出关键帧位置的速度更快,从而也使得检测效率更高。
[0057]
下面结合图1至图7对本公开实施例提供的应用程序性能测试方法、装置、设备以及介质进行示例性说明。
[0058]
示例性地,图1为本公开实施例提供的一种应用程序性能测试方法的流程示意图。参照图1,该方法可包括:
[0059]
s101、获取针对应用程序执行测试动作而生成的视频文件;视频文件能够展示应用程序响应测试操作的界面变化。
[0060]
其中,视频文件为录制应用程序响应操作的过程中的界面变化而得到的视频文件。该视频文件中包括用于确定应用程序响应耗时的关键帧,下文中分别以起始帧和结束帧示出。
[0061]
示例性地,该视频文件可采用外置摄像头录制,由此不会占用系统资源,从而不影响被测应用程序的响应时间,使得性能指标提取的准确性较高。或者,该视频文件可采用终端内置的录屏工具录制,例如采用安卓系统的终端可通过在app内置安卓调试桥(adb)命令实现录屏,如此可不必额外设置摄像头,从而简化需要用到的硬件设备。
[0062]
s102、对视频文件进行特征提取得到视频文件的光流特征。
[0063]
其中,光流是指目标、场景或摄像机在连续两帧图像间运动时造成的目标的运动;它是图像在平移过程中的二维矢量场,是通过二维图像来表示物体点三维运动的速度场,
反映了微小时间间隔内由于运动形成的图像变化,以确定图像点上的运动方向和运动速率。本实施例中,对光流特征的检测方式可采用算法实现,其具体实现的算法可采用本领域技术人员可知的任一种算法,例如包括但不限于光流分析法中的稠密光流(是一种针对图像进行逐点匹配的图像配准方法)、稀疏光流(是一种专门针对图像上稀疏的点进行图像配准的方法)等,又例如可基于opencv(跨平台计算机视觉和机器学习软件库)中的光流提取应用程序接口(application programming interface,api)进行提取,本公开实施例对此不限定。
[0064]
针对视频文件而言,光流反映了相邻序列像素的变化,同时去除了无意义的静止画面的内容,防止静态内容的巨大变化而造成的干扰,即可以让模型对于不同app以及不同的识别场景具备一定程度的鲁棒性。本实施例中的光流提取方法包括但不限于光流分析法中的稠密光流、稀疏光流或能够反映像素变化的变体等,下文图2中,以基于opencv中的光流提取应用程序接口(application programming interface,api)得到的光流为例,对光流特征提取原理进行示例性说明。
[0065]
示例性地,图2为本公开实施例的方法中光流特征提取原理示意图,示出了光流特征提取的原理。其中,211和212代表录屏视频中,点击搜索按钮前后两帧的内容;213代表提取的光流特征图。由图2可以看出,光流特征保留了像素的变化关系,同时去除了不必提要的静态内容。
[0066]
基于此,如果采用了外置摄像头进行视频文件的录制,即便拍摄到了屏幕之外的无关内容,只要无关内容的画面在前后两帧中是保持相对静止的,经过光流提取后也不会保留无关内容的任何信息。因此,光流特征的提取使得本实施例提供的方法避免了外置摄像头拍摄时可能会录入无关内容而导致的数据处理难度大的缺点,同时保留app录屏的变化特征,使得关键帧的识别较准确且速度较快。
[0067]
s103、通过预训练的关键帧检测模型对视频文件的光流特征进行检测得到视频文件中响应检测操作的起始帧相对位置和结束帧相对位置;其中,关键帧检测模型为深度卷积网络,并以待测视频文件的光流特征为输入,以起始帧相对位置和结束帧相对位置为输出。
[0068]
本实施例中,通过预训练的关键帧检测模型对视频文件的光流特征进行检测,即可确定视频文件中响应检测操作的起始帧相对位置和结束帧相对位置。该步骤可确定起始帧和结束帧在整个视频文件中的相对位置,为后续步骤中计算app响应耗时提供数据支持。在一些实施例中,可基于起始帧相对位置和结束帧相对位置以及视频文件的帧率,确定起始帧位置和结束帧位置。
[0069]
在一些实施例中,将视频文件整体作为参照,起始帧相对位置和结束帧相对位置均可为相对于视频文件的起始位置(或其他设定位置)的位置。
[0070]
示例性地,图3为本公开实施例的方法中关键帧确定方式示意图,示出了app冷启动时的关键帧。其中,app冷启动时,其响应耗时(或称为启动耗时)为从点击app图标开始到首页文字内容加载完成之间的耗时。参照图3,221-225分别代表app启动过程中的多帧画面,按照从左至右、从上至下的顺序,以点击第3行第4列的app图标为例,关键帧包括:点击app时的帧,即222代表的视频帧,其代表响应检测操作的起始帧;以及加载完成后的帧,即224代表的视频帧,其代表响应检测操作的结束帧。
[0071]
s104、根据起始帧相对位置和结束帧相对位置以及视频文件的帧率,确定应用程序的响应耗时。
[0072]
本实施例中,可基于起始帧相对位置和结束帧相对位置以及视频文件的帧率,确定起始帧位置和结束帧位置,起始帧位置和结束帧位置对应在整个视频文件中所占的时长,即为应用程序针对检测操作的响应耗时。
[0073]
示例性地,该方法可用于检测app启动耗时,或在app中进行其他操作对应的响应耗时,本公开实施例对此不限定。
[0074]
本公开实施例提供的应用程序性能测试方法中,通过关键帧检测模型对视频文件的光流特征进行检测得到视频文件中响应检测操作的起始帧相对位置和结束帧相对位置,进而确定应用程序的响应耗时,由此可以屏蔽无意义的界面变化和无关画面带来的影响,对应用程序的界面内容变化具有较强的适应能力,从而该方法的适用性较强;同时,基于光流特征确定关键帧,而不是基于具体的标志物或是阶段分类,提高了确定关键帧(即起始帧和结束帧)的效率和准确性,从而改善了检测效率较低的问题;此外,由于适用性较强,鲁棒性较高,提高了检测成功的概率,降低了人工复查的比例,从而将此了检测后人工复查的人力成本,进一步提高了检测效率。
[0075]
在一些实施例中,在图1的基础上,s104可包括s1041至s1044:
[0076]
s1041,基于视频文件的时长和帧率,确定视频文件的帧数。
[0077]
其中,视频文件的帧率(frame rate)是用于测量显示帧数的量度,单位为每秒显示帧数(frames per second,fps)或赫兹(hz)。通过将视频文件的时长和帧率相乘,可以得到视频文件的帧数;示例性地,若时长为a1秒(s),帧率为a2fps,则帧数为a1
×
a2。
[0078]
s1042,基于起始帧相对位置和视频文件的帧数,确定起始帧位置;以及基于结束帧相对位置和视频文件的帧数,确定结束帧位置。
[0079]
其中,起始帧相对位置和结束帧相对位置分别用于表示起始帧和结束帧在视频文件中的相对位置,例如可为归一化处理后的位置。由此,通过将起始帧相对位置与视频文件的帧数相乘,可确定起始帧位置;同理,通过将结束帧相对位置与视频文件的帧数相乘,可确定结束帧位置。
[0080]
在一些实施例中,起始帧位置为y1
×
n;结束帧位置为y2
×
n;其中,y1为起始帧相对位置,且y1∈[0,1];y2为结束帧相对位置,且y2∈[0,1];n为视频文件的帧数。
[0081]
其中,对视频文件的帧数进行归一化处理,可简化关键帧检测模型的数据处理过程。起始帧相对位置和结束帧相对位置为对应于归一化处理后的视频文件的、在0和1之间的数值。
[0082]
示例性地,结合上文n=a1
×
a2,且n为正整数;通过将视频文件的帧数与起始帧相对位置或结束帧相对位置相乘,即可对应得到起始帧位置和结束帧位置。
[0083]
示例性地,y1=0.2,y2=0.8,n=500;则起始帧位置为100帧,结束帧位置为400帧。此仅为示例性地说明,并不构成对本公开实施例提供的方法的限定。
[0084]
在上述实施例中,关键帧检测模型为深度卷积模型,也可称为深度学习模型,经过深度卷积模型可较准确且快速地确定起始帧相对位置和结束帧相对位置。
[0085]
在一些实施例中,关键帧检测模型为带有跨层连接的深度卷积模型;其中,跨层连接用于将不同深度的卷积层输出的结果进行相连和拼接,以将不同时间和空间尺度的卷积
层特征融合。可见,通过跨层连接可将不同时间和空间尺度的cnn特征提取结果融合在一起,使网络能够适应并处理不同时间长度的视频,即该网络可适用于处理任意不同帧数的视频文件;同时,其可适用于处理具有不同宽高大小的视频画面的视频图像。
[0086]
在一些实施例中,带有跨层连接的深度卷积模型包括:多个卷积层、多个最大值下采样层、多个自适应下采样层、1个拼接层和多个全连接层;其中,多个卷积层的数量比多个最大值下采样层的数量多1;
[0087]
多个卷积层中的一个卷积层的输出连接一个自适应下采样层;多个卷积层中其余的每个卷积层的输出连接一个最大值下采样层,每个最大值下采样层的输出连接下一深度的卷积层;且连接自适应下采样层的卷积层的深度大于连接最大值下采样层的每个卷积层的深度;
[0088]
连接最大值下采样层的每个卷积层的输出与一个自适应下采样层进行跨层连接;
[0089]
多个自适应下采样层的输出均连接拼接层;
[0090]
拼接层的输出连接一个全连接层,且多个全连接层串联连接,且串联连接的最后一个全连接层的输出为视频文件中响应检测操作的起始帧相对位置和结束帧相对位置。
[0091]
在一些实施例中,图4为本公开实施例的方法中一种深度卷积模型的示意图,示出了带有跨层连接的深度卷积模型(下文中可简称为“网络”或“模型”)。参照图4,该深度卷积模型包括:4个卷积层、3个最大值下采样(maxpooling)层、4个自适应下采样(adaptive pooling)层、1个拼接(concatenate)层和2个全连接(dense layer)层。
[0092]
第一卷积层用于针对视频文件的光流特征进行卷积处理,第一卷积层的输出连接第一最大值下采样层,且第一卷积层的输出与第一自适应下采样层进行跨层连接;第一最大值下采样层的输出连接第二卷积层;
[0093]
第二卷积层的输出连接第二最大值下采样层,且第二卷积层的输出与第二自适应下采样层进行跨层连接;第二最大值下采样层的输出连接第三卷积层;
[0094]
第三卷积层的输出连接第三最大值下采样层,且第三卷积层的输出与第三自适应下采样层进行跨层连接;第三最大值下采样层的输出连接第四卷积层;
[0095]
第四卷积层的输出连接第四自适应下采样层;
[0096]
第一自适应下采样层的输出、第二自适应下采样层的输出、第三自适应下采样层的输出和第四自适应下采样层的输出均连接拼接层;
[0097]
拼接层的输出连接第一全连接层;第一全连接层的输出连接第二全连接层;
[0098]
第二全连接层的输出为视频文件中响应检测操作的起始帧相对位置和结束帧相对位置。
[0099]
可见,光流特征被各个层处理的顺序依次为:第一卷积层-第一最大值下采样层-第二卷积层-第二最大值下采样层-第三卷积层-第三最大值下采样层-第四卷积层;4个自适应下采样层中的第一自适应下采样层对第一卷积层处理后的数据进行采样,第二自适应下采样层对第二卷积层处理后的数据进行采样,第三自适应下采样层对第三卷积层处理后的数据进行采样,第四自适应下采样层对第四卷积层处理后的数据进行采样;4个自适应下采样层得到的数据通过拼接层处理后依次输入第一全连接层-第二全连接层,第二全连接层的输出为视频文件中响应检测操作的起始帧相对位置和结束帧相对位置。
[0100]
示例性地,图卷积层可为3d-cnn卷积层。本实施例中,在卷积后还可采用非线性激
活函数,图中未显示。3d-cnn架构可以从相邻的光流特征图像生成多个信息通道,并在每个通道中分别执行卷积和下采样,通过组合来自光流特征通道的信息获得最终特征表示。自适应下采样层,可接受一个任意维度的张量输入,平均的将当前维度的输入划分为指定维度的网格,对每一个小网格单独做下采样,最终可以输出一个指定维度的张量,使得该网络能够接受任意帧数长度和任意宽高大小的输入。全连接层可将来自4个卷积层对应的自适应下采样层输出的张量按照通道维度进行拼接。
[0101]
图4中,[1]、[2]、[3]和[4]为跨层连接的结构,其可将不同深度的3d-cnn卷积层输出的结果进行相连和拼接。其中,[1]为第一卷积层处理后的输出,[2]为第二卷积层后的输出,其他以此类推,不再赘述。通过跨层连接可将不同时间和空间尺度的cnn特征提取结果融合在一起,使网络能够适应并处理不同时间长度的视频,即该网络可适用于处理任意不同帧数的视频文件;同时,其可适用于处理具有不同宽高大小的视频画面的视频图像。
[0102]
在经过跨层连接之后,经过拼接层将所有输出合并,既可以获得一个固定维度的向量。将该向量经过两层全连接层,最终输出y1和y2,即为起始帧相对位置和结束帧相对位置。
[0103]
其中,输出结果首先经过sigmoid函数归一化,将输出值规范到0和1之间,即y1∈[0,1],且y2∈[0,1]。
[0104]
在其他实施方式中,深度学习模型的具体结构、层数、应用的非线性激活函数的类型等参数可根据具体的视频文件的处理需求灵活调整和设置,本公开实施例对此不限定。
[0105]
在其他实施方式中,模型训练的过程中可以结合数据增强和正则等其他训练手段一起使用,以增强模型的训练准确性。
[0106]
在一些实施例中,基于起始帧位置和结束帧位置,确定应用程序针对检测操作的响应耗时可包括如下步骤一至步骤三:
[0107]
步骤一:基于视频文件的帧率,确定相邻两帧之间的时长。
[0108]
其中,若帧率为a2fps,则相邻两帧之间的时长为1/a2。
[0109]
示例性地,若a2取值为10,则相邻两帧之间的时长为0.1s。此仅为示例性地说明,并不构成对本公开实施例提供的方法的限定。
[0110]
步骤二:基于起始帧位置和结束帧位置,确定起始帧与结束帧之间包括的帧数。
[0111]
其中,对于检测操作的响应过程而言,起始帧和结束帧之间的帧数即为对应于检测操作的响应帧数。
[0112]
示例性地,响应耗时对应的帧数可等于起始帧与结束帧之间包括的帧数;结合上文,可表示为:y2
×
n-y1
×
n。
[0113]
步骤三:基于相邻两帧之间的时长和起始帧与结束帧之间包括的帧数,确定应用程序针对操作的响应耗时。
[0114]
其中,相邻两帧之间的时长即为单帧时长,利用单帧时长与响应耗时对应的帧数相乘,即可得到响应耗时。结合上文,响应耗时可表示为:(y2
×
n-y1
×
n)/a2。
[0115]
在一些实施例中,视频文件的帧率为固定帧率。
[0116]
如此,单帧时长固定,响应耗时的计算方式较简单。
[0117]
在其他实施方式中,当视频文件的帧率为非固定的帧率时,还可采用将起始帧和结束帧之间的各帧时长求和的方式,确定响应耗时,本公开实施例对此不限定。
[0118]
在上述实施方式的基础上,图5为本公开实施例提供的方法与相关技术的对比示意图,示出了人工标注、逐帧计算并分类和基于光流特征和深度卷积模型应用于app冷启动的标注、复查、总计耗时以及人力耗时(即人力成本)的对比。
[0119]
其中,app响应耗时性能的实际测试中,在低中高各10台的三种机型上进行测试,每一种机型的每一种指标测试50次,每个视频文件的时长约为10s。完成一个响应耗时类指标的测试,共计需要测试1500个app操作的录屏视频(即视频文件)。在基于自动化录屏的情况下,90%的录屏视频是由adb命令启动,其中约80%的视频无法看到开始阶段,进而无法通过传统的逐帧计算并分类的方法定位到开始帧位置。
[0120]
其中,单个录屏视频的标注成本如下:
[0121]
人工标注方法中:标注60s,复查20s;且人工标注约有30%的复查比例。逐帧计算并分类中:算法耗时65s,复查60s,由adb命令启动且无法看到开始阶段的视频,检测会失败。且失败的检测占比约为90%*80%=72%基于光流的深度学习模型中:算法耗时10s,复查60s,约有5%的视频因误差较大需要复查,但是不会因为缺失开始阶段而检测失败。
[0122]
测试单一响应耗时类指标的时间成本如表1所示。
[0123]
表1耗时对比表格
[0124]
算法\成本(小时)标注复查总计耗时人力耗时人工标注25.008.3033.3333.33逐帧计算并分类27.0818.0045.0818.00基于光流的深度学习模型4.171.255.421.25
[0125]
由上述性能对比可知,传统逐帧计算并分类算法由于较高的失败率,依然要付出高昂的人工复查成本。同时,算法本身耗时较多。
[0126]
基于光流特征的深度学习模型由于适用性更强,检测失败率低,因此最终人工复查成本低,人力耗时仅为人工标注的4%。
[0127]
相比传统逐帧计算并分类的算法,基于光流的深度学习模型的速度更快、适用性更强、能够较大程度节约人力测试成本以及测试的时间成本。
[0128]
其中,基于标志物或逐帧计算客观指标等方法检测效率较低的原因在于:第一方面,视频录制工具多样化。具体地,可采用内置的录屏工具:例如安卓系统可在app内置adb命令来录屏,但存在帧率不稳定的情况。此外,在被测机器中启用录屏功能会占用部分系统资源,尤其是在性能较低的机器上,会影响被测程序的响应时间,使得性能指标提取不准确。还可采用外置摄像头录制:例如使用一台相机对着一台手机进行拍摄,必可避免的会将屏幕以外的内容拍摄进去,例如手机外壳,桌面等等。此外,被拍摄物体的位置,角度,甚至环境光都会影响到视频拍摄的内容。使得后续的帧自动化计算误差较大甚至失效。第二方面,app同场景内容多样性。具体地,app填充内容及个性化配置如夜间模式频繁更换会对传统分帧算法性能或参数配置影响。第三方面,逐帧计算较为浪费算力。具体地,基于标志物的检测有随着标志物的变化或是数目增多使得检测效率下降。
[0129]
而本公开实施例提供的应用程序性能测试方法,通过关键帧检测模型对视频文件的光流特征进行检测得到视频文件中响应检测操作的起始帧相对位置和结束帧相对位置,进而确定应用程序的响应耗时,可以屏蔽无意义的界面变化和无关画面带来的影响,对app界面内容变化有着较强的适应能力,兼容性更强;同时,采用关键帧检测模型,其计算效率
较高,相比一般的基于逐帧计算psnr等客观指标的方法,本方法可基于深度学习模型而实现关键帧的确定,从而确定关键帧的速度更快,有利于提高检测效率。
[0130]
在上述实施方式的基础上,本公开实施例还提供了一种应用程序性能测试装置,该装置可执行上述任一种方法。因此,该装置也具有上述实施方式中的任一种方法所具有的有益效果,相同之处可参照上文中对方法的解释说明进行理解,下文中不赘述。
[0131]
示例性地,图6为本公开实施例提供的一种应用程序性能测试装置的结构示意图。参照图6,该装置可包括:获取单元301,用于获取针对应用程序执行测试动作而生成的视频文件;视频文件能够展示应用程序响应测试操作的界面变化;提取单元302,用于对视频文件进行特征提取得到视频文件的光流特征;第一确定单元303,用于通过预训练的关键帧检测模型对视频文件的光流特征进行检测得到视频文件中响应检测操作的起始帧相对位置和结束帧相对位置;其中,关键帧检测模型为深度卷积网络,并以待测视频文件的光流特征为输入,以起始帧相对位置和结束帧相对位置为输出;第二确定单元304,用于根据起始帧相对位置和结束帧相对位置以及视频文件的帧率,确定应用程序的响应耗时。
[0132]
本公开实施例提供的应用程序性能测试装置中,通过基于光流特征确定起始帧相对位置和结束帧相对位置,而不是直接基于rgb图像进行特征提取,由此可以屏蔽无意义的界面变化和无关画面带来的影响,对应用程序的界面内容变化具有较强的适应能力,从而该方法的适用性较强;同时,基于光流特征确定起始帧相对位置和结束帧相对位置,而不是基于具体的标志物或是阶段分类,提高了确定关键帧(即起始帧和结束帧)的效率和准确性,从而改善了检测效率较低的问题;此外,由于适用性较强,鲁棒性较高,提高了检测成功的概率,降低了人工复查的比例,从而将此了检测后人工复查的人力成本,进一步提高了检测效率。
[0133]
在一些实施例中,关键帧检测模型为带有跨层连接的深度卷积模型;其中,跨层连接用于将不同深度的卷积层输出的结果进行相连和拼接,以将不同时间和空间尺度的卷积层特征融合。
[0134]
如此可利用关键帧检测模型,将光流特征作为输入,即可得到视频文件中响应检测操作的起始帧相对位置和结束帧相对位置,效率较高,且准确性较高。
[0135]
在一些实施例中,带有跨层连接的深度卷积模型包括:多个卷积层、多个最大值下采样层、多个自适应下采样层、1个拼接层和多个全连接层;其中,多个卷积层的数量比多个最大值下采样层的数量多1;
[0136]
多个卷积层中的一个卷积层的输出连接一个自适应下采样层;多个卷积层中其余的每个卷积层的输出连接一个最大值下采样层,每个最大值下采样层的输出连接下一深度的卷积层;且连接自适应下采样层的卷积层的深度大于连接最大值下采样层的每个卷积层的深度;
[0137]
连接最大值下采样层的每个卷积层的输出与一个自适应下采样层进行跨层连接;
[0138]
多个自适应下采样层的输出均连接拼接层;
[0139]
拼接层的输出连接一个全连接层,且多个全连接层串联连接,且串联连接的最后一个全连接层的输出为视频文件中响应检测操作的起始帧相对位置和结束帧相对位置。
[0140]
在一些实施例中,带有跨层连接的深度卷积模型包括:4个卷积层、3个最大值下采样层、4个自适应下采样层、1个拼接层和2个全连接层;
[0141]
第一卷积层用于针对视频文件的光流特征进行卷积处理,第一卷积层的输出连接第一最大值下采样层,且第一卷积层的输出与第一自适应下采样层进行跨层连接;第一最大值下采样层的输出连接第二卷积层;
[0142]
第二卷积层的输出连接第二最大值下采样层,且第二卷积层的输出与第二自适应下采样层进行跨层连接;第二最大值下采样层的输出连接第三卷积层;
[0143]
第三卷积层的输出连接第三最大值下采样层,且第三卷积层的输出与第三自适应下采样层进行跨层连接;第三最大值下采样层的输出连接第四卷积层;
[0144]
第四卷积层的输出连接第四自适应下采样层;
[0145]
第一自适应下采样层的输出、第二自适应下采样层的输出、第三自适应下采样层的输出和第四自适应下采样层的输出均连接拼接层;
[0146]
拼接层的输出连接第一全连接层;第一全连接层的输出连接第二全连接层;
[0147]
第二全连接层的输出为视频文件中响应检测操作的起始帧相对位置和结束帧相对位置。
[0148]
可见,光流特征被各个层处理的顺序依次为:第一卷积层-第一最大值下采样层-第二卷积层-第二最大值下采样层-第三卷积层-第三最大值下采样层-第四卷积层;4个自适应下采样层中的第一自适应下采样层对第一卷积层处理后的数据进行采样,第二自适应下采样层对第二卷积层处理后的数据进行采样,第三自适应下采样层对第三卷积层处理后的数据进行采样,第四自适应下采样层对第四卷积层处理后的数据进行采样;4个自适应下采样层得到的数据通过拼接层处理后依次输入第一全连接层-第二全连接层,第二全连接层的输出为视频文件中响应检测操作的起始帧相对位置和结束帧相对位置。
[0149]
如此,可利用深度卷积模型,确定起始帧相对位置和结束帧相对位置,网络较简单,且可适用于任意不同帧数和宽高大小的视频文件。
[0150]
在一些实施例中,第二确定单元304根据起始帧相对位置和结束帧相对位置以及视频文件的帧率,确定应用程序的响应耗时包括:
[0151]
基于视频文件的时长和帧率,确定视频文件的帧数;
[0152]
基于起始帧相对位置和视频文件的帧数,确定起始帧位置;
[0153]
基于结束帧相对位置和视频文件的帧数,确定结束帧位置;
[0154]
基于起始帧位置和结束帧位置,确定应用程序针对检测操作的响应耗时。
[0155]
如此,可基于视频文件的时长和帧率,以及结合起始帧相对位置和结束帧相对位置,确定起始帧位置和结束帧位置。
[0156]
在一些实施例中,起始帧位置为y1
×
n;结束帧位置为y2
×
n;其中,y1为起始帧相对位置,且y1∈[0,1];y2为结束帧相对位置,且y2∈[0,1];n为视频文件的帧数。
[0157]
如此,可将视频文件的长度进行归一化设置,并基于此确定起始帧相对位置和结束帧相对位置,并进一步地确定起始帧位置和结束帧位置,从而可简化深度卷积模型,有利于提高数据处理速率,从而提高检测速率。
[0158]
在一些实施例中,第二确定单元304基于起始帧位置和结束帧位置,确定应用程序针对检测操作的响应耗时包括:
[0159]
基于视频文件的帧率,确定相邻两帧之间的时长;
[0160]
基于起始帧位置和结束帧位置,确定起始帧与结束帧之间包括的帧数;
[0161]
基于相邻两帧之间的时长和起始帧与结束帧之间包括的帧数,确定应用程序针对检测操作的响应耗时。
[0162]
如此,可基于视频文件的帧率,以及结合起始帧位置和结束帧位置,确定应用程序针对检测操作的响应耗时。
[0163]
在一些实施例中,视频文件的帧率为固定帧率。
[0164]
如此,可简化数据处理过程,有利于提高检测效率。
[0165]
本公开还提供了一种电子设备,该电子设备包括:处理器和存储器;处理器通过调用存储器存储的程序或指令,用于执行上述任一种方法的步骤。因此该电子设备也具有上述方法和装置所具有的有益效果,相同之处可参照上文中对方法和装置的解释说明进行理解,下文中不再赘述。
[0166]
在一些实施例中,图7为本公开实施例提供的一种电子设备的结构示意图。参照图7,该电子设备包括:
[0167]
一个或多个处理器401,图7中以一个处理器401为例;
[0168]
存储器402;
[0169]
该电子设备还可以包括:输入装置403和输出装置404。
[0170]
该电子设备中的处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图7中示例性地以通过总线连接为例示出其连接方式。
[0171]
其中,存储器402作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开实施例中的应用程序的上述任一方法对应的程序指令/模块/单元(例如,附图6所示的获取单元301、提取单元302、第一确定单元303以及第二确定单元304)。处理器401通过运行存储在存储器402中的软件程序、指令、单元以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的方法。
[0172]
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。
[0173]
此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。
[0174]
在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0175]
输入装置403可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。
[0176]
输出装置404可包括显示屏等显示设备。
[0177]
本公开还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储程序或指令,程序或指令使计算机执行上述任一种方法的步骤。
[0178]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开实施例的上述方法可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开实施例的上述方法相关技术方案的本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机
软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例的各个方法。
[0179]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0180]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献