CN109144858A - 流畅度检测方法、装置、计算设备及存储介质 - Google Patents
流畅度检测方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN109144858A CN109144858A CN201810871640.8A CN201810871640A CN109144858A CN 109144858 A CN109144858 A CN 109144858A CN 201810871640 A CN201810871640 A CN 201810871640A CN 109144858 A CN109144858 A CN 109144858A
- Authority
- CN
- China
- Prior art keywords
- frame
- frame losing
- losing number
- fluency
- timestamp
- 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.)
- Granted
Links
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示出了根据本申请一些实施例的流畅度检测方法200的流程图;
图3示出了根据本申请一些实施例的流畅度检测方法300的流程图;
图4示出了根据本申请一些实施例的时间戳提取方法400的流程图;
图5示出了根据本申请一些实施例的流畅度检测方法500的流程图;
图6示出了根据本申请一些实施例的流畅度检测装置600的示意图;
图7示出了根据本申请一些实施例的流畅度检测装置700的示意图;
图8示出了根据本申请一些实施例的流畅度检测装置800的示意图;以及
图9示出了一个计算设备的组成结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
用户设备(例如手机、平板电脑或笔记本电脑等终端设备)可以安装多种应用。应用的画面流畅度可以极大影响用户体验。在一些实施例中,为了检测画面流畅度,应用可以在显示页面内容的过程中实时监测画面刷新的帧率(即,每秒中所显示画面的帧数)。这里,应用在多个时间点监测到的帧率可以用于生成帧率曲线图,以通过帧率曲线分析应用的流畅度。
图1示出了根据本申请一些实施例的应用场景100的示意图。
如图1所示,检测设备102可以通过一个或多个网络106与用户设备104(例如,用户设备104a-c)进行通信。用户设备104(例如,用户设备104a-c)可以安装应用108(例如,应用108a-c)。应用108例如是即时通信应用、短视频应用、浏览器应用或者社交应用等客户端软件。在一些实施例中,应用108可以向用户提供用户界面元素(例如,文本框、按钮、视频播放窗口、消息显示区域等)。
用户设备104和检测设备102均可以包括但不限于掌上型计算机、可穿戴计算设备、个人数字助理(PDA)、平板计算机、笔记本电脑、台式计算机、移动电话、智能手机、增强型通用分组无线业务(EGPRS)移动电话、媒体播放器、导航设备、游戏控制台、电视机、或任意两个或更多的这些数据处理设备或其他数据处理设备的组合。
一个或多个网络106的示例包括局域网(LAN)和广域网(WAN)诸如互联网。可选地,本申请的实施例可以使用任意公知的网络协议来实现一个或多个网络106,包括各种有线或无线协议,诸如,以太网、通用串行总线(USB)、FIREWIRE、全球移动通讯系统(GSM)、增强数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、WiFi、IP语音(VoIP),Wi-MAX,或任意其他适合的通信协议。
为了对应用108的流畅度进行检测,检测设备102可以指示用户设备104启动应用108,并使得应用108执行测试用例。用户设备104可以将生成的测试结果发送到检测设备102。这样,检测设备102可以根据测试结果对流畅度进行分析。下面结合图2对根据本申请的流畅度检测方案进行说明。
图2示出了根据本申请一些实施例的流畅度检测方法200的流程图。流畅度检测方法200例如可以在检测设备102中执行。
在步骤S201中,向包含待检测的应用(例如应用108)的设备(例如用户设备104,但不限于此)发送启动指示,以使包含待检测应用的设备启动应用而执行测试用例,并监测测试用例的执行过程而生成测试结果。其中,测试用例用于描述在测试时长内对应用的画面切换操作。测试结果包括应用在测试时长内显示的画面帧的时间戳。这里,测试结果例如还可以包括测试时长对应的开始时间和结束时间。一个画面帧例如是在用户设备104的屏幕上绘制显示的一个画面。一个画面帧的时间戳例如可以是一个画面帧被绘制完成的时间点。在一些实施例中,测试用例可以集成在应用中。在一些实施例中,测试用例可以由检测设备102提供。
在步骤S202中,接收来自包含待检测的应用的设备的测试结果,并从测试结果中提取画面帧的时间戳。在一些实施例中,应用108可以将测试结果存储在用户设备104的日志文件中。检测设备102可以从用户设备104获取日志文件,并且从日志文件中提取出画面帧的时间戳。
在步骤S203中,按照丢帧数统计周期,对画面帧的时间戳进行分组,并计算每组的丢帧数。换言之,步骤S203可以按照统计周期对画面帧的时间戳组成的时间戳序列进行分段操作。每个分段为一个组。在一些实施例中,步骤S203可以确定丢帧数统计周期对应的标准帧数。这里,标准帧数表示应用在丢帧数统计周期内显示画面帧的标准数量。这里,标准帧数是指在未发生丢帧的情况下,应用可以在一个统计周期内显示的画面帧的数量。以统计周期为100毫秒为例,在未发生丢帧的情况下,应用可以在一个统计周期内显示6个画面帧(即标准帧数为6)。又例如,1秒时长的统计周期对应的标准帧数为60。这样,步骤S203可以按照时间顺序,将画面帧的时间戳进行分组。每组包括标准帧数的时间戳。
在步骤S204中,基于每组的丢帧数,确定应用在测试时长内的流畅度。在一些实施例中,步骤S204可以根据每组的丢帧数,计算测试时长内总的丢帧数与单帧显示时长(例如为1/60秒)之积。在此基础上,步骤S204可以确定积与测试时长的比值,并利用该比值确定流畅度。这里,比值越低,测试时长内丢失的帧数越少,应用在测试时长内画面的流畅度越高。简言之,比值越低,流畅度越高。例如,比值和流畅度之和为1。即,流畅度=1-比值。
在另一些实施例中,步骤S204可以基于每组的丢帧数确定每组的帧率。然后,步骤S204可以基于测试时长内所有组的帧率的平均值,确定流畅度。例如,步骤S204可以将平均值作为流畅度。例如,丢帧数统计周期用x表示,单位为秒。每个组的标准帧数例如用s表示。一个组的丢帧数例如用y表示。该组的帧率可以根据下述方式确定:
F=(s-y)/x其中F表示帧率。
在此基础上,步骤S204可以基于测试时长内所有组的帧率的平均值,确定流畅度。例如,步骤S204可以根据下述方式计算流畅度。
其中,L表示流畅度,Fi表示第i组的帧率,C表示总的组数,M表示一秒中的标准帧数,例如为60帧。
综上,方法200通过步骤S201,可以远程控制用户设备对待检测的应用进行测试操作。通过步骤S202和S203,方法200可以根据丢帧数统计周期对画面帧的时间戳进行分组并确定每组的丢帧数。在此基础上,方法200可以通过步骤S204确定应用在测试时长内的流畅度。特别说明的是,方法200通过按照统计周期(统计周期可以按照需要进行设定)对时间戳进行分组,可以灵活地调节对流畅度的统计频率。这里,每个组可以被认为是一个统计样本。统计频率可以表示单位时长内统计样本的数量。统计周期越短,统计频率越高。这样,方法200可以灵活地提高统计频率,从而可以提高流畅度的测试效率。另外说明的是,通过灵活地对时间戳进行分组,方法200可以灵活地分析测试时长内画面流畅性的变化规律,从而能够定位应用中页面的性能瓶颈。
图3示出了根据本申请一些实施例的流畅度检测方法300的流程图。流畅度检测方法300例如可以在检测设备102中执行。
在步骤S301中,获取对待检测的应用(例如应用108)的测试用例。测试用例用于描述在测试时长内对应用的画面切换操作。在一些实施例中,检测设备102可以在步骤S301中根据用户输入而生成测试用例。在一些实施例中,测试用例可以包括对待检测的应用中一个或多个对象的操作指示。这里,对象例如是指应用中一个页面或一个操作控件等等,但不限于此。
在步骤S302中,向包含待检测的应用的设备(例如用户设备104)中应用发送测试用例。
在步骤S303中,向包含待检测的应用的设备发送启动指示,以使包含待检测应用的设备启动应用而执行测试用例,并监测测试用例的执行过程而生成测试结果。其中,测试结果包括应用在测试时长内显示的画面帧的时间戳。步骤S303的实施方式与步骤S201一致,这里不再赘述。
在步骤S304中,接收来自包含待检测的应用的设备的测试结果,并从测试结果中提取画面帧的时间戳。在一些实施例中,应用108可以将测试结果存储在用户设备104的日志文件中。检测设备102可以从用户设备104获取日志文件,并且从日志文件中提取出画面帧的时间戳。在一些实施例中,日志文件的内容可能不限于画面帧的时间戳。为了从日志文件中提取画面帧的时间戳,步骤S304可以实施图4所示的时间戳提取方法400。
如图4所示,在步骤S401中,读取日志文件的一行记录。在步骤S402中判断步骤S401中读取的一行记录是否包含对应测试结果的标识,以及判断该行记录中时间戳是否处于执行测试用例的时间段。对应测试结果的标识例如可以是指获取时间戳的组件的标识,例如为KMCGeigerCounter组件的标识,但不限于此。例如,步骤S401可以判断时间戳是否处于执行测试用例的开始时间和结束时间之间。在确定该行记录处于执行测试用例的时间段且包含对应测试结果的标识时,方法400可以执行步骤S403。在步骤S403中,从该行记录中提取画面帧的时间戳。在提取该行记录的时间戳后,方法400可以执行步骤S404,判断日志文件是否结束。在步骤S404确定日志文件未结束时,方法400可以继续通过步骤S401读取下一行记录。综上,方法400可以从日志文件中准确提取测试结果对应的画面帧的时间戳,从而保证后续确定应用流畅度的准确度。
在步骤S305中,按照丢帧数统计周期,对画面帧的时间戳进行分组,并计算每组的丢帧数。
在一些实施例中,步骤S305的实施方式与步骤S203一致,这里不再赘述。
在一些实施例中,丢帧数统计周期例如可以是默认设置值。在一些实施例中,检测设备102可以响应于用户操作而设定丢帧数统计周期。丢帧数统计周期例如可以是100毫秒、200毫秒或者300毫秒等等时间长度。每个画面帧的显示时长为1/60秒(约为16.67毫秒)。每个组的时间戳数量为一个统计周期的标准帧数。这里,标准帧数是指在未发生丢帧的情况下,应用可以在一个统计周期内显示的画面帧的数量。以统计周期为100毫秒为例,在未发生丢帧的情况下,应用108可以在一个统计周期内显示6个画面帧。因此,步骤S305可以将每组的时间戳数量确定为6个。按照100毫秒的统计周期,步骤S305可以将6个画面帧的时间戳划分为一个组。对于一个组的6个画面帧,步骤S305可以统计与第1个画面帧的时间差距超过100毫秒的时间戳的数量。这里,步骤S305确定的时间差距超过100毫秒的时间戳的数量与丢帧数一致。
在步骤S306中,基于每组的丢帧数,确定应用在测试时长内的流畅度。
在一些实施例中,检测设备102可以通过步骤S3061和S3062实施步骤S306。
在步骤S3061中,根据每组的丢帧数,计算测试时长内总的丢帧数与单帧显示时长(例如为1/60秒)之积。
在一些实施例中,为了确定测试时长内总的丢帧数,可以首先将丢帧数的取值范围划分为多个丢帧数区间,并计算每个丢帧数区间的区间丢帧数;然后,再根据各个丢帧数区间的区间丢帧数确定测试时长内总的丢帧数。例如,所划分的丢帧数区间依次为0,1,[2,4],[5,8],[9,15],[16,m]。其中m为标准帧数。在此基础上,步骤S3061可以将每个丢帧数区间内的各组的丢帧数统一为一个参考值,例如为丢帧数区间的中位值,但不限于此。换言之,对于一个丢帧数区间而言,该区间内各组的丢帧数被认为相同,即各组的丢帧数均是一个参考值。基于一个丢帧数区间的参考值,步骤S3061可以将该参考值与该丢帧数区间内组的数量之积作为该丢帧数区间的区间丢帧数,那么,测试时长内总的丢帧数就可以表示为各个丢帧数区间的区间丢帧数之和。例如,步骤S3061可以根据下述方式计算测试时长内总的丢帧数:
测试时长内总的丢帧数=掉0帧区间内组数*1+掉1帧区间内组数*1.5+掉2~4帧区间内组数*3+掉5~8帧区间内组数*6+掉9~15帧区间内组数*11+掉16帧以上区间内组数*22。
在此基础上,步骤S3062可以确定积与测试时长的比值,并利用比值确定流畅度。这里,比值也可以称为丢帧流畅度。比值越低,流畅度越高。例如,比值和流畅度之和为1。即,流畅度=1-比值。
综上,通过步骤S3061和S3062,步骤S306可以采用划分丢帧数区间和确定每个区间的参考值,简化计算总的丢帧数的计算过程,从而能够快速计算流畅度值,进而提高流畅度检测效率。
在一些实施例中,检测设备102还可以通过步骤S3063和步骤S3064实施步骤S306。在步骤S3063中,基于每组的丢帧数确定每组的帧率。这里,丢帧数统计周期例如用x表示,单位为秒。每个组的标准帧数例如用s表示。一个组的丢帧数例如用y表示。该组的帧率可以根据下述方式确定:
F=(s-y)/x其中F表示帧率。
在步骤S3064中,基于测试时长内所有组的帧率的平均值,确定流畅度。例如,步骤S3064可以根据下述方式计算流畅度。
其中,L表示流畅度,Fi表示第i组的帧率,C表示总的组数,M表示一秒中的标准帧数,例如为60帧。
综上,方法300可以通过步骤S301至S303,对应用执行测试用例的过程进行远程控制。通过步骤S304-S306,方法300可以灵活地调节对流畅度的统计频率,从而能够在提高统计频率时提高流畅度的检测效率。
在一些实施例中,测试用例的画面切换操作例如可以是同一页面中多个显示区域之间的切换操作。这里,每个显示区域可以显示为在屏幕中一个画面,每个画面对应的图像数据为一个画面帧。一个页面例如可以是应用108的一个用户界面。一个页面也可以是在应用108中显示的一个网页。在一些实施例中,测试用例的画面切换操作例如可以是多个页面之间的画面切换操作。比如,从页面A的一个画面切换至页面B的一个画面,从页面B的一个画面切换到页面C的一个画面,等等。
在一些实施例中,测试结果还包括在测试时长内显示的画面帧的标识。这里,内容相同的画面帧可以对应同一个标识。例如,当所显示的画面帧序列中两个画面帧相同时,这两个画面帧的标识也相同。这里,在一些实施例中,测试用例可以包括多次画面切换操作。每次画面切换操作涉及两个画面帧。换言之,每次画面切换操作从这两个画面帧中一个画面帧切换至另一个画面帧。方法300还可以包括步骤S307。在步骤S307中,对于所述测试用例中任意一次画面切换操作,确定该画面切换操作对应的两个画面帧的时间戳之间的时差,并根据该时差确定应用中页面的性能。通过步骤S307,方法300可以根据时差,定位应用中页面的性能瓶颈。
在一些实施例中,方法300还包括步骤S308,根据每组的丢帧数,生成丢帧数统计曲线,并根据所述丢帧数统计曲线确定所述应用在测试时长内画面流畅性变化趋势。例如,步骤S308可以根据每组的丢帧数,确定丢帧数随时间变化的丢帧数统计曲线。这样,基于该曲线和画面切换操作的流程,方法300可以灵活地分析测试时长内画面流畅性的变化规律,从而能够定位应用中页面的性能瓶颈。
图5示出了根据本申请一些实施例的流畅度检测方法500的流程图。流畅度检测方法500例如可以在用户设备104中执行。更具体而言,流畅度检测方法200例如可以在用户设备104的一个测试组件中执行。这里,测试组件例如可以实现为一个独立应用,也可以实现为应用108的一个插件,本申请对此不做限制。如图5所示,在步骤S501中,接收检测设备对待检测的应用的启动指示。
在步骤S502中,响应于启动指示,启动应用并执行测试用例。其中,测试用例用于描述在测试时长内对应用的画面切换操作。
在步骤S503中,监测测试用例的执行过程,而生成测试结果。其中,测试结果包括应用在测试时长内显示的画面帧的时间戳。在一些实施例中,用户设备104可以通过帧监测模块监测应用在测试时长内显示的画面帧,以获取显示的画面帧的时间戳。这里,帧监测模块例如是基于KMCGeigerCounter组件,但不限于此。
在步骤S504中向检测设备发送所述测试结果,以使检测设备(例如102)根据测试结果确定应用的画面流畅度。
综上,通过步骤S501和S502,方法500可以根据检测设备的指示而启动执行测试用例的过程。通过步骤S503和S504,方法500可以监测每个画面帧的时间戳,从而可以向检测设备提供包含每个画面帧的时间戳的测试结果,以便检测设备根据时间戳判断应用的流畅度。
图6示出了根据本申请一些实施例的流畅度检测装置600的示意图。流畅度检测装置600例如可以驻留在检测设备102中。
如图6所示,流畅度检测装置600可以包括发送单元601、接收单元602、分组单元603和流畅度确定单元604。
发送单元601用于向包含待检测的应用的设备(例如用户设备104)发送启动指示,以使设备启动应用而执行测试用例并监测所述测试用例的执行过程而生成测试结果。其中,测试用例用于描述在测试时长内对应用的画面切换操作。测试结果包括应用在测试时长内显示的画面帧的时间戳。
接收单元602用于接收来自设备的测试结果,并从测试结果中提取画面帧的时间戳。在一些实施例中,接收单元602可以接收包含测试结果的日志文件,并从日志文件中提取画面帧的时间戳。具体而言,接收单元602可以读取日志文件的一行记录。然后,接收单元602可以确定该行记录是否包含对应测试结果的标识,并确定该行记录中时间戳是否处于执行测试用例的时间段。在确定该行记录处于执行测试用例的时间段且包含对应测试结果的标识时,接收单元602可以从该行记录中提取画面帧的时间戳。在提取该行记录的所述时间戳后,接收单元602可以确定日志文件是否结束。在确定所述日志文件未结束时,接收单元602可以继续读取日志文件的下一行记录。
分组单元603用于按照丢帧数统计周期,对画面帧的时间戳进行分组,并计算每组的丢帧数。在一些实施例中,分组单元603可以确定丢帧数统计周期对应的标准帧数。标准帧数表示应用在丢帧数统计周期内显示画面帧的标准数量。分组单元603可以按照时间顺序,将画面帧的时间戳进行分组。每组包括标准帧数的时间戳。
流畅度确定单元604用于基于每组的丢帧数,确定应用在测试时长内的流畅度。在一些实施例中,流畅度确定单元604可以根据每组的丢帧数,计算测试时长内总的丢帧数与单帧显示时长之积。流畅度确定单元604可以确定所述积与测试时长的比值,利用比值确定流畅度。在一些实施例中,流畅度确定单元604可以将丢帧数的取值范围划分为多个丢帧数区间,并计算每个丢帧数区间的区间丢帧数。然后,流畅度确定单元604可以根据各个丢帧数区间的区间丢帧数确定测试时长内总的丢帧数。最后,流畅度确定单元604可以计算总的丢帧数与所述单帧显示时长之积。
在一些实施例中,对于任一丢帧数区间,流畅度确定单元604可以将该丢帧数区间内各组的丢帧数统一为一个参考值。这样,流畅度确定单元604可以将该丢帧数据区间内组的数量与参考值之积作为该丢帧数区间的区间丢帧数。
在一些实施例中,流畅度确定单元604可以基于每组的丢帧数确定每组的帧率。基于测试时长内所有组的帧率的平均值,流畅度确定单元604确定流畅度。在一些实施例中,流畅度确定单元604还可以根据每组的丢帧数,生成丢帧数统计曲线,并根据丢帧数统计曲线确定所述应用在测试时长内画面流畅性变化趋势。装置600更具体的实施方式与方法300一致,这里不再赘述。
图7示出了根据本申请一些实施例的流畅度检测装置700的示意图。流畅度检测装置700例如可以驻留在检测设备102中。装置700可以包括发送单元701、接收单元702、分组单元703和流畅度确定单元704。这里,发送单元701、接收单元702、分组单元703和流畅度确定单元704的实施方式分别与发送单元601、接收单元602、分组单元603和流畅度确定单元604一致,这里不再赘述。
另外,装置700还包括获取单元705、周期确定单元706和性能分析单元707。
获取单元705用于在发送单元701向设备发送启动指示之前,获取用于测试应用的测试用例。发送单元701还用于向设备发送测试用例。
在分组单元703按照丢帧数统计周期,计算每组的丢帧数之前,周期确定单元706用于响应于用户操作而确定丢帧数统计周期。
对于测试用例中任意一次画面切换操作,性能分析单元707用于确定该画面切换操作对应的两个画面帧的时间戳之间的时差,并根据该时差确定应用中页面的性能。
图8示出了根据本申请一些实施例的流畅度检测装置800的流程图。流畅度检测装置800例如可以驻留在用户设备104中。
如图8所示,流畅度检测装置800可以包括接收单元801、测试管理单元802、监测单元803和发送单元804。
接收单元801用于接收检测设备对待检测的应用的启动指示。
测试管理单元802用于响应于启动指示,启动应用并执行测试用例。其中,测试用例用于描述在测试时长内对应用的画面切换操作。
监测单元803用于监测测试用例的执行过程,而生成测试结果。其中,测试结果包括应用在测试时长内显示的画面帧的时间戳。在一些实施例中,监测单元803可以通过帧监测模块监测所述应用在所述测试时长内显示的画面帧,以获取显示的画面帧的时间戳。帧监测模块例如是基于KMCGeigerCounter组件,但不限于此。
发送单元804用于向检测设备发送测试结果,以使检测设备根据测试结果确定应用的画面流畅度。
图9示出了一个计算设备的组成结构图。如图9所示,该计算设备包括一个或者多个处理器(CPU)902、通信模块904、存储器906、用户接口910,以及用于互联这些组件的通信总线908。
处理器902可通过通信模块904接收和发送数据以实现网络通信和/或本地通信。
用户接口910包括一个或多个输出设备912,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口910也包括一个或多个输入设备914。用户接口910例如可以接收遥控器的指令,但不限于此。
存储器906可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器906存储处理器902可执行的指令集,包括:
操作系统916,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用918,包括用于实现上述流畅度检测方法的各种程序,比如可以包括图6所示流畅度装置600、图7所示流畅度装置700和图8所示流畅度检测装置800。
另外,本申请的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。
此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本申请还公开了一种非易失性存储介质,其中存储有数据处理程序,该数据处理程序用于执行本申请上述流畅度检测方法的任意一种实施例。
另外,本申请所述的方法步骤除了可以用数据处理程序来实现,还可以由硬件来实现,例如,可以由逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌微控制器等来实现。因此这种可以实现本申请所述方法的硬件也可以构成本申请。
以上所述仅为本申请的可选实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种流畅度检测方法,其特征在于,包括:
向包含待检测的应用的设备发送启动指示,以使所述设备启动所述应用而执行测试用例并监测所述测试用例的执行过程而生成测试结果,其中,所述测试用例用于描述在测试时长内对所述应用的画面切换操作,所述测试结果包括所述应用在所述测试时长内显示的画面帧的时间戳;
接收来自所述设备的所述测试结果,并从所述测试结果中提取所述画面帧的时间戳;
按照丢帧数统计周期,对所述画面帧的时间戳进行分组,并计算每组的丢帧数;以及
基于所述每组的丢帧数,确定所述应用在所述测试时长内的流畅度。
2.如权利要求1所述的方法,其中,所述基于所述每组的丢帧数,确定所述应用在所述测试时长内的流畅度,包括:
根据所述每组的丢帧数,计算所述测试时长内总的丢帧数与单帧显示时长之积;
确定所述积与所述测试时长的比值,利用所述比值确定所述流畅度。
3.如权利要求2所述的方法,其中,所述根据所述每组的丢帧数,计算所述测试时长内总的丢帧数与单帧显示时长之积,包括:
将丢帧数的取值范围划分为多个丢帧数区间,并计算每个丢帧数区间的区间丢帧数;
根据各个丢帧数区间的区间丢帧数确定测试时长内总的丢帧数;
计算所述总的丢帧数与所述单帧显示时长之积。
4.如权利要求3所述的方法,其中,所述计算每个丢帧数区间的区间丢帧数;
对于任一丢帧数区间,将该丢帧数区间内各组的丢帧数统一为一个参考值;
将该丢帧数据区间内组的数量与所述参考值之积作为该丢帧数区间的区间丢帧数。
5.如权利要求1所述的方法,其中,所述基于所述每组的丢帧数,确定所述应用在所述测试时长内的流畅度,包括:
基于所述每组的丢帧数确定每组的帧率;
基于所述测试时长内所有组的帧率的平均值,确定所述流畅度。
6.如权利要求1所述的方法,其中,所述按照丢帧数统计周期,对所述画面帧的时间戳进行分组,包括:
确定所述丢帧数统计周期对应的标准帧数,所述标准帧数表示所述应用在所述丢帧数统计周期内显示画面帧的标准数量;
按照时间顺序,将所述画面帧的时间戳进行分组,每组包括所述标准帧数的时间戳。
7.如权利要求1所述的方法,进一步包括:对于所述测试用例中任意一次画面切换操作,确定该画面切换操作对应的两个画面帧的时间戳之间的时差,并根据该时差确定所述应用中页面的性能。
8.如权利要求1所述的方法,进一步包括:根据所述每组的丢帧数,生成丢帧数统计曲线,并根据所述丢帧数统计曲线确定所述应用在所述测试时长内画面流畅性变化趋势。
9.如权利要求1所述的方法,其中,所述接收来自所述设备的所述测试结果,并从所述测试结果中提取所述画面帧的时间戳,包括:
接收包含所述测试结果的日志文件;
读取所述日志文件的一行记录;
确定该行记录是否包含对应测试结果的标识,并确定该行记录中时间戳是否处于执行测试用例的时间段;
在确定该行记录处于执行测试用例的时间段且包含对应测试结果的标识时,从该行记录中提取画面帧的时间戳;
在提取该行记录的所述时间戳后,确定所述日志文件是否结束;
在确定所述日志文件未结束时,继续读取所述日志文件的下一行记录。
10.一种流畅度检测方法,其特征在于,包括:
接收检测设备对待检测的应用的启动指示;
响应于所述启动指示,启动所述应用并执行测试用例,其中,所述测试用例用于描述在测试时长内对所述应用的画面切换操作;
监测所述测试用例的执行过程,而生成测试结果,其中,所述测试结果包括所述应用在所述测试时长内显示的画面帧的时间戳;以及
向所述检测设备发送所述测试结果,以使所述检测设备根据所述测试结果确定所述应用的画面流畅度。
11.一种流畅度检测装置,其特征在于,包括:
发送单元,用于向包含待检测的应用的设备发送启动指示,以使所述设备启动所述应用而执行测试用例并监测所述测试用例的执行过程而生成测试结果,其中,所述测试用例用于描述在测试时长内对所述应用的画面切换操作,所述测试结果包括所述应用在所述测试时长内显示的画面帧的时间戳;
接收单元,用于接收来自所述设备的所述测试结果,并从所述测试结果中提取所述画面帧的时间戳;
分组单元,用于按照丢帧数统计周期,对所述画面帧的时间戳进行分组,并计算每组的丢帧数;以及
流畅度确定单元,用于基于所述每组的丢帧数,确定所述应用在所述测试时长内的流畅度。
12.一种流畅度检测装置,其特征在于,包括:
接收单元,用于接收检测设备对待检测的应用的启动指示;
测试管理单元,用于响应于所述启动指示,启动所述应用并执行测试用例,其中,所述测试用例用于描述在测试时长内对所述应用的画面切换操作;
监测单元,用于监测所述测试用例的执行过程,而生成测试结果,其中,所述测试结果包括所述应用在所述测试时长内显示的画面帧的时间戳;以及
发送单元,用于向所述检测设备发送所述测试结果,以使所述检测设备根据所述测试结果确定所述应用的画面流畅度。
13.一种计算设备,其特征在于包括:
处理器;
存储器;以及
一个或多个程序,存储在该存储器中并被配置为由所述处理器执行,所述一个或多个程序包括用于执行权利要求1-10中任一项所述的方法的指令。
14.一种存储介质,存储有一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810871640.8A CN109144858B (zh) | 2018-08-02 | 2018-08-02 | 流畅度检测方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810871640.8A CN109144858B (zh) | 2018-08-02 | 2018-08-02 | 流畅度检测方法、装置、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144858A true CN109144858A (zh) | 2019-01-04 |
CN109144858B CN109144858B (zh) | 2022-02-25 |
Family
ID=64798664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810871640.8A Active CN109144858B (zh) | 2018-08-02 | 2018-08-02 | 流畅度检测方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144858B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110806909A (zh) * | 2019-11-01 | 2020-02-18 | 北京金山安全软件有限公司 | 一种应用程序页面掉帧信息确定方法、装置及电子设备 |
CN111159042A (zh) * | 2019-12-31 | 2020-05-15 | 可牛网络技术(北京)有限公司 | 一种流畅度测试方法、装置及电子设备 |
CN112073597A (zh) * | 2020-08-14 | 2020-12-11 | 北京三快在线科技有限公司 | 视觉稳定度检测方法、装置、设备以及存储介质 |
CN112711519A (zh) * | 2019-10-25 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 画面流畅度检测方法、装置、存储介质和计算机设备 |
WO2022155844A1 (zh) * | 2021-01-21 | 2022-07-28 | 华为技术有限公司 | 一种视频传输质量的评估方法及装置 |
CN115495036A (zh) * | 2022-11-16 | 2022-12-20 | 深圳市客路网络科技有限公司 | 应用流畅性数据采集方法、电子设备和存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063286A (zh) * | 2013-03-22 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 显示内容变化的流畅度测试方法及装置 |
CN104679649A (zh) * | 2013-11-29 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种软件流畅度测试方法和测试装置 |
WO2015183708A1 (en) * | 2014-05-29 | 2015-12-03 | Microsoft Technology Licensing, Llc | Performance optimization tip presentation during debugging |
US20150356000A1 (en) * | 2014-06-10 | 2015-12-10 | International Business Machines Corporation | Remediation of known defects and vulnerabilities in cloud application packages |
CN105979332A (zh) * | 2015-12-04 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频数据的检测方法和装置 |
CN106547504A (zh) * | 2015-09-21 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 流畅度评估方法及装置 |
CN106657924A (zh) * | 2017-01-16 | 2017-05-10 | 陈银芳 | 一种视频的拍摄方法及装置 |
CN106802935A (zh) * | 2016-12-29 | 2017-06-06 | 腾讯科技(深圳)有限公司 | 一种页面流畅度的测试方法和装置 |
CN106959922A (zh) * | 2017-03-15 | 2017-07-18 | 武汉斗鱼网络科技有限公司 | 一种应用流畅度评价方法及装置 |
CN107102936A (zh) * | 2017-05-27 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种流畅度的评估方法和移动终端以及存储介质 |
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN107656866A (zh) * | 2017-09-06 | 2018-02-02 | 厦门美图移动科技有限公司 | 一种测试应用流畅度的方法、移动终端和计算设备 |
CN107783886A (zh) * | 2016-08-25 | 2018-03-09 | 平安科技(深圳)有限公司 | 一种获取运行帧率的方法及终端 |
-
2018
- 2018-08-02 CN CN201810871640.8A patent/CN109144858B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063286A (zh) * | 2013-03-22 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 显示内容变化的流畅度测试方法及装置 |
CN104679649A (zh) * | 2013-11-29 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种软件流畅度测试方法和测试装置 |
WO2015183708A1 (en) * | 2014-05-29 | 2015-12-03 | Microsoft Technology Licensing, Llc | Performance optimization tip presentation during debugging |
US20150356000A1 (en) * | 2014-06-10 | 2015-12-10 | International Business Machines Corporation | Remediation of known defects and vulnerabilities in cloud application packages |
CN106547504A (zh) * | 2015-09-21 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 流畅度评估方法及装置 |
CN105979332A (zh) * | 2015-12-04 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频数据的检测方法和装置 |
CN107783886A (zh) * | 2016-08-25 | 2018-03-09 | 平安科技(深圳)有限公司 | 一种获取运行帧率的方法及终端 |
CN106802935A (zh) * | 2016-12-29 | 2017-06-06 | 腾讯科技(深圳)有限公司 | 一种页面流畅度的测试方法和装置 |
CN106657924A (zh) * | 2017-01-16 | 2017-05-10 | 陈银芳 | 一种视频的拍摄方法及装置 |
CN106959922A (zh) * | 2017-03-15 | 2017-07-18 | 武汉斗鱼网络科技有限公司 | 一种应用流畅度评价方法及装置 |
CN107102936A (zh) * | 2017-05-27 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种流畅度的评估方法和移动终端以及存储介质 |
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN107656866A (zh) * | 2017-09-06 | 2018-02-02 | 厦门美图移动科技有限公司 | 一种测试应用流畅度的方法、移动终端和计算设备 |
Non-Patent Citations (2)
Title |
---|
JESSICA A. R. LOGAN: "Introduction to Latent Class Analysis for Reading Fluency Research", 《THE FLUENCY CONSTRUCT》 * |
陈昕 黄奕峰: "基于Android的音视频通信解决方案的研究与设计", 《信息通信》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711519A (zh) * | 2019-10-25 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 画面流畅度检测方法、装置、存储介质和计算机设备 |
CN110806909A (zh) * | 2019-11-01 | 2020-02-18 | 北京金山安全软件有限公司 | 一种应用程序页面掉帧信息确定方法、装置及电子设备 |
CN111159042A (zh) * | 2019-12-31 | 2020-05-15 | 可牛网络技术(北京)有限公司 | 一种流畅度测试方法、装置及电子设备 |
CN112073597A (zh) * | 2020-08-14 | 2020-12-11 | 北京三快在线科技有限公司 | 视觉稳定度检测方法、装置、设备以及存储介质 |
WO2022155844A1 (zh) * | 2021-01-21 | 2022-07-28 | 华为技术有限公司 | 一种视频传输质量的评估方法及装置 |
CN115495036A (zh) * | 2022-11-16 | 2022-12-20 | 深圳市客路网络科技有限公司 | 应用流畅性数据采集方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109144858B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144858A (zh) | 流畅度检测方法、装置、计算设备及存储介质 | |
Chen et al. | A lightweight end-side user experience data collection system for quality evaluation of multimedia communications | |
CN101616331B (zh) | 一种对视频帧率及音视频同步性能进行测试的方法 | |
CN102655585B (zh) | 视频会议系统及其时延测试方法、装置和系统 | |
CN101309400B (zh) | 一种流媒体业务停顿信息获取方法及装置 | |
US8639796B2 (en) | Monitoring the performance of a streaming media server using server-side and client-side measurements | |
CN104427402A (zh) | 一种无线网络流媒体质量获取方法及系统 | |
CN104349163A (zh) | 端到端视频传输延迟测量显示装置及测量系统 | |
CN105260082B (zh) | 一种测试数据展示方法及开发终端 | |
CN107247637A (zh) | 一种app故障确定方法及装置 | |
CN103095517A (zh) | 流媒体传输质量评估和信息获取方法及相关设备和系统 | |
CN112995776B (zh) | 共享屏幕内容抓屏帧率确定方法、装置、设备和存储介质 | |
CN113923441A (zh) | 视频质量的评估方法、装置及电子设备 | |
CN109309831A (zh) | 视频会议中视频延时的测试方法及装置 | |
CN113452944B (zh) | 一种云手机的画面显示方法 | |
CN106686371B (zh) | 一种帧率测试方法、装置、设备及系统 | |
US20060168288A1 (en) | Identifying failure of a streaming media server to satisfy quality-of-service criteria | |
CN102572501A (zh) | 考虑网络性能及视频本身特征的视频质量评估方法及装置 | |
Alali et al. | Methods for objective and subjective evaluation of zero-client computing | |
CN110913279B (zh) | 一种用于增强现实的处理方法及增强现实终端 | |
CN103796005A (zh) | 视频帧率测试方法及装置 | |
CN110806909A (zh) | 一种应用程序页面掉帧信息确定方法、装置及电子设备 | |
CN113840131B (zh) | 视频通话质量评估方法、装置、电子设备及可读存储介质 | |
CN114554267A (zh) | 基于数字孪生技术的音频视频的同步方法及装置 | |
CN104714879B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |