CN111858318B - 一种响应时间的测试方法、装置、设备和计算机存储介质 - Google Patents
一种响应时间的测试方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN111858318B CN111858318B CN202010623666.8A CN202010623666A CN111858318B CN 111858318 B CN111858318 B CN 111858318B CN 202010623666 A CN202010623666 A CN 202010623666A CN 111858318 B CN111858318 B CN 111858318B
- Authority
- CN
- China
- Prior art keywords
- image
- frame
- image frame
- instruction
- difference
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 122
- 230000004044 response Effects 0.000 title claims abstract description 97
- 230000008447 perception Effects 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 239000003550 marker Substances 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000010998 test method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 2
- 241000208306 Apium Species 0.000 claims 3
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006641 stabilisation Effects 0.000 description 4
- 238000011105 stabilization Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
-
- 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/3692—Test management for test results analysis
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
本申请公开了一种响应时间的测试方法,涉及应用测试技术领域。具体实现方案为:测试设备从被测试设备获取图像序列,图像序列至少包括从被测试设备接收到用户界面UI指令到响应UI指令完成的连续屏幕图像帧;从图像序列中的响应结果帧开始,从后向前依次计算各图像帧与响应结果帧之间的差异度,确定首个差异度大于或等于第一阈值的图像帧作为标记图像帧;从标记图像帧开始,从后向前依次计算各图像帧与标记图像帧的差异度,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一图像帧作为用户感知稳定帧;利用用户感知稳定帧对应的时间点与UI指令的发送时间点的差值,得到UI指令的响应时间。测试方法可用于测试人工智能设备有屏智能音箱的响应时间。
Description
技术领域
本申请涉及计算机应用技术领域,特别涉及应用测试技术。
背景技术
电子设备上的应用响应时间是体现设备性能的重要参数,响应时间快慢与用户体验密切相关。因此响应时间测试是用户设备性能测试的重要测试之一。
发明内容
有鉴于此,本申请提供了一种响应时间的测试方法、装置、设备和计算机存储介质。
第一方面,本申请提供了一种响应时间的测试方法,包括:
测试设备从被测试设备获取图像序列,所述图像序列至少包括从被测试设备接收到用户界面UI指令到响应所述UI指令完成的连续屏幕图像帧;
从所述图像序列中的响应结果帧开始,从后向前依次计算各图像帧与所述响应结果帧之间的差异度,确定首个差异度大于或等于第一阈值的图像帧作为标记图像帧;
从所述标记图像帧开始,从后向前依次计算各图像帧与所述标记图像帧的差异度,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一图像帧作为用户感知稳定帧;
利用所述用户感知稳定帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间。
第二方面,本申请提供了一种响应时间的测试装置,设置于测试设备,该装置包括:
图像获取单元,用于从被测试设备获取图像序列,所述图像序列至少包括从被测试设备接收到用户界面UI指令到响应所述UI指令完成的连续屏幕图像帧;
一次回溯单元,用于从所述图像序列中的响应结果帧开始,从后向前依次计算各图像帧与所述响应结果帧之间的差异度,确定首个差异度大于或等于第一阈值的图像帧作为标记图像帧;
二次回溯单元,用于从所述标记图像帧开始,从后向前依次计算各图像帧与所述标记图像帧的差异度,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一图像帧作为用户感知稳定帧;
结果确定单元,用于利用所述用户感知稳定帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间。
第三方面,本申请提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
第四方面,本申请还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的方法。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一项所述的方法。
由以上技术方案可以看出,本申请提供的方式能够实现应用响应时间的自动化测试,降低测试成本且提高测试准确性。。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1a和图1b为本申请实施例提供的两种传输UI指令的架构图;
图2a和图2b为本申请实施例提供的两种传输图像序列的架构图;
图3为本申请实施例提供的响应时间的测试方法流程图;
图4为本申请实施例提供的二次回溯检测的示例图;
图5为本申请实施例提供的响应时间的测试装置结构图;
图6是用来实现本申请实施例的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在传统的响应时间测试中,主要采用以下两种测试方式:
第一种测试方式:采用人工测试方式,即由测试人员用摄像头捕捉触发操作之后屏幕的变化,然后导出摄像头拍摄的视频,依赖人工一帧一帧寻找用户设备完成响应的时间点。这种测试方法人力成本较高,难以用于大量的重复性测试,并且测试准确度也受限于人为因素的影响。
第二种测试方式:在应用程序中植入打点代码,通过特定位置的日志标签来计算响应时间。这种方式涉及到代码的植入,需要保证测试代码和产品发布代码的有效隔离,无形中增加了产品代码维护成本。并且代码执行完成和产品控件、图像级别的加载渲染不具备等价性,不能够准确地评估响应时间。
有鉴于此,本申请提供了一种新的响应时间测试方案,核心思想在于,测试设备从被测试设备获取被测试设备执行UI(User Interface,用户界面)指令后的连续屏幕图像帧,然后通过从后向前回溯的方式,通过比较图像帧之间的差异度来确定出响应完成的首个图像帧。
首先对本申请在测试过程中所采用的测试架构进行介绍。
若被测试设备是安卓(Android)设备,则如图1a中所示,被测试设备与测试设备(例如Windows监控机)建立ADB(Android Debug Bridge,安卓调试桥)连接。测试设备通过Appium向被测试设备发送UI指令。Appium是一个自动化测试开源工具,在图1中,测试设备作为Appium客户端,被测试设备作为Appium服务端,由Appium客户端向Appium服务端发送UI指令后,由Appium服务端调用相应的Android API执行UI指令。然后可以进一步由Appium服务端将执行结果返回给Appium客户端。
其中ADB连接可以采用无线连接(例如Wifi等)、USB(Universal Serial Bus,通用串行总线)连接、串口连接等。
若被测试设备是iOS设备,则如图1b中所示。测试设备(例如Windows监控机)作为Appium客户端,将UI指令发送至Appium服务端,其中Appium服务端可以是iOS的PC机。Appium服务端将UI指令转发给被测试设备上的WebDriverAgent,由WebDriverAgent调用iOS的API执行UI指令。其中WebDriverAgent是由Facebook开发的一套开源框架,用于端对端的UI测试,能同时支持模拟器和真机。WebDriverAgent可以调用iOS底层的XCTest框架,然后由XCTest框架调用iOS的API执行UI指令。最后可以由WebDriverAgent将执行结果返回给Appium服务端,再由Appium服务端返回给Appium客户端。
本申请实施例中涉及的被测试设备可以是任意的有屏用户设备,包括但不限于智能移动终端、智能家居设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、具有屏幕的智能音箱、具有屏幕的智能冰箱等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。智能医疗设备可以包括诸如智能体温计、智能血压仪、智能血糖仪等等。
对于被测试设备而言,接收到UI指令后,执行该UI指令(例如点击某个按钮)。该UI指令的执行会产生一系列的屏幕显示内容变化。因此,被测试设备在从接收到UI指令开始就将屏幕上显示的内容一帧一帧连续地传输给测试设备,从而实现图像采集。上述传输的内容就构成了一个图像序列。该图像序列所包含的内容需要至少包括从接收到UI指令到响应UI指令完成的所有图像帧。为了保证能够采集到响应UI指令完成的图像帧,可以设置一个较长的采集和传输时长。例如,通常一个UI指令肯定在3s内响应完成了,那么就可以设置采集3s的图像帧来构成上述图像序列。
在图像采集时,如图2a中所示,对于Android的被测试设备,其输出的图像帧可以通过图像传输接口传输给测试设备(例如Windows监控机)的高清采集卡内。其中图像传输接口可以采用诸如同屏线HDMI(High Definition Multimedia Interface,高清多媒体接口)。
如图2b中所示,对于iOS的被测试设备,其输出的图像帧可以通过隔空播放技术(AirPlay)、同屏器以及图像传输接口传输给测试设备(例如Windows监控机)的高清采集卡内。其中图像传输接口可以是诸如HDMI。
图2a和图2b中所示的图像采集方案,采用硬件有线连接,具备稳定和低延迟的优点。当然也可以采用其他方案,但优选图2a和图2b中所示方案。
上述测试设备向被测试设备发送UI指令,被测试设备执行自动化测试用例,将图像序列传输给被测试设备。每个自动化测试用例运行完成后,等待足够长的时间仍持续传输图像帧给测试设备,使得输出的图像序列一定包含了响应完成的图像帧。测试设备的高清采集卡采集到图像序列后,开始执行响应时间的计算。
图3为本申请实施例提供的响应时间的测试方法流程图,该方法由上述的测试设备执行。如图3中所示,该方法可以包括以下步骤:
在301中,从被测试设备获取图像序列。
图像序列的获取过程已在上面进行过描述,在此不做详述。获取到的图像序列至少包括从被测试设备接收到UI指令到响应该UI指令完成的连续屏幕图像帧。
在302中,确定图像序列中的响应结果帧。
本步骤中涉及的响应结果帧可以认为是测试设备响应上述UI指令结束后处于稳定状态的图像帧。由于图像序列是每个自动化测试用例运行完成后等待足够长的时间持续传输的图像帧,因此可以认为图像序列中最后一帧肯定是响应UI指令结束后处于稳定状态的图像帧。因此,将图像序列中的最后一帧确定为响应结果帧。
或者,也可以将图像序列中预设时长之后的一帧图像确定为响应结果帧。该预设时长可以是一个试验值或经验值,以保证在预设时长后测试设备响应上述UI指令结束后屏幕上的图像处于稳定状态。
如图4中所示,假设图像序列中包含m个图像帧,按照时间顺序从前之后分别为第1个图像帧、第2个图像帧、…、第m个图像帧,那么可以将第m个图像帧作为响应结果帧。
在303中,图像序列中的响应结果帧开始,从后向前依次计算各图像帧与响应结果帧之间的差异度,确定首个差异度大于或等于第一阈值的图像帧作为标记图像帧。
上述302和303实际上是第一次回溯检测的过程。也就是说,从响应结果帧开始,从后向前回溯,分别计算每一个图像帧与响应结果帧之间的差异度,直至确定出首个差异度大于或等于第一阈值T1的图像帧作为标记图像帧。
其中,图像帧之间的差异度可以通过相似度来体现,相似度越大,差异度越小。图像相似度的算法已经是比较成熟的算法,在此不做详述。
除此之外,也可以通过其他方式来确定图像帧之间的差异度,例如将图像帧转化为二进制码,比较像素差的方式来确定图像帧之间的差异度,等等。
仍以图4为例,从响应结果帧即第m帧开始向前回溯(需要说明的是,本申请针对图像序列所涉及的“前”、“后”均是按照各图像帧的传输时间顺序),计算第m-1个图像帧与第m个图像帧的差异度,差异度小于T1,继续向前回溯。计算第m-2个图像帧与第m个图像帧的差异度,差异度仍小于T1,继续向前回溯……。直至第n个图像帧与第m个图像帧的差异度大于或者等于T1,则确定第n个图像帧为标记图像帧。
如果直接利用确定出的标记图像帧来确定响应时间,例如将标记图像帧的后一图像帧对应的时间点与UI指令的发送时间点的差值,得到UI指令的响应时间,则在一些情况下,该响应时间并不准确。原因为:由于硬件抖动、应用程序原因、渲染原因甚至其他一些不明原因,可能会造成在UI指令响应完毕后,也会在图像帧中产生一定程度的差异。也就是说,找到的可能并非是响应完成的首个图像帧,而是一些“抖动点”的发生时刻,因此检测得到的可能是“伪稳定态”。而在此之前,用户人眼已经能够感知到一个响应完成的稳定态,那么就需要找到该稳定态对应的图像帧,本实施例中称为用户感知稳定帧。因此,在本申请实施例中继续执行以下二次回溯检测的过程:
在304中,从标记图像帧开始,从后向前依次计算各图像帧与标记图像帧的差异度,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一图像帧作为用户感知稳定帧。
仍以图4为例,确定出第n个图像帧为标记图像帧后,将第n个图像帧作为新的“基准”向前回溯。将第n-1个图像帧与第n个图像帧进行差异度计算,差异度小于T2,继续向前回溯。计算第n-2个图像帧与第n个图像帧的差异度,差异度小于T2,继续向前回溯。计算第n-3个图像帧与第n个图像帧的差异度,假设差异度大于或等于T2,则将该第n-3个图像帧的后一帧即第n-2帧作为用户感知稳定帧。
在本申请实施例中,第一阈值T1的取值可以大于第二阈值T2。T1和T2的取值可以采用试验值或经验值等。根据不同的测试场景,可以设置不同的取值。
例如,在地图算路的测试场景下,上述UI指令模拟的是触发路线规划的指令,这种情况下,T1可以取1.0,T2可以取0.1。其中差异度1.0代表图像帧之间的相似度为99%,差异度0.1代表图像帧之间的相似度为99.9%。
再例如,在地图检索的测试场景下,上述UI指令模拟的是触发地理位置点检索的指令,这种情况下,T1可以取0.9,T2可以取0.1。
另外,对于T2而言,应用界面的图像元素比较丰富的情况下,T2值可以取的大一些。应用界面的图像元素比较单一的情况下,T2值可以取得小一些。
在305中,利用用户感知稳定帧对应的时间点与UI指令的发送时间点的差值,得到UI指令的响应时间。
仍以图4为例,确定出第n-2个图像帧作为用户感知稳定帧后,UI指令的发送时间点对应第1个图像帧,那么将第n-2个图像帧对应的时间点与第1个图像帧对应的时间点之间的差值,作为UI指令的响应时间。这一响应时间就是被测试设备开始执行UI指令到用户能够感知到响应执行完成的稳定态的时长。
在一些情况下,如果未在响应完成后出现抖动点,则只有在第一次回溯检测中能够确定出差异度大于或等于第一阈值的图像帧,而在第二次回溯检测中没有检测出差异度大于或等于第二阈值的图像帧,则可以利用标记图像帧的后一图像帧对应的时间点与UI指令的发送时间点的差值,得到UI指令的响应时间。
在确定出多条测试用例的UI指令的响应时间后,可以将测试结果进行记录、汇总,以方便测试人员进行查询和统一分析。更进一步地,在记录测试结果的同时,还可以将一些关键图像帧或者关键帧的缩略图进行存储。例如,存储响应结果帧、标记图像帧和用户感知稳定帧,还可以存储标记图像帧的前后几个图像帧、用户感知稳定帧的前后几个图像帧,以便测试人员进行分析和校验等。
另外,对于一些测试场景而言,根据校验结果、经验等可以确定是无需进行二次回溯的,仅需要进行一次回溯即可。因此,可以在上述步骤304之前,首先判断被测试场景是否属于预设的一次回溯测试场景,如果是,则直接利用标记图像帧的后一图像帧对应的时间点与UI指令的发送时间点的差值,得到所述UI指令的响应时间;否则,继续执行步骤304。
其中,上述一次回溯测试场景可以包括但不限于:页面跳转场景、图区元素少的场景或者全屏查看场景。其中页面跳转场景指的是UI指令触发从一个页面跳转到另外一个页面的场景。图区元素少的场景指的是图像帧中元素数量较少的场景。全屏查看场景指的是UI指令触发全屏查看的场景,例如触发全屏查看详情页等。
以上是对本申请所提供方法进行的详细描述,下面结合实施例对本申请所提供的装置进行详细描述。
图5为本申请实施例提供的响应时间的测试装置结构图,该装置设置于测试设备,可以是可以位于测试设备的应用,或者还可以为位于测试设备的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元。如图5中所示,该装置可以包括:图像获取单元01、一次回溯单元02、二次回溯单元03和结果确定单元04,还可以进一步包括指令发送单元05和场景判断单元06。其中各组成单元的主要功能如下:
指令发送单元05,用于向被测试设备发送UI指令。根据被测试设备的不同可以采用但不限于以下两种方式:
第一种方式:指令发送单元05在测试设备与被测试设备之间建立ABD连接,通过Appium向被测试设备发送UI指令。
第二种方式:指令发送单元05将测试设备作为Appium客户端将UI指令发送至Appium服务端,由Appium服务端转发给被测试设备上的WebDriverAgent,由WebDriverAgent调用iOS的应用程序接口API执行UI指令。
图像获取单元01,用于从被测试设备获取图像序列,图像序列至少包括从被测试设备接收到用户界面UI指令到响应UI指令完成的连续屏幕图像帧。
具体地,图像获取单元01可以通过图像传输接口获取被测试设备传输来的图像序列;或者,通过图像传输接口获取被测试设备通过隔空播放(Airpaly)技术经由同屏器传输来的图像序列。
一次回溯单元02,用于从图像序列中的响应结果帧开始,从后向前依次计算各图像帧与响应结果帧之间的差异度,确定首个差异度大于或等于第一阈值的图像帧作为标记图像帧。
其中,一次回溯单元02可以将图像序列中的最后一帧确定为响应结果帧;或者,将图像序列中预设时长之后的一帧图像确定为响应结果帧。
二次回溯单元03,用于从标记图像帧开始,从后向前依次计算各图像帧与标记图像帧的差异度,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一图像帧作为用户感知稳定帧。
T1和T2的取值可以采用试验值或经验值等。根据不同的测试场景,可以设置不同的取值。
结果确定单元04,用于利用用户感知稳定帧对应的时间点与UI指令的发送时间点的差值,得到UI指令的响应时间。
若二次回溯单元03未确定出首个差异度大于或等于第二阈值的图像帧,则结果确定单元04可以利用标记图像帧的后一图像帧对应的时间点与UI指令的发送时间点的差值,得到UI指令的响应时间。
除此之外,对于结果确定单元04确定出多条测试用例的UI指令的响应时间后,可以由记录单元(图中未示出)将测试结果进行记录、汇总,以方便测试人员进行查询和统一分析。更进一步地,在记录测试结果的同时,还可以将一些关键图像帧或者关键帧的缩略图进行存储。例如,存储响应结果帧、标记图像帧和用户感知稳定帧,还可以存储标记图像帧的前后几个图像帧、用户感知稳定帧的前后几个图像帧,以便测试人员进行分析和校验等。
另外,对于一些测试场景而言,根据校验结果、经验等可以确定是无需进行二次回溯的,仅需要进行一次回溯即可。因此,可以由场景判断单元06判断被测试场景是否属于预设的一次回溯测试场景,如果是,则直接触发结果确定单元04利用标记图像帧的后一图像帧对应的时间点与UI指令的发送时间点的差值,得到UI指令的响应时间;否则,触发二次回溯单元03执行处理。
其中,一次回溯测试场景包括:页面跳转场景、图区元素少的场景或者全屏查看场景。
在此列举一个典型的人工智能设备的应用实例:
当需要对有屏智能音箱的响应时间进行测试时,测试设备向有屏智能音箱发送UI指令(该UI指令可以是模拟的触屏指令,也可以是语音指令),有屏智能音箱对该UI指令进行响应,并在屏幕上显示响应结果。例如,UI指令为触发跳转至指定页面。假设有屏智能音箱响应该UI指令的时长最长也不会超过1秒,那么有屏智能音箱可以从接收到UI指令开始2秒的图像帧(包括请求页面数据到渲染指定页面数据过程中的各图像帧)都通过高清数据接口传输给测试设备。
由测试设备采用本申请实施例中所提供的方法从接收到的图像帧构成的图像序列中,获取响应结果帧,并从响应结果帧开始进行回溯,找出首个差异度大于或等于第一阈值的图像帧作为标记图像帧;然后再从标记图像帧开始,从后向前进行回溯,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一帧作为用户感知稳定帧。然后利用用户感知稳定帧对应的时间点与UI指令的发送时间点的差值,得到该有屏智能音箱对该UI指令的响应时间。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的响应时间的测试方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的响应时间的测试方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的响应时间的测试方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的响应时间的测试方法对应的程序指令/模块。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的响应时间的测试方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据该电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
该电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与该电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
由以上技术方案可以看出,本申请实施例提供的方法、装置、设备和计算机存储介质具备以下优点:
1)实现了应用响应时间的自动化测试,相比较人工测试的方式,降低了测试成本,且能够应用于大量的重复性测试,且测试准确度也不再受限于人为因素的影响,提高了测试准确度。
2)无需在应用程序中植入任何打点代码,只需要将UI指令执行后的屏幕图像传输给测试设备即可。这种方式降低了产品代码的维护成本。
3)本申请通过二次回溯检测的方式,可以有效地检测出人眼感知稳定态的图像帧,解决了采用一次回溯检测方式可能因响应完成后的抖动而造成的测试不准确的问题,提高了测试准确度。
4)本申请打破了应用响应时间测试受限于Android***的局限性,除了Android***的被测试设备之外,对于iOS***的被测试设备同样提供了解决方案。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (15)
1.一种响应时间的测试方法,包括:
测试设备从被测试设备获取图像序列,所述图像序列至少包括从被测试设备接收到用户界面UI指令到响应所述UI指令完成的连续屏幕图像帧;
从所述图像序列中的响应结果帧开始,从后向前依次计算各图像帧与所述响应结果帧之间的差异度,确定首个差异度大于或等于第一阈值的图像帧作为标记图像帧;
从所述标记图像帧开始,从后向前依次计算各图像帧与所述标记图像帧的差异度,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一图像帧作为用户感知稳定帧;
利用所述用户感知稳定帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间;其中,
还包括:
将所述图像序列中的最后一帧确定为所述响应结果帧;或者,
将所述图像序列中预设时长之后的一帧图像确定为所述响应结果帧。
2.根据权利要求1所述的方法,还包括:
所述测试设备与所述被测试设备之间建立安卓调试桥ABD连接,通过Appium向所述被测试设备发送所述UI指令;或者,
所述测试设备作为Appium客户端将所述UI指令发送至Appium服务端,由Appium服务端转发给所述被测试设备上的WebDriverAgent,由所述WebDriverAgent调用iOS的应用程序接口API执行所述UI指令。
3.根据权利要求1所述的方法,其中,所述测试设备从被测试设备获取图像序列包括:
所述测试设备通过图像传输接口获取所述被测试设备传输来的所述图像序列;或者,
所述测试设备通过图像传输接口获取所述被测试设备通过隔空播放技术经由同屏器传输来的所述图像序列。
4.根据权利要求1所述的方法,还包括:
若未确定出所述首个差异度大于或等于第二阈值的图像帧,则利用所述标记图像帧的后一图像帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间。
5.根据权利要求1所述的方法,在从所述标记图像帧开始,从后向前依次计算各图像帧与所述标记图像帧的差异度之前,还包括:
判断被测试场景是否属于预设的一次回溯测试场景,如果是,则利用所述标记图像帧的后一图像帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间;否则,继续执行从所述标记图像帧开始,从后向前依次计算各图像帧与所述标记图像帧的差异度的步骤。
6.根据权利要求5所述的方法,其中,所述一次回溯测试场景包括:页面跳转场景、图区元素少的场景或者全屏查看场景。
7.一种响应时间的测试装置,设置于测试设备,该装置包括:
图像获取单元,用于从被测试设备获取图像序列,所述图像序列至少包括从被测试设备接收到用户界面UI指令到响应所述UI指令完成的连续屏幕图像帧;
一次回溯单元,用于从所述图像序列中的响应结果帧开始,从后向前依次计算各图像帧与所述响应结果帧之间的差异度,确定首个差异度大于或等于第一阈值的图像帧作为标记图像帧;还用于将所述图像序列中的最后一帧确定为所述响应结果帧;或者,将所述图像序列中预设时长之后的一帧图像确定为所述响应结果帧;
二次回溯单元,用于从所述标记图像帧开始,从后向前依次计算各图像帧与所述标记图像帧的差异度,确定首个差异度大于或等于第二阈值的图像帧,将确定出的图像帧的后一图像帧作为用户感知稳定帧;
结果确定单元,用于利用所述用户感知稳定帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间。
8.根据权利要求7所述的装置,还包括:
指令发送单元,用于与所述被测试设备之间建立安卓调试桥ABD连接,通过Appium向所述被测试设备发送所述UI指令;或者,作为Appium客户端将所述UI指令发送至Appium服务端,由Appium服务端转发给所述被测试设备上的WebDriverAgent,由所述WebDriverAgent调用iOS的应用程序接口API执行所述UI指令。
9.根据权利要求7所述的装置,其中,所述图像获取单元,具体用于:
通过图像传输接口获取所述被测试设备传输来的所述图像序列;或者,通过图像传输接口获取所述被测试设备通过隔空播放技术经由同屏器传输来的所述图像序列。
10.根据权利要求7所述的装置,其中,所述结果确定单元,还用于若所述二次回溯单元未确定出所述首个差异度大于或等于第二阈值的图像帧,则利用所述标记图像帧的后一图像帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间。
11.根据权利要求7所述的装置,还包括:
场景判断单元,用于判断被测试场景是否属于预设的一次回溯测试场景,如果是,则直接触发所述结果确定单元利用所述标记图像帧的后一图像帧对应的时间点与所述UI指令的发送时间点的差值,得到所述UI指令的响应时间;否则,触发所述二次回溯单元执行处理。
12.根据权利要求11所述的装置,其中,所述一次回溯测试场景包括:页面跳转场景、图区元素少的场景或者全屏查看场景。
13. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010623666.8A CN111858318B (zh) | 2020-06-30 | 2020-06-30 | 一种响应时间的测试方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010623666.8A CN111858318B (zh) | 2020-06-30 | 2020-06-30 | 一种响应时间的测试方法、装置、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858318A CN111858318A (zh) | 2020-10-30 |
CN111858318B true CN111858318B (zh) | 2024-04-02 |
Family
ID=72988993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010623666.8A Active CN111858318B (zh) | 2020-06-30 | 2020-06-30 | 一种响应时间的测试方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858318B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486793A (zh) * | 2020-12-21 | 2021-03-12 | 北京安兔兔科技有限公司 | 一种运算性能测试方法、装置、电子设备及存储介质 |
CN113141433B (zh) * | 2021-03-23 | 2022-10-28 | 网易(杭州)网络有限公司 | 测试屏幕灵敏度的方法、装置和处理器 |
CN113688019B (zh) * | 2021-08-10 | 2022-08-09 | 荣耀终端有限公司 | 响应时长检测方法及装置 |
CN113821438B (zh) * | 2021-09-23 | 2024-06-14 | 统信软件技术有限公司 | 一种应用响应性能测试方法、***及计算设备 |
CN115695851B (zh) * | 2022-12-28 | 2023-03-28 | 海马云(天津)信息技术有限公司 | 端到端延时计算方法、装置、存储介质及电子设备 |
CN117116172B (zh) * | 2023-10-18 | 2024-01-16 | 深圳市富越机电设备有限公司 | 触摸屏测试方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302701A (zh) * | 2014-06-23 | 2016-02-03 | 中兴通讯股份有限公司 | 一种测试终端用户界面反应时间的方法、装置及设备 |
CN105913429A (zh) * | 2016-04-12 | 2016-08-31 | 工业和信息化部电信研究院 | 智能终端用户视觉感知响应时延指标的计算方法 |
CN106951346A (zh) * | 2016-01-06 | 2017-07-14 | 阿里巴巴集团控股有限公司 | 一种响应时间的测试方法和装置 |
CN108376117A (zh) * | 2018-02-07 | 2018-08-07 | 网易(杭州)网络有限公司 | 交互响应的测试方法和设备 |
US10114733B1 (en) * | 2016-08-29 | 2018-10-30 | Cadence Design Systems, Inc. | System and method for automated testing of user interface software for visual responsiveness |
CN108900776A (zh) * | 2018-08-22 | 2018-11-27 | 北京百度网讯科技有限公司 | 用于确定响应时间的方法和装置 |
CN109803046A (zh) * | 2018-12-28 | 2019-05-24 | 惠州Tcl移动通信有限公司 | 智能终端性能测试的方法、智能终端及存储装置 |
CN109885492A (zh) * | 2019-02-13 | 2019-06-14 | 福建天晴数码有限公司 | 一种基于图像识别和曲线拟合的响应时间测试方法及终端 |
-
2020
- 2020-06-30 CN CN202010623666.8A patent/CN111858318B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302701A (zh) * | 2014-06-23 | 2016-02-03 | 中兴通讯股份有限公司 | 一种测试终端用户界面反应时间的方法、装置及设备 |
CN106951346A (zh) * | 2016-01-06 | 2017-07-14 | 阿里巴巴集团控股有限公司 | 一种响应时间的测试方法和装置 |
CN105913429A (zh) * | 2016-04-12 | 2016-08-31 | 工业和信息化部电信研究院 | 智能终端用户视觉感知响应时延指标的计算方法 |
US10114733B1 (en) * | 2016-08-29 | 2018-10-30 | Cadence Design Systems, Inc. | System and method for automated testing of user interface software for visual responsiveness |
CN108376117A (zh) * | 2018-02-07 | 2018-08-07 | 网易(杭州)网络有限公司 | 交互响应的测试方法和设备 |
CN108900776A (zh) * | 2018-08-22 | 2018-11-27 | 北京百度网讯科技有限公司 | 用于确定响应时间的方法和装置 |
CN109803046A (zh) * | 2018-12-28 | 2019-05-24 | 惠州Tcl移动通信有限公司 | 智能终端性能测试的方法、智能终端及存储装置 |
CN109885492A (zh) * | 2019-02-13 | 2019-06-14 | 福建天晴数码有限公司 | 一种基于图像识别和曲线拟合的响应时间测试方法及终端 |
Non-Patent Citations (2)
Title |
---|
基于图像差分的关键帧检测技术;许宏;;计算机工程与设计;20100628(12);全文 * |
大数据视频图像关键帧的检索模型优化仿真;张波;王颖;;计算机仿真;20160915(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111858318A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858318B (zh) | 一种响应时间的测试方法、装置、设备和计算机存储介质 | |
CN108900776B (zh) | 用于确定响应时间的方法和装置 | |
US9300520B2 (en) | Mobile network application test | |
CN111654746A (zh) | 视频的插帧方法、装置、电子设备和存储介质 | |
CN113377366B (zh) | 控件编辑方法、装置、设备、可读存储介质及产品 | |
CN111124567B (zh) | 目标应用的操作录制方法和装置 | |
CN111709362B (zh) | 用于确定重点学习内容的方法、装置、设备及存储介质 | |
CN114449327B (zh) | 视频片段的分享方法、装置、电子设备及可读存储介质 | |
CN113596488B (zh) | 直播间的展示方法、装置、电子设备和存储介质 | |
CN111726608A (zh) | 一种视频的卡顿测试方法、装置、电子设备及存储介质 | |
CN112994980B (zh) | 时延测试方法、装置、电子设备和存储介质 | |
CN110673886B (zh) | 用于生成热力图的方法和装置 | |
CN111654690A (zh) | 直播视频延迟时间的确定方法、装置以及电子设备 | |
CN113542888B (zh) | 视频的处理方法、装置、电子设备及存储介质 | |
CN113327309B (zh) | 视频播放方法和装置 | |
CN114554110B (zh) | 视频生成方法、装置、电子设备和存储介质 | |
CN114185782A (zh) | 一种虚拟对象的交互测试方法、装置及电子设备 | |
CN112461250A (zh) | 车辆航位推算服务的评估方法、装置、仿真设备及介质 | |
CN114051110B (zh) | 视频生成方法、装置、电子设备和存储介质 | |
CN110569184A (zh) | 一种测试方法及终端设备 | |
CN115022204B (zh) | Rtc的传输时延检测方法、装置以及设备 | |
WO2023185968A1 (zh) | 相机功能页面切换方法、装置、电子设备及存储介质 | |
CN111258415B (zh) | 基于视频的肢体动作检测方法、装置、终端和介质 | |
EP4142278A1 (en) | Method and apparatus for configuring video special effect, device, and storage medium | |
CN116887011A (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 |