CN113886273A - 一种应用程序的性能测试方法、装置、测试设备及介质 - Google Patents
一种应用程序的性能测试方法、装置、测试设备及介质 Download PDFInfo
- Publication number
- CN113886273A CN113886273A CN202111314900.XA CN202111314900A CN113886273A CN 113886273 A CN113886273 A CN 113886273A CN 202111314900 A CN202111314900 A CN 202111314900A CN 113886273 A CN113886273 A CN 113886273A
- Authority
- CN
- China
- Prior art keywords
- image frame
- test
- image
- time
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 482
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000011056 performance test Methods 0.000 title claims abstract description 14
- 238000004891 communication Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000009432 framing Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 13
- 238000013515 script Methods 0.000 description 10
- 238000003491 array Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种应用程序的性能测试方法、装置、测试设备及介质,上述方法包括:在测试起始时刻向被测设备发送测试起始指令,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧;针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于差异度,从各个图像帧中确定出目标图像帧,并将目标图像帧的被采集时刻作为测试结束时刻;将测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延。采用上述方法,在不影响应用程序的正常运行的前提下,简化了对应用程序的性能测试的人工操作,并实现了自动化测试。
Description
技术领域
本发明涉及应用程序测试技术领域,特别是涉及一种应用程序的性能测试方法、装置、测试设备及介质。
背景技术
应用程序被投入运营之前以及被投入运营后都需要对其做性能测试,例如,可以对应用程序进行时延测试和流畅度测试等等,以及时了解应用程序的相应性能,避免应用程序因性能问题导致用户体验受到影响。
以对应用程序的时延测试为例,目前针对应用程序的时延测试方式主要包括:录屏测试方式和外部设备拍摄测试方式。其中,录屏测试方式是对被测应用程序进行录屏生成视频,然后再对视频做分帧分析获得时延数据。外部设备拍摄测试方式是通过外部设备(例如高速摄像机)对被测应用程序拍摄视频,然后再对拍摄的视频做分帧分析获得时延数据。
然而,由于录屏测试方式是安装被测应用程序的设备针对被测应用程序进行录屏,录屏操作会对被测应用程序的正常运行产生干扰影响,且测试过程繁复;而针对外部设备拍摄测试方式,由于是通过对被测应用程序拍摄视频,这种方式需要人工判断从拍摄视频中的多帧图像中逐帧查找出测试起点图像帧和测试终点图像帧,无法完全实现自动化测试且测试过程繁复。
发明内容
本发明实施例的目的在于提供一种应用程序的性能测试方法、装置、测试设备及介质,以在不影响应用程序的正常运行的前提下,简化对应用程序的性能测试的人工操作,实现自动化测试。具体技术方案如下:
为了达到上述目的,本发明实施例提供了一种应用程序的性能测试方法,应用于测试系统中的测试设备,所述测试系统还包括被测设备,所述方法包括:
在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;
基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;
将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
进一步的,在所述针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度之后,所述方法还包括:
将差异度超过第一预设差异度阈值,且被采集时刻与所述测试起始时刻相距最近的图像帧确定为起始图像帧;
将待选图像帧中被采集时刻与所述起始图像帧的被采集时刻相距最近的待选图像帧确定为终止图像帧,其中,所述待选图像帧为所述起始图像帧之后连续第一预设数量个对应的差异度均不大于第二预设差异度阈值的图像帧;
将图像帧变化数量与流畅度测试时长的比值,确定为所述目标应用程序的流畅度,其中,所述图像帧变化数量为从所述起始图像帧至所述终止图像帧所包括的图像帧中,差异度大于等于所述第二预设差异度阈值的图像帧的数量;所述流畅度测试时长为所述起始图像帧的被采集时刻与所述终止图像帧的被采集时刻之间的时长。
进一步的,所述计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度,包括:
针对该图像帧中预设区域内的每个像素点,确定该像素点的像素值与该图像帧的前一图像帧中相对应的像素点的像素值之间的差异值;
将该图像帧中对应的差异值大于预设像素差异阈值的像素点的数量,与所述预设区域内像素点的数量的比值确定为该图像帧对应的差异度。
进一步的,所述基于所述差异度,从各个所述图像帧中确定出目标图像帧,包括:
将差异度超过第三预设差异度阈值的图像帧确定为备选图像帧;将被采集时刻与所述测试起始时刻相距最近的备选图像帧作为当前备选图像帧;判断当前备选图像帧是否满足预设目标条件,若满足,则确定当前备选图像帧为目标图像帧,若不满足,则将被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧作为新的当前备选图像帧,并返回执行所述判断当前备选图像帧是否满足预设目标条件的步骤;其中,当前备选图像帧满足预设目标条件为:被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量超过第二预设数量;或者,被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值大于预设平均值阈值;或者,被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值不大于预设平均值阈值;
或者,
将差异度超过所述第三预设差异度阈值,且被采集时刻与所述测试起始时刻相距最近的图像帧确定为目标图像帧。
进一步的,所述测试系统还包括图像采集卡;所述图像采集卡分别与所述测试设备和所述被测设备相连接;
所述从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧,包括:
获取所述图像采集卡从所述测试起始时刻开始采集的所述被测设备的显示界面的多个图像帧。
进一步的,所述测试系统还包括视频录制设备,所述视频录制设备与所述测试设备相连接;
所述从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧,包括:
接收所述视频录制设备发送的被测视频;所述被测视频为:所述视频录制设备录制的针对所述被测设备的显示界面的视频;
对所述被测视频进行分帧处理,得到多个图像帧。
进一步的,在所述接收所述视频录制设备发送的被测视频之前,所述方法还包括:
获取所述被测视频的实际时长和所述视频录制设备实际录制到所述被测视频的录制结束时刻;
计算所述测试起始时刻减去所述录制结束时刻的差值,与所述实际时长之和,作为校准后的测试起始时刻;
所述将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延,包括:
将所述校准后的测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
为了达到上述目的,本发明实施例还提供了一种应用程序的性能测试系统,包括:测试设备和被测设备;
所述测试设备,用于在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延;其中,所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
所述被测设备,用于接收所述测试设备在所述测试起始时刻发送的所述测试起始指令,并基于所述测试起始指令指示所安装的所述目标应用程序执行所述目标操作。
进一步的,所述测试系统还包括图像采集卡;所述图像采集卡分别与所述测试设备和所述被测设备相连接;
所述图像采集卡,用于从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;
所述测试设备,用于获取所述图像采集卡从所述测试起始时刻开始采集的所述被测设备的显示界面的多个图像帧。
进一步的,所述测试系统还包括视频录制设备,所述视频录制设备与所述测试设备相连接;
所述视频录制设备,用于录制针对所述被测设备的显示界面的视频,作为被测视频;
所述测试设备,用于接收所述视频录制设备发送的所述被测视频;对所述被测视频进行分帧处理,得到多个图像帧。
为了达到上述目的,本发明实施例还提供了一种应用程序的性能测试装置,应用于测试系统中的测试设备,所述测试系统还包括被测设备,所述装置包括:
图像采集模块,用于在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
差异度计算模块,用于针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;
目标图像确定模块,用于基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;
时延确定模块,用于将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
本发明实施例还提供了一种测试设备,所述测试设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的应用程序的性能测试方法步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的应用程序的性能测试方法步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的应用程序的性能测试方法步骤。
采用本发明实施例提供的方法,在测试起始时刻向被测设备发送测试起始指令,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧;针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于差异度,从各个图像帧中确定出目标图像帧,并将目标图像帧的被采集时刻作为测试结束时刻;将测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延。即可以通过在测试起始时刻向被测设备发送测试起始指令,指示目标应用程序执行目标操作,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧,通过分析图像帧的差异度确定出目标图像帧对应的测试结束时刻,得到测试起始时刻与测试结束时刻之间的时长,作为目标应用程序的时延,在不影响应用程序的正常运行的前提下,简化了对应用程序的性能测试的人工操作,并实现了自动化测试。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的应用程序的性能测试方法的一种流程图;
图2为连续的两帧图像帧的像素点示意图;
图3为本发明实施例提供的应用程序的性能测试方法的另一种流程图;
图4为本发明实施例提供的应用程序的性能测试方法的又一种流程图;
图5为本发明实施例提供的应用程序的性能测试系统的一种结构示意图;
图6为本发明实施例提供的应用程序的性能测试系统的另一种结构示意图;
图7为本发明实施例提供的测试系统的一种结构示意图;
图8为本发明实施例提供的应用程序的性能测试系统的又一种结构示意图;
图9为本发明实施例提供的应用程序的性能测试装置的一种结构示意图;
图10为本发明实施例提供的应用程序的性能测试装置的另一种结构示意图;
图11为本发明实施例提供的一种测试设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
图1为本发明实施例提供的应用程序的性能测试方法的一种流程图,该方法可以应用于测试系统中的测试设备,测试系统还包括被测设备,参见图1,该方法包括如下步骤:
步骤101,在测试起始时刻向被测设备发送测试起始指令,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧;测试起始指令用于指示被测设备所安装的目标应用程序执行目标操作。
本发明实施例中,目标应用程序可以为任何有显示界面的APP(Application,手机软件)和网页。例如,目标应用程序可以为视频APP、网页等等。被测设备可以为安装有各种应用程序(包括目标应用程序)的设备,例如,被测设备可以为连接机顶盒的电视机、机顶盒和计算机等设备。测试设备可以为:手机、计算机或平板电脑等电子设备。
本发明实施例中,目标操作可以为启动目标应用程序的操作,或其他运行目标应用程序的操作等。例如,若目标应用程序可以为视频APP,则目标操作可以为打开该视频APP,或者,目标操作也可以为在该视频APP播放某一视频文件。
本发明实施例中,测试设备可以在测试起始时刻通过红外学习发射器发射测试起始指令。其中,红外学习发射器可以预先学习不同的红外信号对应的不同的测试起始指令,例如可以学习得到:测试起始指令A用于指示被测设备安装的目标应用程序A执行启动操作,测试起始指令B用于指示被测设备安装的目标应用程序B执行运行操作。本发明实施例中,可以预先确定需要测试性能的目标应用程序,红外学习发射器可以根据预先确定的需要测试的目标应用程序的类型,发射对应的测试起始指令。
本发明实施例中,测试设备也可以在测试起始时刻通过adb(android debugbridge,安卓调试桥)(即测试设备与被测设备的连接通道)向被测设备发送测试起始指令。
本发明实施例中,可以按照60帧/每秒的采集频率采集被测设备的显示界面的多个图像帧。本发明实施例中也可以按照240帧/每秒的采集频率采集被测设备的显示界面的图像帧,然后将每秒内所采集的图像帧等分为60组,每一组包括4个图像帧;针对每秒内60组中的每一组图像帧,可以根据变化节点选取每一组内的第n个图像帧;然后将每秒内所选取的60个图像帧作为该秒内最终采集被测设备的显示界面的多个图像帧。其中,1≤n≤4。
步骤102,针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度。
本发明实施例中,在确定图像帧对应的差异度之前,可以先将每个图像帧转换至测试设备可以处理的格式。
本步骤中,针对非第一帧的每个图像帧,确定该图像帧对应的差异度具体可以包括步骤A1-步骤A2:
步骤A1:针对该图像帧中预设区域内的每个像素点,确定该像素点的像素值与该图像帧的前一图像帧中相对应的像素点的像素值之间的差异值;
步骤A2:基于该图像帧中对应的差异值大于预设像素差异阈值的像素点的数量与预设区域内像素点的数量,确定为该图像帧对应的差异度。
其中,图像帧中的预设区域可以根据实际应用情况具体进行确定,例如,预设区域可以为图像帧中的部分区域或图像帧的全部区域,该预设区域为实际需要进行像素比对的区域。预设像素差异阈值也可以根据实际应用情况具体进行确定,此处不做具体限定。举例说明,图2为连续的两帧图像帧的像素点示意图。参见图2,图像帧B为图像帧A的前一帧图像。图像帧A中所确定的实际需要进行像素比对的预设区域为预设区域ZA,图像帧A中的预设区域ZA在图像帧B中对应的区域为预设区域ZB。预设区域ZA中包括像素点a、像素点b、像素点c和像素点d;预设区域ZB中包括像素点a1、像素点b1、像素点c1和像素点d1。针对图像帧A中的预设区域ZA中每个像素点和图像帧B中的预设区域ZB中每个像素点,可以采用如下公式计算该像素点对应的平均像素值:
其中,P为该像素点对应的平均像素值,x为该像素点的原始像素值,α为该像素点对应的权重,i为该像素点相邻的像素点数,为该像素点第i个相邻的像素点的原始像素值,β为该像素点相邻的像素点对应的权重,且α大于β,具体的,α和β的取值可以为:α等于2,β等于1。
采用上述公式可以计算出像素点a、像素点b、像素点c和像素点d,以及,像素点a1、像素点b1、像素点c1和像素点d1分别对应的平均像素值。
可以分别计算图像帧A中的像素点a的平均像素值,与图像帧B中相对应的素点a1的平均像素值的差值,作为像素点a的差异值;同样的方法,可以分别计算得到像素点b、像素点c和像素点d的差异值。
进一步的,可以将像素点a、像素点b、像素点c和像素点d中,差异值大于预设像素差异阈值的像素点的数量,与图像帧A中的预设区域ZA内像素点的数量的比值确定为图像帧A对应的差异度。例如,若像素点c和像素点d的差异值均大于预设像素差异阈值,则可以计算出图像帧A的差异度为:2/4=0.5。
步骤103,基于差异度,从各个图像帧中确定出目标图像帧,并将目标图像帧的被采集时刻作为测试结束时刻。
其中,目标图像帧为:多个图像帧中标识目标应用程序已执行目标操作的第一帧图像帧。
本发明实施例中,若目标应用程序执行目标操作时,被测设备的显示界面存在场景变化的干扰,例如被测设备存在视频连播、视频切集、拖动视频播放条的情况,在这些情况下确定目标图像帧可以为如下包括步骤B1-步骤B4的方式:
将被采集时刻与所述测试起始时刻相距最近的备选图像帧作为当前备选图像帧;判断当前备选图像帧是否满足预设目标条件,若满足,则确定当前备选图像帧为目标图像帧,若不满足,则将被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧作为新的当前备选图像帧,并返回执行所述判断当前备选图像帧是否满足预设目标条件的步骤;其中,当前备选图像帧满足预设目标条件为:被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量超过第二预设数量;或者,被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值大于预设平均值阈值;或者,被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值不大于预设平均值阈值;
步骤B1:将差异度超过第三预设差异度阈值的图像帧确定为备选图像帧;
步骤B2:判断当前备选图像帧是否满足预设目标条件,若满足,则执行步骤B3,若不满足,则执行步骤B4;
步骤B3:确定当前备选图像帧为目标图像帧;
步骤B4:将被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧作为新的当前备选图像帧,并返回执行所述步骤B2。
本发明实施例中,当前备选图像帧满足预设目标条件为:被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量超过第二预设数量;或者,被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值大于预设平均值阈值;或者,被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值不大于预设平均值阈值。
其中,第三预设差异度阈值可以根据实际应用情况具体进行设定,此处不做具体限定。第二预设数量可以根据实际应用情况设定为70或80等,第二预设数量可以根据实际应用情况设定为42或45等,预设平均值阈值可以根据实际应用情况设定为0.012或0.013等。
本发明实施例中,可以将差异度超过第三预设差异度阈值,且被采集时刻与测试起始时刻相距最近的图像帧确定为目标图像帧。
本发明实施例中,针对每个图像帧,若该图像帧的差异度大于等于第四预设差异度阈值,且该图像帧的相邻图像帧(在前的相邻图像帧或在后的相邻图像帧)的差异度与该图像帧的差异度之和大于等于第五预设差异度阈值,则也可以确定该图像帧为目标图像帧。其中,第五预设差异度阈值大于第三预设差异度阈值,第三预设差异度阈值大于第四预设差异度阈值。并且,第三预设差异度阈值、第四预设差异度阈值和第五预设差异度阈值可以根据实际应用情况具体进行设定,此处不做具体限定。
本发明实施例中,也可以针对图像帧差异度呈现固定变化规律的情况,指定选取顺次或逆次第n个差异度大于第三预设差异度阈值的图像帧作为目标图像帧。其中,n可以根据实际应用情况设定为2或3等。
本发明实施例中,每个图像帧可以带有时间戳,每个图像帧的时间戳表示该图像帧被采集到的时刻,即每个图像帧的被采集时刻。
步骤104,将测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延。
本发明实施例中,目标应用程序的时延可以用于反映目标应用程序执行目标操作的反应性能,目标应用程序的时延越小,目标应用程序执行目标操作的反应越快,用户对目标应用程序的使用体验越好。
采用本发明实施例提供的方法,在测试起始时刻向被测设备发送测试起始指令,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧;针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于差异度,从各个图像帧中确定出目标图像帧,并将目标图像帧的被采集时刻作为测试结束时刻;将测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延。即可以通过在测试起始时刻向被测设备发送测试起始指令,指示目标应用程序执行目标操作,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧,通过分析图像帧的差异度确定出目标图像帧对应的测试结束时刻,得到测试起始时刻与测试结束时刻之间的时长,作为目标应用程序的时延,在不影响应用程序的正常运行的前提下,简化了对应用程序的性能测试的人工操作,并实现了自动化测试。
图3为本发明实施例提供的应用程序的性能测试方法的另一种流程图,该方法可以应用于测试系统中的测试设备,测试系统还包括被测设备,参见图3,该方法包括如下步骤:
步骤301-步骤304与步骤101-步骤104分别对应相同,此处不再赘述。
步骤305,将差异度超过第一预设差异度阈值,且被采集时刻与测试起始时刻相距最近的图像帧确定为起始图像帧。
其中,第一预设差异度阈值可以根据实际应用情况具体进行设定,此处不做具体限定。
步骤306,将待选图像帧中被采集时刻与起始图像帧的被采集时刻相距最近的待选图像帧确定为终止图像帧。
其中,待选图像帧为起始图像帧之后连续第一预设数量个对应的差异度均不大于第二预设差异度阈值的图像帧。第二预设差异度阈值可以根据实际应用情况具体进行设定,此处不做具体限定。第一预设数量也可以根据实际应用情况具体进行设定,例如可以设定为7,此处不做具体限定。
步骤307,将图像帧变化数量与流畅度测试时长的比值,确定为目标应用程序的流畅度,其中,图像帧变化数量为从起始图像帧至终止图像帧所包括的图像帧中,差异度大于等于第二预设差异度阈值的图像帧的数量;流畅度测试时长为起始图像帧的被采集时刻与终止图像帧的被采集时刻之间的时长。
其中,目标应用程序的流畅度反映了目标应用程序的反应流畅程度,且目标应用程序的流畅度越大,表示目标应用程序的反应流畅程度越好,用户对目标应用程序的使用体验越好。
采用本发明实施例提供的方法,可以直接将将测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延,以及将图像帧变化数量与流畅度测试时长的比值,确定为目标应用程序的流畅度。实现了在不影响应用软件的正常运行的基础上简化了对应用软件的时延和流畅度的性能测试过程。
本发明实施例中,在一种可能的实施方式中,测试系统包括测试设备、被测设备和图像采集卡,图像采集卡分别与测试设备和被测设备相连接。对于具有HDMI(HighDefinition Multimedia Interface,高清多媒体接口)输出的被测设备,如机顶盒等,可以使用具有HDMI接口的图像采集卡从测试起始时刻开始采集被测设备的显示界面的多个图像帧。被测设备可以从图像采集卡处获取其从测试起始时刻开始采集的被测设备的显示界面的多个图像帧。
上述步骤301-307中,针对被测设备中目标应用软件,将流畅度测试和时延测试整合在了一个测试流程中。本发明实施例中,针对被测设备中目标应用软件,也可以分开测试目标应用软件的流畅度和时延。例如,可以将上述步骤301、步骤302、步骤305、步骤306和步骤307构成的测试流程作为单独针对目标应用软件的流畅度的测试流程。
在另一种可能的实施方式中,测试系统包括测试设备、被测设备和视频录制设备,视频录制设备与测试设备相连接。对于只具有HDMI输入没有HDMI输出的被测设备(如智能电视),以及既不具有HDMI输入也不具有HDMI输出的被测设备,可以通过视频录制设备录制被测设备的显示界面的视频。图4为本发明实施例提供的应用程序的性能测试方法的又一种流程图,该方法可以应用于测试系统中的测试设备,测试系统还包括被测设备和视频录制设备,视频录制设备与测试设备相连接,参见图4,该方法包括如下步骤:
步骤401,获取被测视频的实际时长和视频录制设备实际录制到被测视频的录制结束时刻。
本发明实施例中,在视频录制设备的日志文件中存储了视频录制设备实际录制到被测视频的录制结束时刻和实际录制到被测视频的录制开始时刻,被测视频的实际时长通常小于录制开始时刻与录制结束时刻之间的时长。
步骤402,计算测试起始时刻减去录制结束时刻的差值,与实际时长之和,作为校准后的测试起始时刻。
由于测试设备和被测设备等设备所配置的时钟可能存在差别,因此本发明实施例中也可以针对测试设备和被测设备等,周期性地校准各个设备所配置的时钟的时间,保证各个设备的时间是统一的。具体的,可以以任意一个设备(例如测试设备或被测设备)所配置的时钟的时间为标准时间,在测试初始阶段和测试阶段定时(如每隔一小时)计算其他设备与该设备的标准时间之间的差值,对其他设备所配置的时钟的时间进行校准,使得各个设备所配置的时钟的时间是统一的。
步骤403,接收视频录制设备发送的被测视频;被测视频为:视频录制设备从测试起始时刻开始录制的针对被测设备的显示界面的视频。
步骤404,对被测视频进行分帧处理,得到多个图像帧。
本步骤中,可以利用计算机程序(ffmpeg)将被测视频中的图像帧一一提取出来,得到多个图像帧,且每个图像帧带有时间戳,时间戳表示每个图像帧被视频录制设备录制到的时刻。
步骤405,针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度。
本步骤中,针对非第一帧的每个图像帧,在确定该图像帧相比前一图像帧的图像差异度之前,可以对每个图像帧进行去干扰处理,对每个图像帧进行去噪处理。具体的针对每个图像帧的去噪处理可以采用现有的任一种图像去噪处理方法,此处不做具体限定。
本步骤中,针对非第一帧的每个图像帧,可以基于dhash(图像差异哈希算法)确定该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度。具体的,可以举例说明:
可以对各个图像帧进行灰度处理,得到各个灰度处理后的图像帧;然后对各个灰度处理后的图像帧进行缩放处理,每个灰度处理后的图像帧可以缩放到9×8像素大小;针对每个缩放后的9×8像素大小的图像帧,可以分别计算每一行中,后一个像素是否大于前一个像素,如果大于则记为1,否则记为0,得到该行对应的1×8的数组;针对每一行都可以得到一个1×8的数组,则针对每个图像帧,可以得到8×8的二维数组;然后可以将每个图像帧对应的8×8的二维数组按照行进行拼接,转换为大小为64个元素的一维数组;针对每个图像帧,计算该图像帧对应的大小为64个元素的一维数组,与该图像帧之前的图像帧对应的大小为64个元素的一维数组之间有差异的元素的个数,将该个数与该图像帧对应的一维数组的大小(即64)的比值确定为该图像帧对应的差异度。
在本发明实施例中,还可以使用其他计算图像差异度的方法(例如:感知哈希算法或者平均哈希算法),计算每个图像帧相比前一图像帧的图像差异度,本发明实施例不对计算图像差异度的方法做具体限定。
步骤406,基于差异度,从各个图像帧中确定出目标图像帧,并将目标图像帧的被采集时刻作为测试结束时刻;目标图像帧为:多个图像帧中标识目标应用程序已执行目标操作的第一帧图像帧。
本发明实施例中,也可以测试过程收集被测设备的日志文件,被测设备的日志文件中包括埋点参考时间点,埋点参考时间点为工作人员提前预测的出现目标图像帧的时间点。然后可以从多个图像帧中获取埋点参考时间点对应的图像帧作为埋点图像帧,在埋点图像帧之前与之后的时间范围内查找差异度大于第六预设差异度阈值的图像帧作为目标图像帧;其中,第六预设差异阈值小于等于第三预设差异阈值。如果查找不到目标图像帧则使用本发明实施例提供的其他确定目标图像帧的方式查找目标图像帧。其中,埋点图像帧之前与之后的时间范围可以根据实际测试情况进行设定,例如可以设定为:埋点参考时间点之前3秒到埋点参考时间点之后3秒的时间范围,此处不做具体限定。
本发明实施例中,也可以将各图像帧中差异度大于第三预设差异度阈值,且被录制时刻与测试起始时刻相距最近的图像帧确定为目标图像帧。
步骤407,将校准后的测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延。
采用本发明实施例提供的方法,获取被测视频;对被测视频进行分帧处理,得到多个图像帧;针对每个图像帧,确定该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于各图像帧对应的差异度,从各图像帧中确定目标图像帧;基于测试起始时刻和目标图像帧在被测视频中对应的被录制时刻,确定出目标应用程序的时延,实现了在不影响应用软件的正常运行的基础上简化了对应用软件的性能测试过程。并且,测试过程无需人工值守,提高了测试效率。
本发明实施例中,针对图像帧差异度比较小的情况,通常可以将各个预设差异度阈值的具体数值设置的较小一些。针对手机录制模式,如果在计算图像帧的差异度时受到录制干扰,则可以在确定出目标图像帧后,将首次确定的目标图像帧作为第一目标图像帧,然后继续计算第一目标图像帧前后多个(如5个或8个)图像帧的差异度,进一步确定出第二目标图像帧,作为最终的目标图像帧。
图5为本发明实施例提供的应用程序的性能测试系统的一种结构示意图,如图5所示,测试系统包括:测试设备510和被测设备520;
所述测试设备510,用于在测试起始时刻向所述被测设备520发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延;其中,所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
所述被测设备520,用于接收所述测试设备510在所述测试起始时刻发送的所述测试起始指令,并基于所述测试起始指令指示所安装的所述目标应用程序执行所述目标操作。
采用本发明实施例提供的系统,可以通过在测试起始时刻向被测设备发送测试起始指令,指示目标应用程序执行目标操作,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧,通过分析图像帧的差异度确定出目标图像帧对应的测试结束时刻,得到测试起始时刻与测试结束时刻之间的时长,作为目标应用程序的时延,在不影响应用程序的正常运行的前提下,简化了对应用程序的性能测试的人工操作,并实现了自动化测试。
在一种可能的实施方式中,图6为本发明实施例提供的应用程序的性能测试系统的另一种结构示意图,如图6所示,测试系统还包括图像采集卡610;图像采集卡610分别与测试设备510和被测设备520相连接;
图像采集卡610,用于从测试起始时刻开始采集被测设备的显示界面的多个图像帧;
测试设备510,用于获取图像采集卡从所述测试起始时刻开始采集的被测设备的显示界面的多个图像帧。
举例说明,图7为本发明实施例提供的测试系统的一种结构示意图,如图7所示,测试系统中的被测设备可以包括:可以TV盒子(如机顶盒)、分屏器和显示器。分屏器可以将HDMI信号数据复制为多份,将其中一份HDMI信号数据输入到显示器进行显示,便于测试人员观测;将其中另一份HDMI信号数据输入至采集卡,以用于进行测试;测试设备具体可以为PC,如TVBenchmark(针对电视的标准检查程序)的客户端。当采集卡在测试起始时刻开始采集被测设备的图像帧时,可以通过在测试起始时刻通过红外学习发射器发射测试起始指令,指示被测设备安装的目标应用程序执行目标操作。本发明实施例中,可以预先确定需要测试性能的目标应用程序,红外学习发射器可以根据预先确定的需要测试的目标应用程序的类型,发射对应的测试起始指令。
本发明实施例中,通过红外学习发射器发射测试起始指令,指示被测设备安装的目标应用程序执行目标操作,可以较为完全地模拟用户使用红外遥控器发射红外指令的操作,贴近用户体验。
在又一种可能的实施方式中,图8为本发明实施例提供的应用程序的性能测试系统的又一种结构示意图,如图8所示,测试系统还包括视频录制设备810;视频录制设备810与测试设备510相连接;
视频录制设备810,用于从测试起始时刻开始录制针对被测设备的显示界面的视频,作为被测视频;
测试设备510,用于接收视频录制设备发送的被测视频;对被测视频进行分帧处理,得到多个图像帧。
其中,测试设备与被测设备相互连接,测试设备可以在测试起始时刻通过adb向被测设备发送测试起始指令。
本发明实施例提供的测试系统中的测试设备510,还可以用于将差异度超过第一预设差异度阈值,且被采集时刻与所述测试起始时刻相距最近的图像帧确定为起始图像帧;将待选图像帧中被采集时刻与所述起始图像帧的被采集时刻相距最近的待选图像帧确定为终止图像帧,其中,所述待选图像帧为所述起始图像帧之后连续第一预设数量个对应的差异度均不大于第二预设差异度阈值的图像帧;将图像帧变化数量与流畅度测试时长的比值,确定为所述目标应用程序的流畅度,所述图像帧变化数量为从所述起始图像帧至所述终止图像帧所包括的图像帧中,差异度大于等于所述第二预设差异度阈值的图像帧的数量,所述流畅度测试时长为所述起始图像帧的被采集时刻与所述终止图像帧的被采集时刻之间的时长。
本发明实施例中,应用程序的性能测试的工具可以包括硬件和软件。其中,硬件可以包括:HDMI采集卡、红外学习发射器、视频录制设备(如能录制60fps的手机)、工具运行的电子设备;软件可以包括:SDK模块和GUI(Graphical User Interface,图形用户接口)界面,SDK可以用C++语言开发,GUI界面可以使用python语言开发。GUI界面可以包括:采集卡模式和视频录制模式。其中,采集卡模式为测试系统中包括采集卡的测试方式,视频录制模式为测试系统中包括视频录制设备的测试方式。本发明实施例中,采集卡模式和视频录制模式也可以分别设计对应的不同的GUI界面。GUI界面设置有:测试脚本选项、测试app选项、测试轮次选项、测试时间选项、测试起始选项、测试停止选项、测试结果展示选项和测试结果保存选项。其中,测试app选项用于选择测试设备中的目标应用程序;测试脚本选项用于针对目标应用程序选择对应的测试方法流程;测试轮次选项用于选择测试次数;测试时间选项用于选择单次测试的时长;测试起始选项用于确定测试开始;测试停止选项用于确定测试结束;测试结果展示选项用于在GUI界面展示测试结果;测试结果保存选项用于保存测试结果。
本发明实施例中,可以针对不同的应用场景设置不同的测试脚本。测试脚本包括各个测试步骤关键词(包括流程关键词和操作关键词)。流程关键词包括:before、test、lastcode和after;before、test、lastcode和after将整个测试流程分为测前阶段、发送测试起始指令起点前的操作阶段、发送测试起始指令起点后的测试操作阶段、测后阶段;操作关键词可以包括:安装app、启动app、关闭app、清缓存、调用shell、休眠、打开相机、开始录制等。可以在GUI界面配置多个测试脚本选项以供选择不同的测试脚本。
举例说明,可以在GUI界面中先点击测试起始选项;然后判断测试设备是否分别与被测设备和视频录制设备相连接,如果判断结果为是,选择视频录制设备和被测设备,如果判断结果为否,提示设备连接错误并等待连接两台设备,选择视频录制设备和被测设备;然后选择测试脚本,判断测试脚本是否编写无误,如果有误,提示测试脚本有问题,如果无误,GUI界面显示测试场景;配置测试数据,然后开始执行测试;根据测试脚本编写的测试流程控制视频录制设备录制被测视频;然后保存被测视频,并分析被测视频,得到测试结果,并保存测试结果。本发明实施例中可以保存历次测试的测试结果,并进行历史测试测过的分析比对。
采用本发明实施例提供的系统,可以直接将将测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延,以及将图像帧变化数量与流畅度测试时长的比值,确定为目标应用程序的流畅度。实现了在不影响应用软件的正常运行的基础上简化了对应用软件的时延和流畅度的性能测试过程。
本发明实施例中,利用采集卡进行时延和流畅度等指标测试时,可以通过HDMI接口将采集卡直接与机顶盒和测试设备相连接,结合红外学习发射器或adb发射测试起始指令,通过采集卡、机顶盒和测试设备实现应用软件的时延测试和流程度测试;如果电视机也具有HDMI接口,也可以将采集卡直接与测试设备和具有HDMI接口的电视机相连接,结合红外学习发射器或adb发射测试起始指令,通过采集卡、电视机和测试设备实现应用软件的时延测试和流程度测试。
本发明实施例中,利用视频录制设备进行时延和流畅度等指标测试时,可以将视频录制设备与测试设备相连接,通过视频录制设备录制电视机的显示屏,得到电视机的视频画面信息,然后结合红外学习发射器或adb发射测试起始指令,直接通过电视机、视频录制设备和测试设备实现应用软件的时延测试和流程度测试;如果机顶盒与电视机相连接,视频录制设备也可以通过录制电视机的显示屏幕得到机顶盒的数据,实现对机顶盒的相应的应用软件的时延测试和流程度测试。
基于同一发明构思,根据本发明实施例所提供的应用程序的性能测试方法,本发明实施例还提供了一种应用程序的性能测试装置,应用于测试系统中的测试设备,所述测试系统还包括被测设备,参见图9,所述装置包括:
图像采集模块901,用于在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
差异度计算模块902,用于针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;
目标图像确定模块903,用于基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;
时延确定模块904,用于将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
采用本发明实施例提供的装置,在测试起始时刻向被测设备发送测试起始指令,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧;针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于差异度,从各个图像帧中确定出目标图像帧,并将目标图像帧的被采集时刻作为测试结束时刻;将测试起始时刻与测试结束时刻之间的时长,确定为目标应用程序的时延。即可以通过在测试起始时刻向被测设备发送测试起始指令,指示目标应用程序执行目标操作,并从测试起始时刻开始采集被测设备的显示界面的多个图像帧,通过分析图像帧的差异度确定出目标图像帧对应的测试结束时刻,得到测试起始时刻与测试结束时刻之间的时长,作为目标应用程序的时延,在不影响应用程序的正常运行的前提下,简化了对应用程序的性能测试的人工操作,并实现了自动化测试。
进一步的,参见图10,所述装置还包括:流畅度测试模块1001,用于将差异度超过第一预设差异度阈值,且被采集时刻与所述测试起始时刻相距最近的图像帧确定为起始图像帧;将待选图像帧中被采集时刻与所述起始图像帧的被采集时刻相距最近的待选图像帧确定为终止图像帧,其中,所述待选图像帧为所述起始图像帧之后连续第一预设数量个对应的差异度均不大于第二预设差异度阈值的图像帧;将图像帧变化数量与流畅度测试时长的比值,确定为所述目标应用程序的流畅度,其中,所述图像帧变化数量为从所述起始图像帧至所述终止图像帧所包括的图像帧中,差异度大于等于所述第二预设差异度阈值的图像帧的数量;所述流畅度测试时长为所述起始图像帧的被采集时刻与所述终止图像帧的被采集时刻之间的时长。
进一步的,差异度计算模块902,具体用于针对该图像帧中预设区域内的每个像素点,确定该像素点的像素值与该图像帧的前一图像帧中相对应的像素点的像素值之间的差异值;将该图像帧中对应的差异值大于预设像素差异阈值的像素点的数量,与所述预设区域内像素点的数量的比值确定为该图像帧对应的差异度。
进一步的,目标图像确定模块903,具体用于将差异度超过第三预设差异度阈值的图像帧确定为备选图像帧;将被采集时刻与所述测试起始时刻相距最近的备选图像帧作为当前备选图像帧;判断当前备选图像帧是否满足预设目标条件,若满足,则确定当前备选图像帧为目标图像帧,若不满足,则将被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧作为新的当前备选图像帧,并返回执行所述判断当前备选图像帧是否满足预设目标条件的步骤;其中,当前备选图像帧满足预设目标条件为:被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量超过第二预设数量;或者,被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值大于预设平均值阈值;或者,被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值不大于预设平均值阈值;
或者,将差异度超过所述第三预设差异度阈值,且被采集时刻与所述测试起始时刻相距最近的图像帧确定为目标图像帧。
进一步的,所述测试系统还包括图像采集卡;所述图像采集卡分别与所述测试设备和所述被测设备相连接;图像采集模块901,具体用于获取所述图像采集卡从所述测试起始时刻开始采集的所述被测设备的显示界面的多个图像帧。
进一步的,所述测试系统还包括视频录制设备,所述视频录制设备与所述测试设备相连接;图像采集模块901,具体用于接收所述视频录制设备发送的被测视频;所述被测视频为:所述视频录制设备录制的针对所述被测设备的显示界面的视频;对所述被测视频进行分帧处理,得到多个图像帧。
进一步的,参见图10,所述装置还包括:补偿时长确定模块1002,用于获取所述被测视频的实际时长和所述视频录制设备实际录制到所述被测视频的录制结束时刻;计算所述测试起始时刻减去所述录制结束时刻的差值,与所述实际时长之和,作为校准后的测试起始时刻;
时延确定模块904,具体用于将所述校准后的测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
采用本发明实施例提供的装置,获取被测视频;对被测视频进行分帧处理,得到多个图像帧;针对每个图像帧,确定该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于各图像帧对应的差异度,从各图像帧中确定目标图像帧;基于测试起始时刻和目标图像帧在被测视频中对应的被录制时刻,确定出目标应用程序的时延,实现了在不影响应用软件的正常运行的基础上简化了对应用软件的性能测试过程。并且,可以较为完全地模拟用户操作,贴近用户体验。此外,测试过程无需人工值守,提高了测试效率。
本发明实施例还提供了一种测试设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现上述方法实施例中由终端执行的步骤:
在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;
基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;
将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
上述测试设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述测试设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用程序的性能测试方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一应用程序的性能测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种应用程序的性能测试方法,其特征在于,应用于测试系统中的测试设备,所述测试系统还包括被测设备,所述方法包括:
在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;
基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;
将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
2.根据权利要求1所述的方法,其特征在于,在所述针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度之后,所述方法还包括:
将差异度超过第一预设差异度阈值,且被采集时刻与所述测试起始时刻相距最近的图像帧确定为起始图像帧;
将待选图像帧中被采集时刻与所述起始图像帧的被采集时刻相距最近的待选图像帧确定为终止图像帧,其中,所述待选图像帧为所述起始图像帧之后连续第一预设数量个对应的差异度均不大于第二预设差异度阈值的图像帧;
将图像帧变化数量与流畅度测试时长的比值,确定为所述目标应用程序的流畅度,其中,所述图像帧变化数量为从所述起始图像帧至所述终止图像帧所包括的图像帧中,差异度大于等于所述第二预设差异度阈值的图像帧的数量;所述流畅度测试时长为所述起始图像帧的被采集时刻与所述终止图像帧的被采集时刻之间的时长。
3.根据权利要求1所述的方法,其特征在于,所述计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度,包括:
针对该图像帧中预设区域内的每个像素点,确定该像素点的像素值与该图像帧的前一图像帧中相对应的像素点的像素值之间的差异值;
将该图像帧中对应的差异值大于预设像素差异阈值的像素点的数量,与所述预设区域内像素点的数量的比值确定为该图像帧对应的差异度。
4.根据权利要求1所述的方法,其特征在于,所述基于所述差异度,从各个所述图像帧中确定出目标图像帧,包括:
将差异度超过第三预设差异度阈值的图像帧确定为备选图像帧;将被采集时刻与所述测试起始时刻相距最近的备选图像帧作为当前备选图像帧;判断当前备选图像帧是否满足预设目标条件,若满足,则确定当前备选图像帧为目标图像帧,若不满足,则将被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧作为新的当前备选图像帧,并返回执行所述判断当前备选图像帧是否满足预设目标条件的步骤;其中,当前备选图像帧满足预设目标条件为:被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量超过第二预设数量;或者,被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之前的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值大于预设平均值阈值;或者,被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧的数量小于所述第二预设数量且不小于第三预设数量,且被采集时刻在当前备选图像帧之后的、且与当前备选图像帧相邻的备选图像帧,与当前备选图像帧之间的图像帧对应的差异度的平均值不大于预设平均值阈值;
或者,
将差异度超过所述第三预设差异度阈值,且被采集时刻与所述测试起始时刻相距最近的图像帧确定为目标图像帧。
5.根据权利要求1所述的方法,其特征在于,所述测试系统还包括图像采集卡;所述图像采集卡分别与所述测试设备和所述被测设备相连接;
所述从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧,包括:
获取所述图像采集卡从所述测试起始时刻开始采集的所述被测设备的显示界面的多个图像帧。
6.根据权利要求1所述的方法,其特征在于,所述测试系统还包括视频录制设备,所述视频录制设备与所述测试设备相连接;
所述从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧,包括:
接收所述视频录制设备发送的被测视频;所述被测视频为:所述视频录制设备录制的针对所述被测设备的显示界面的视频;
对所述被测视频进行分帧处理,得到多个图像帧。
7.根据权利要求6所述的方法,其特征在于,在所述接收所述视频录制设备发送的被测视频之前,所述方法还包括:
获取所述被测视频的实际时长和所述视频录制设备实际录制到所述被测视频的录制结束时刻;
计算所述测试起始时刻减去所述录制结束时刻的差值,与所述实际时长之和,作为校准后的测试起始时刻;
所述将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延,包括:
将所述校准后的测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
8.一种应用程序的性能测试系统,其特征在于,包括:测试设备和被测设备;
所述测试设备,用于在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延;其中,所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
所述被测设备,用于接收所述测试设备在所述测试起始时刻发送的所述测试起始指令,并基于所述测试起始指令指示所安装的所述目标应用程序执行所述目标操作。
9.根据权利要求8所述的系统,其特征在于,所述测试系统还包括图像采集卡;所述图像采集卡分别与所述测试设备和所述被测设备相连接;
所述图像采集卡,用于从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;
所述测试设备,用于获取所述图像采集卡从所述测试起始时刻开始采集的所述被测设备的显示界面的多个图像帧。
10.根据权利要求8所述的系统,其特征在于,所述测试系统还包括视频录制设备,所述视频录制设备与所述测试设备相连接;
所述视频录制设备,用于从测试起始时刻开始录制针对所述被测设备的显示界面的视频,作为被测视频;
所述测试设备,用于接收所述视频录制设备发送的所述被测视频;对所述被测视频进行分帧处理,得到多个图像帧。
11.一种应用程序的性能测试装置,其特征在于,应用于测试系统中的测试设备,所述测试系统还包括被测设备,所述装置包括:
图像采集模块,用于在测试起始时刻向所述被测设备发送测试起始指令,并从所述测试起始时刻开始采集所述被测设备的显示界面的多个图像帧;所述测试起始指令用于指示所述被测设备所安装的目标应用程序执行目标操作;
差异度计算模块,用于针对非第一帧的每个图像帧,计算该图像帧相比前一图像帧的图像差异度,作为该图像帧对应的差异度;
目标图像确定模块,用于基于所述差异度,从各个所述图像帧中确定出目标图像帧,并将所述目标图像帧的被采集时刻作为测试结束时刻;所述目标图像帧为:所述多个图像帧中标识所述目标应用程序已执行所述目标操作的第一帧图像帧;
时延确定模块,用于将所述测试起始时刻与所述测试结束时刻之间的时长,确定为所述目标应用程序的时延。
12.一种测试设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111314900.XA CN113886273A (zh) | 2021-11-08 | 2021-11-08 | 一种应用程序的性能测试方法、装置、测试设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111314900.XA CN113886273A (zh) | 2021-11-08 | 2021-11-08 | 一种应用程序的性能测试方法、装置、测试设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886273A true CN113886273A (zh) | 2022-01-04 |
Family
ID=79017496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111314900.XA Pending CN113886273A (zh) | 2021-11-08 | 2021-11-08 | 一种应用程序的性能测试方法、装置、测试设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886273A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093466A (zh) * | 2023-10-19 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 性能测试方法、装置、电子设备及存储介质 |
CN117809255A (zh) * | 2024-01-09 | 2024-04-02 | 广东工程宝科技有限公司 | 一种报修方法及报修系统 |
-
2021
- 2021-11-08 CN CN202111314900.XA patent/CN113886273A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093466A (zh) * | 2023-10-19 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 性能测试方法、装置、电子设备及存储介质 |
CN117093466B (zh) * | 2023-10-19 | 2024-01-16 | 腾讯科技(深圳)有限公司 | 性能测试方法、装置、电子设备及存储介质 |
CN117809255A (zh) * | 2024-01-09 | 2024-04-02 | 广东工程宝科技有限公司 | 一种报修方法及报修系统 |
CN117809255B (zh) * | 2024-01-09 | 2024-06-21 | 广东工程宝科技有限公司 | 一种报修方法及报修系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6898968B2 (ja) | 応答時間を確定するための方法及び装置 | |
CN105052161B (zh) | 实时电视广告检测的系统和方法 | |
CN113886273A (zh) | 一种应用程序的性能测试方法、装置、测试设备及介质 | |
EP2982131B1 (en) | Systems and methods for real-time television ad detection using an automated content recognition database | |
US11588874B2 (en) | Web-based content recording and adaptive streaming | |
CN109120954B (zh) | 视频消息推送方法、装置、计算机设备及存储介质 | |
CN110941738A (zh) | 推荐方法、装置、电子设备及计算机可读存储介质 | |
CN113824987B (zh) | 直播间首帧耗时的确定方法、介质、装置和计算设备 | |
CN116527879A (zh) | 机顶盒测试方法、装置、介质和计算机装置 | |
CN111541927A (zh) | 一种视频播放方法及装置 | |
CN114419502A (zh) | 一种数据分析方法、装置及存储介质 | |
CN110347597B (zh) | 图片服务器的接口测试方法、装置、存储介质与移动终端 | |
US9602852B1 (en) | Metering of internet protocol video streams | |
CN109600571B (zh) | 多媒体资源传输测试系统和多媒体资源传输测试方法 | |
CN111131812A (zh) | 开播时间测试方法、装置及计算机可读存储介质 | |
CN108882024B (zh) | 一种视频播放方法、装置及电子设备 | |
CN113886272A (zh) | 一种应用程序的性能测试方法、系统、装置和测试设备 | |
US20230142311A1 (en) | Method and apparatus for monitoring usage of at least one application executed within an operating system | |
CN113596582A (zh) | 一种视频预览方法、装置及电子设备 | |
JP7118998B2 (ja) | メディア視聴データを使用してデバイスマップの精度を改善させるためのシステムおよび方法 | |
CN115914775B (zh) | 一种封面确定方法、装置、电子设备及存储介质 | |
WO2021036599A1 (zh) | 机顶盒测试方法及装置、机顶盒及计算机可读存储介质 | |
CN112770110A (zh) | 一种视频质量检测方法、装置及系统 | |
CN117938724A (zh) | 路由器的测试方法、装置及测试设备 | |
CN116401151A (zh) | 图片识别算法的精度测试方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |