CN109359020A - 启动时间测试方法及装置、计算机装置及存储介质 - Google Patents
启动时间测试方法及装置、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN109359020A CN109359020A CN201810935564.2A CN201810935564A CN109359020A CN 109359020 A CN109359020 A CN 109359020A CN 201810935564 A CN201810935564 A CN 201810935564A CN 109359020 A CN109359020 A CN 109359020A
- Authority
- CN
- China
- Prior art keywords
- application program
- time
- test
- starting
- program launching
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种应用程序启动时间测试方法,包括:生成启动应用程序的控制指令,启动待测试应用程序,同时记录第一时间T1;监听应用程序启动过程中的Activity事件日志信息;在所述监听到的Activity事件日志信息中查找代表应用程序启动结束的预设标签,并在查找到所述预设标签后,记录该预设标签的打印时间,并将该预设标签的打印时间记录为第二时间T2;以及根据所述第一时间T1和第二时间T2计算所述应用程序的启动时间T。本发明还提供一种应用程序启动时间测试装置、计算机装置及可读存储介质。本发明能够智能控制应用程序启动时间的测试,无需人工操作,执行测试方便。通过日志信息计算启动时间,测试结果准确,且通过执行多次测试计算平均启动时间,减少测试误差。
Description
技术领域
本发明涉及软件测试技术领域,具体涉及一种应用程序启动时间测试方法及装置、计算机装置和计算机可读存储介质。
背景技术
随着软件行业的不断发展,手机等智能终端上安装的各种软件和应用程序越来越多,使得人们的生活越来越便利。与此同时,人们对智能终端以及安装在智能终端上的各种应用程序体验要求也越来越高,其中,应用程序的启动时间直接影响着用户对应用程序的第一感觉,因此缩短应用程序的启动时间改善用户体验的重要因素。
对应用程序启动时间进行测试时,一般通过秒表进行人工计时,这样人为操作受操作误差影响会导致计时不准确,且消耗人力资源和时间,另一方面秒表计时无法精确到毫秒。
还有一种启动时间测试方法是通过高速摄像机对整个应用程序页面加载过程进行拍照,并记录每张照片的拍摄时间,然后采用人工的方式在拍摄的照片中对比查找预先拍摄好的起始和结束照片,然后将这两张照片的拍摄时间相减,以获得页面的加载时间。但是这种测试方法中高速摄像机受外界因素(距离、光线等)影响,使得拍摄照片具有一定的时间间隔,进而导致测试结果的不准确,同时人工对比照片耗费人力和时间,测试步骤繁琐。
因此有必要提供一种更加高效且方便的应用程序启动时间测试方法。
发明内容
鉴于以上内容,有必要提出一种启动时间测试方法及装置、计算机装置和计算机可读存储介质,其可以高效且方便的测试应用程序启动时间。
本申请的第一方面提供一种应用程序启动时间测试方法,所述方法包括:
生成启动应用程序的控制指令,启动待测试应用程序,同时记录第一时间T1;
监听应用程序启动过程中的Activity事件日志信息;
在所述监听到的Activity事件日志信息中查找代表应用程序启动结束的预设标签,并在查找到所述预设标签后,记录该预设标签的打印时间,并将该预设标签的打印时间记录为第二时间T2;以及
根据所述第一时间T1和第二时间T2计算所述应用程序的启动时间T。
优选地,在生成启动应用程序的控制指令之前所述方法还包括:当接收到用户的操作指令时显示一测试参数设置界面;以及接收用户通过所述测试参数设置界面输入的测试参数,对所述测试参数进行设置,其中,所述测试参数包括待测试应用程序的标识信息、启动结束页面标识信息和/或多个待测试应用程序的测试顺序。
优选地,所述测试参数还包括执行应用程序启动时间测试的预设次数,所述测试方法还包括:
记录测试执行次数,且每计算完成一次启动时间后,将测试执行次数加1;
判断当前测试执行次数是否达到所述预设次数;
若达到所述预设执行次数,则根据每次计算得到的应用程序启动时间计算出应用程序的平均启动时间。
优选地,所述预设标签中包括启动结束页面的标识信息以及事件标签“am_activity_launch_time”。
优选地,生成所述启动应用程序的控制指令的方法包括:
获取预设的应用程序启动时间测试脚本,其中,所述测试脚本被打包成jar包的形式存储于存储装置中;
当接收到用户输入的操作指令时,执行所述测试脚本来生成启动所述应用程序的控制指令。
优选地,生成所述启动应用程序的控制指令的方法包括:
侦测用户在安装有待测试应用程序的移动终端屏幕上对待测试应用程序图标的点击操作;
接收到该点击操作后生成启动待测试应用程序的控制指令。
优选地,该方法还包括:将所述获取到的Activity事件日志信息存储在缓存区中进行暂存。
本申请的第二方面提供一种应用程序启动时间测试装置,所述装置包括:
应用程序开启单元,用于生成启动应用程序的控制指令,启动待测试应用程序;
时间记录单元,用于在生成所述启动应用程序控制指令的同时记录第一时间T1;
监测单元,用于监听应用程序启动过程中的Activity事件日志信息;
所述时间记录单元还用于在所述监听到的Activity事件日志信息中查找代表应用程序启动结束的预设标签,并在查找到所述预设标签后,记录该预设标签的打印时间,并将该预设标签的打印时间记录为第二时间T2;
计算单元,用于根据所述第一时间T1和第二时间T2计算所述应用程序的启动时间T。
本申请的第三方面提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前所述应用程序启动时间测试方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述应用程序启动时间测试方法。
本发明自动启动待测试应用程序,无需人工操作,执行测试方便。通过日志信息计算启动时间,测试结果准确,且通过执行多次测试计算平均启动时间,减少测试误差。
附图说明
图1是本发明应用程序启动时间测试方法较佳实施例的流程图。
图2为本发明应用程序启动时间测试装置较佳实施例的结构图。
图3为本发明计算机装置较佳实施例的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的应用程序启动时间测试方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机装置可以是桌上型计算机、笔记本电脑、平板电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例一
图1是本发明应用程序启动时间测试方法较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图1所示,所述应用程序启动时间测试方法具体包括以下步骤。
步骤S11,生成启动应用程序(Application,APP)的控制指令,启动待测试应用程序,同时记录第一时间T1。
在本发明一较佳实施例中,生成启动应用程序的控制指令的方法为:
1)获取预设的应用程序启动时间测试脚本;
优选地,所述测试脚本被打包成jar(Java Archive,Java归档)包的形式存储于存储装置中;
2)当接收到用户输入的操作指令时,执行所述测试脚本来生成启动所述应用程序的控制指令。
在本发明另一实施例中,生成所述启动应用程序的控制指令的方法还可以是:
1)侦测用户在安装有待测试应用程序的移动终端屏幕上对待测试应用程序图标的点击操作;
例如可以是用户在触摸屏上对待测试应用图标的触摸操作,也可以是用户通过鼠标对待测试应用程序图标的点击操作;
2)接收到该点击操作后生成启动待测试应用程序的控制指令,从而启动待测试应用程序,同时记录第一时间T1。
在本发明较佳实施例中,在生成启动应用程序的控制指令之前,该测试方法还可以包括如下测试参数设置步骤:
1)当接收到用户的操作指令时显示一测试参数设置界面;
2)读取用户通过所述测试参数设置界面设置的测试参数,其中,所述测试参数可以包括待测试应用程序的标识信息以及启动结束页面标识信息。
其中,所述待测试应用程序的标识信息可以是待测试应用程序的包名,也可以是其他用于唯一标示应用程序的标识信息,本发明不做限制。
所述启动结束页面标识信息用于指示以应用程序中哪个界面为启动完成的标志。在本实施例中,所述启动结束页面标识信息是代表所述启动结束页面的一个具有唯一标识作用的字符串。
例如,当需要测试启动时间的应用程序是“微信”时,代表微信启动完成的页面可以是微信登陆页面(标识符可以为page-2)或消息列表页面(标识符可以为page-3),那么在所述设置界面中设置的应用程序标识信息可以是微信安装包的包名,作为启动结束标志页面的标识信息可以是代表登陆页面的字符串page-2或消息列表页面的字符串page-3。
在本发明较佳实施方式中,通过所述测试参数设置界面设置的测试参数还可以包括:执行应用程序启动时间测试的次数(下称预设执行次数)。例如,可以设置该应用程序启动时间测试重复执行5次。
在本发明较佳实施方式中,该应用程序启动时间测试方法是通过计算机等测试装置来测试安装于智能移动终端中的应用程序的启动时间。其中,所述安装有待测试应用程序的智能移动终端可以是智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等,所述智能移动终端中使用的操作系统为安卓(Android)系统。该移动终端中可以安装多个应用程序,每个应用程序均对应一唯一标识信息,例如,应用程序的唯一标识符可以是应用程序的包名。
相应地,在生成启动应用程序控制指令之前,该方法还包括:
1)建立测试装置与安装有待测试应用程序的移动终端之间的通信连接;其中,所述测试装置与所述移动终端之间可以通过有线(例如USB数据线)或无线(例如蓝牙、WIFI等)的方式进行通信连接。
2)将测试装置通过执行测试脚本生成的启动应用程序的控制指令发送至所述移动终端,其中,所述启动应用程序的控制指令中可以包括待测试应用程序的标识信息,使得所述移动终端根据测试参数中应用程序的标识信息启动对应的待测试应用程序,同时记录所述第一时间T1。
在另一实施例中,所述移动终端侦测到屏幕上的对待测试应用程序图标的点击操作后,启动所述应用程序,并在侦测移动终端上对应用程序图标的点击操作后记录所述第一时间,然后将所述第一时间T1发送至所述测试装置。
在本发明较佳实施方式中,所述测试装置还用于对所述智能移动终端中安装的多个应用程序依次进行启动时间的测试,所述测试参数除了包括多个待测试应用程序的标识信息、每个待测试应用程序的启动结束页面标识信息之外,还可以包括多个待测试应用程序的测试顺序。
在本发明另一些实施方式中,所述测试装置还可以同时与多个智能移动终端建立通信连接,并对所述多个智能移动终端中安装的应用程序进行启动时间测试。其中,所述多个移动终端中安装的待测试应用程序可以是相同的,所述测试装置同时向所述多个移动终端发送相同的控制指令来启动测试。所述多个移动终端中安装的待测试应用程序也可以是不同的,所述测试装置分别向所述多个移动终端发送相应的控制指令来启动测试。
可以理解,在其他实施方式中,所述测试方法也可以是通过测试装置(或移动终端)对其自身安装的应用程序的启动时间进行测试。所述测试装置(或移动终端)可以通过运行预设的测试脚本或通过侦测对应用程序图标的点击操作来生成启动指令,从而启动所述待测试应用程序。
步骤S12、监听应用程序启动过程中的Activity事件日志信息。
Activity是Android组件中最基本也是最为常见的四大组件之一。一个应用程序通常由多个彼此松散联系的Activity组成。简单来说,Activity指的就是App中我们看到的页面,一个页面就是一个Activity,通常第一页启动起来的页面称之为“启动页Activity”。
日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。所述日志信息中包括应用程序所述页面的生命周期。在应用程序运行过程中生成Activity事件的日志信息来记录事件是本领域的常用技术,故在此不再赘述。
在本发明较佳实施方式中,获取所述Activity事件日志信息是通过logcat命令来实现的。其中,logcat是Android中的一个命令行工具,用于得到应用程序的日志(log)信息。
优选地,启动logcat后,还可以通过-V选项来指定日志输出格式,例如,在本实施例中,使用adb shell logcat v threadtime b events指令来获取所述Activity事件日志信息。
在本发明较佳实施方式中,该方法还包括:将所述获取到的Activity事件日志信息存储在缓存区中进行暂存。
在一个实施例中,所述日志信息在缓存区中存储超过预定时间后(例如10小时),将所述缓存区中的日志信息删除。
在另一个实施例中,所述缓存区中的日志信息也可以在计算完成应用程序启动时间后被删除。
步骤S13、在所述监听到的Activity事件日志信息中查找代表应用程序启动结束的预设标签,在查找到所述预设标签后,记录该预设标签的打印时间,并将该预设标签的打印时间记录为第二时间T2。
其中,所述预设标签中包括启动结束页面的标识信息以及事件标签“am_activity_launch_time”。例如,当测试的应用程序是“微信”时,设定“微信”启动页面结束标识信息为“page-2”,那么所述预设标签中包括“am_activity_launch_time”以及“page-2”。当监听到的Activity事件日志信息中一个标签中同时包含了“am_activity_launch_time”以及“page-2”时,则记录所述标签的打印时间T2。
优选地,在所述监听到的Activity事件日志信息中查找所述预设标签的方法具体包括:
1)根据用户在设置界面中设置的启动结束页面标识信息生成预设标签查询条件,所述预设标签条件包括启动结束页面的标识信息以及所述事件标签“am_activity_launch_time”;
2)在所述监听到的Activity事件日志信息中查找是否出现与所述预设查询标签相匹配的标签;
3)若未出现则继续监听;
4)当Activity事件日志信息中出现与所述预设查询标签相匹配的标签时,记录出现所述与预设查询标签匹配的标签的时间,所述记录的时间即为所述第二时间T2。
步骤S14、根据所述第一时间T1和所述第二时间T2计算所述待测试应用程序的启动时间T。
具体地,根据公式:T=T2-T1计算所述应用程序的启动时间T。
在本发明较佳实施方式中,所述测试方法还包括:
1)记录测试执行次数,且每计算完成一次启动时间T后,将测试执行次数加1;
2)判断当前测试执行次数是否达到预设执行次数;
3)若达到所述预设执行次数,则根据每次计算得到的应用程序启动时间T计算出应用程序的平均启动时间T0;
4)若未达到所述预设次数,则重复执行所述步骤S11-S14。
在本发明较佳实施方式中,所述测试方法还可以包括:
1)判断是否还有未测试的应用程序;
2)若是,则启动所述未测试的应用程序,并通过上述步骤S11-S14对所述未测试的应用程序进行测试;
3)若否,则结束测试。
在本发明较佳实施方式中,该测试方法还可以包括:
1)若当前移动终端中的所有待测试应用程序已经完成测试,进一步判断是否还有其他移动终端中的应用程序未进行测试;
2)若是,则按照上述步骤S11-S14对下一部安装有待测试应用程序的移动终端进行测试;
3)若否,则结束测试。
步骤S15、生成测试报告。
具体地,所述测试报告中包括每一应用程序的启动时间。
在本发明较佳实施方式中,所述启动时间可以是应用程序单次测试的启动时间,也可以是多次测试的平均启动时间或者二者结合。
通过上述应用程序启动时间测试方法,在测试应用程序的启动时间时,可以自动启动待测试应用程序,无需人工操作,执行测试方便且效率高。另外,通过日志信息计算启动时间,测试结果准确,再通过执行多次测试计算平均启动时间,可以进一步减少测试误差,从而实现高效且准确的应用程序启动时间测试。
实施例二
图2为本发明应用程序启动时间测试装置较佳实施例的结构图。
参阅图2所示,所述应用程序启动时间测试装置10可以包括:应用程序开启单元201、监测单元202、时间记录单元203、计算单元204、测试报告生成单元205。
所述应用程序开启单元201,用于生成开启应用程序的控制指令,开启待测试应用程序,同时该时间记录单元203记录该应用程序开始时间为第一时间T1。
在本发明一较佳实施例中,所述应用程序开启单元301生成启动应用程序的控制指令的方法为:
1)获取预设的应用程序启动时间测试脚本;
优选地,所述测试脚本被打包成jar(Java Archive,Java归档)包的形式存储于存储装置中;
2)接收用户输入的操作指令,执行所述测试脚本来生成启动所述应用程序的控制指令。
在本发明较佳实施例中,所述应用程序开启单元301还用于在生成启动应用程序的控制指令之前,执行如下操作:
当接收到用户的操作指令时显示一测试参数设置界面;
读取用户通过所述测试参数设置界面设置的测试参数,其中,所述测试参数可以包括待测试应用程序的标识信息以及启动结束页面标识信息。
其中,所述待测试应用程序的标识信息可以是待测试应用程序的包名,也可以是其他用于唯一标示应用程序的标识信息,本发明不做限制。
所述启动结束页面标识信息用于指示以应用程序中哪个界面为启动完成的标志。在本实施例中,所述启动结束页面标识信息是代表所述启动结束页面的一个具有唯一标识作用的字符串。
例如,当需要测试启动时间的应用程序是“微信”时,代表微信启动完成的页面可以是微信登陆页面(标识符可以为page-2)或消息列表页面(标识符可以为page-3),那么在所述设置界面中设置的应用程序标识信息可以是微信安装包的包名,作为启动结束标志页面的标识信息可以是代表登陆页面的字符串page-2或消息列表页面的字符串page-3。
在本发明较佳实施方式中,通过所述测试参数设置界面设置的测试参数还可以包括:执行应用程序启动时间测试的次数(下称预设执行次数)。例如,可以设置该应用程序启动时间测试重复执行5次。
在本发明较佳实施方式中,通过所述应用程序启动时间测试装置10测试安装于智能移动终端中的应用程序的启动时间。其中,所述安装有待测试应用程序的智能移动终端可以是智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等,所述智能移动终端中使用的操作系统为安卓(Android)系统。该移动终端中可以安装多个应用程序,每个应用程序均对应一唯一标识信息,例如,应用程序的唯一标识符可以是应用程序的包名。
相应地,所述应用程序开启单元301还用于在生成启动应用程序控制指令之前执行如下操作:
1)与安装有待测试应用程序的移动终端建立通信连接;
2)将通过执行测试脚本生成的启动应用程序的控制指令发送至所述移动终端,其中,所述启动应用程序的控制指令中可以包括待测试应用程序的标识信息,使得所述移动终端根据测试参数中应用程序的标识信息启动对应的待测试应用程序。
在本发明较佳实施方式中,所述应用程序启动时间测试装置10还用于对所述智能移动终端中安装的多个应用程序依次进行启动时间的测试,所述测试参数除了包括多个待测试应用程序的标识信息、每个待测试应用程序的启动结束页面标识信息之外,还可以包括多个待测试应用程序的测试顺序。
在本发明另一些实施方式中,所述应用程序启动时间测试装置10还可以同时与多个智能移动终端建立通信连接,并对所述多个智能移动终端中安装的应用程序进行启动时间测试。其中,所述多个移动终端中安装的待测试应用程序可以是相同的,所述应用程序启动时间测试装置10同时向所述多个移动终端发送相同的控制指令来启动测试。所述多个移动终端中安装的待测试应用程序也可以是不同的,所述应用程序启动时间测试装置分别向所述多个移动终端发送相应的控制指令来启动测试。
可以理解,在其他实施方式中,所述应用程序启动时间测试装置10也可以对其自身安装的应用程序的启动时间进行测试。所述应用程序启动时间测试装置10可以通过运行预设的测试脚本或通过侦测对应用程序图标的点击操作来生成启动指令,从而启动所述待测试应用程序。
所述监测单元202用于监听应用程序启动过程中的Activity事件日志信息。
在本发明较佳实施方式中,所述监测单元20通过logcat命令获取所述Activity事件日志信息。其中,logcat是Android中的一个命令行工具,用于得到应用程序的日志(log)信息。
在本实施例中,使用“adb shell logcat v threadtime b events”指令来获取所述Activity事件日志信息。
在本发明较佳实施方式中,所述监测单元202将所述获取到的Activity事件日志信息存储在缓存区中进行暂存。
在一个实施例中,当所述日志信息在所述缓存区中存储超过预定时间后(例如10小时),所述监测单元202将所述缓存区中的日志信息删除。
在另一个实施例中,所述监测单元202在计算完成应用程序启动时间后将缓存区中存储的日志信息删除。
所述时间记录单元203还用于在所述监听到的Activity事件日志信息中查找代表应用程序启动结束的预设标签,并在查找到所述预设标签后,记录该预设标签的打印时间为第二时间T2。
其中,所述预设标签中包括启动结束页面的标识信息以及事件标签“am_activity_launch_time”。例如,当测试的应用程序是“微信”时,设定“微信”启动页面结束标识信息为“page-2”,那么所述预设标签中包括“am_activity_launch_time”以及“page-2”。当监听到的Activity事件日志信息中一个标签中同时包含了“am_activity_launch_time”以及“page-2”时,则记录所述标签的打印时间T2。
优选地,所述时间记录单元203在所述监听到的Activity事件日志信息中查找所述预设标签的方法具体包括:
1)根据用户在设置界面中设置的启动结束页面标识信息生成预设标签查询条件,所述预设标签条件包括启动结束页面的标识信息以及所述事件标签“am_activity_launch_time”;
2)在所述监听到的Activity事件日志信息中查找是否出现与所述预设查询标签相匹配的标签;
3)若未出现则继续监听;
4)当Activity事件日志信息中出现与所述预设查询标签相匹配的标签时,记录出现所述与预设查询标签匹配的标签的时间,所述记录的时间即为所述第二时间T2。
所述计算单元204用于根据所述第一时间T1和所述第二时间T2计算所述待测试应用程序的启动时间T。
具体地,所述计算单元204计算所述应用程序的启动时间T的公式为:T=T2-T1。
在本发明较佳实施方式中,所述计算单元204还用于记录测试执行次数,且每计算完成一次启动时间T后,将测试执行次数加1;判断当前测试执行次数是否达到预设执行次数;若达到所述预设执行次数,则根据每次计算得到的应用程序启动时间T计算出应用程序的平均启动时间T0。
所述测试报告生成单元205用于生成测试报告。其中,所述测试报告中包括每一应用程序的启动时间。
在本发明较佳实施方式中,所述启动时间可以是应用程序单次测试的启动时间,也可以是多次测试的平均启动时间或者二者结合。
图3为本发明计算机装置较佳实施例的示意图。
所述计算机装置1包括存储器20、处理器30以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如应用程序启动时间测试程序。所述处理器30执行所述计算机程序40时实现上述应用程序启动时间测试方法实施例中的步骤,例如图1所示的步骤S11~S15。或者,所述处理器30执行所述计算机程序40时实现上述测试装置实施例中各模块/单元的功能,例如图2中的单元201~205。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的应用程序开启单元201、监测单元202、时间记录单元203、计算单元204、测试报告生成单元205。各单元具体功能参见实施例二。
所述计算机装置1可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置1还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。
所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机装置1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种应用程序启动时间测试方法,其特征在于,所述方法包括:
生成启动应用程序的控制指令,启动待测试应用程序,同时记录第一时间T1;
监听应用程序启动过程中的Activity事件日志信息;
在所述监听到的Activity事件日志信息中查找代表应用程序启动结束的预设标签,并在查找到所述预设标签后,记录该预设标签的打印时间,并将该预设标签的打印时间记录为第二时间T2;以及
根据所述第一时间T1和第二时间T2计算所述应用程序的启动时间T。
2.如权利要求1所述的应用程序启动时间测试方法,其特征在于,在生成启动应用程序的控制指令之前所述方法还包括:
当接收到用户的操作指令时显示一测试参数设置界面;以及
接收用户通过所述测试参数设置界面输入的测试参数,对所述测试参数进行设置,其中,所述测试参数包括待测试应用程序的标识信息、启动结束页面标识信息和/或多个待测试应用程序的测试顺序。
3.如权利要求2所述的应用程序启动时间测试方法,其特征在于,所述测试参数还包括执行应用程序启动时间测试的预设次数,所述测试方法还包括:
记录测试执行次数,且每计算完成一次启动时间后,将测试执行次数加1;
判断当前测试执行次数是否达到所述预设次数;
若达到所述预设执行次数,则根据每次计算得到的应用程序启动时间计算出应用程序的平均启动时间。
4.如权利要求2所述的应用程序启动时间测试方法,其特征在于,所述预设标签中包括启动结束页面的标识信息以及事件标签“am_activity_launch_time”。
5.如权利要求1所述的应用程序启动时间测试方法,其特征在于,生成所述启动应用程序的控制指令的方法包括:
获取预设的应用程序启动时间测试脚本,其中,所述测试脚本被打包成jar包的形式存储于存储装置中;
当接收到用户输入的操作指令时,执行所述测试脚本来生成启动所述应用程序的控制指令。
6.如权利要求1所述的应用程序启动时间测试方法,其特征在于,生成所述启动应用程序的控制指令的方法包括:
侦测用户在安装有待测试应用程序的移动终端屏幕上对待测试应用程序图标的点击操作;
接收到该点击操作后生成启动待测试应用程序的控制指令。
7.如权利要求1所述的应用程序启动时间测试方法,其特征在于,该方法还包括:
将所述获取到的Activity事件日志信息存储在缓存区中进行暂存。
8.一种应用程序启动时间测试装置,其特征在于,所述装置包括:
应用程序开启单元,用于生成启动应用程序的控制指令,启动待测试应用程序;
时间记录单元,用于在生成所述启动应用程序控制指令的同时记录第一时间T1;
监测单元,用于监听应用程序启动过程中的Activity事件日志信息;
所述时间记录单元还用于在所述监听到的Activity事件日志信息中查找代表应用程序启动结束的预设标签,并在查找到所述预设标签后,记录该预设标签的打印时间,并将该预设标签的打印时间记录为第二时间T2;
计算单元,用于根据所述第一时间T1和第二时间T2计算所述应用程序的启动时间T。
9.一种计算机装置,其特征在于:所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任一项所述应用程序启动时间测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述应用程序启动时间测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810935564.2A CN109359020A (zh) | 2018-08-16 | 2018-08-16 | 启动时间测试方法及装置、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810935564.2A CN109359020A (zh) | 2018-08-16 | 2018-08-16 | 启动时间测试方法及装置、计算机装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109359020A true CN109359020A (zh) | 2019-02-19 |
Family
ID=65350061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810935564.2A Pending CN109359020A (zh) | 2018-08-16 | 2018-08-16 | 启动时间测试方法及装置、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359020A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275832A (zh) * | 2019-06-19 | 2019-09-24 | 北京字节跳动网络技术有限公司 | 应用程序的启动耗时测试方法、系统、设备及介质 |
CN110968508A (zh) * | 2019-11-21 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种小程序的加载时间确定方法、装置、终端及存储介质 |
CN112148548A (zh) * | 2019-06-27 | 2020-12-29 | 北京百度网讯科技有限公司 | 启动次数确定方法、装置及设备 |
CN113515448A (zh) * | 2021-05-18 | 2021-10-19 | 中国工商银行股份有限公司 | 应用程序启动时间信息的获取方法及装置 |
CN113590498A (zh) * | 2021-09-29 | 2021-11-02 | 麒麟软件有限公司 | 一种桌面操作系统应用启动时间的测试方法及系统 |
CN113836025A (zh) * | 2021-09-28 | 2021-12-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 页面测试方法及装置、存储介质及电子设备 |
CN115016866A (zh) * | 2022-08-09 | 2022-09-06 | 荣耀终端有限公司 | 应用启动时的数据处理方法、电子设备及存储介质 |
CN116662150A (zh) * | 2022-12-15 | 2023-08-29 | 荣耀终端有限公司 | 应用启动耗时检测方法及相关装置 |
CN116662150B (zh) * | 2022-12-15 | 2024-05-31 | 荣耀终端有限公司 | 应用启动耗时检测方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013142910A (ja) * | 2012-01-06 | 2013-07-22 | Kddi Corp | スマートフォンの動作安定化方法、動作安定化プログラム及び動作安定化装置。 |
CN105573755A (zh) * | 2015-12-15 | 2016-05-11 | 北京奇虎科技有限公司 | 一种应用Activity渲染时间获取方法和装置 |
CN105893251A (zh) * | 2016-03-29 | 2016-08-24 | 工业和信息化部电信研究院 | 一种智能终端app启动所需时间的测试方法及系统 |
CN106708728A (zh) * | 2016-11-18 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 自动测试Android应用启动时间的方法及系统 |
-
2018
- 2018-08-16 CN CN201810935564.2A patent/CN109359020A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013142910A (ja) * | 2012-01-06 | 2013-07-22 | Kddi Corp | スマートフォンの動作安定化方法、動作安定化プログラム及び動作安定化装置。 |
CN105573755A (zh) * | 2015-12-15 | 2016-05-11 | 北京奇虎科技有限公司 | 一种应用Activity渲染时间获取方法和装置 |
CN105893251A (zh) * | 2016-03-29 | 2016-08-24 | 工业和信息化部电信研究院 | 一种智能终端app启动所需时间的测试方法及系统 |
CN106708728A (zh) * | 2016-11-18 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 自动测试Android应用启动时间的方法及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275832A (zh) * | 2019-06-19 | 2019-09-24 | 北京字节跳动网络技术有限公司 | 应用程序的启动耗时测试方法、系统、设备及介质 |
CN112148548A (zh) * | 2019-06-27 | 2020-12-29 | 北京百度网讯科技有限公司 | 启动次数确定方法、装置及设备 |
CN112148548B (zh) * | 2019-06-27 | 2023-08-08 | 北京百度网讯科技有限公司 | 启动次数确定方法、装置及设备 |
CN110968508A (zh) * | 2019-11-21 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种小程序的加载时间确定方法、装置、终端及存储介质 |
CN110968508B (zh) * | 2019-11-21 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 一种小程序的加载时间确定方法、装置、终端及存储介质 |
CN113515448A (zh) * | 2021-05-18 | 2021-10-19 | 中国工商银行股份有限公司 | 应用程序启动时间信息的获取方法及装置 |
CN113836025A (zh) * | 2021-09-28 | 2021-12-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 页面测试方法及装置、存储介质及电子设备 |
CN113590498A (zh) * | 2021-09-29 | 2021-11-02 | 麒麟软件有限公司 | 一种桌面操作系统应用启动时间的测试方法及系统 |
CN115016866A (zh) * | 2022-08-09 | 2022-09-06 | 荣耀终端有限公司 | 应用启动时的数据处理方法、电子设备及存储介质 |
CN116662150A (zh) * | 2022-12-15 | 2023-08-29 | 荣耀终端有限公司 | 应用启动耗时检测方法及相关装置 |
CN116662150B (zh) * | 2022-12-15 | 2024-05-31 | 荣耀终端有限公司 | 应用启动耗时检测方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359020A (zh) | 启动时间测试方法及装置、计算机装置及存储介质 | |
CN108959059B (zh) | 一种测试方法以及测试平台 | |
WO2018227736A1 (zh) | 一种构建测试方法及装置 | |
CN110968508B (zh) | 一种小程序的加载时间确定方法、装置、终端及存储介质 | |
CN107391362A (zh) | 应用测试方法、移动终端及存储介质 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN110609967B (zh) | 一种榜单生成方法、装置及存储介质 | |
CN114780386A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN114036074A (zh) | 终端设备的测试方法和测试装置 | |
CN114911706A (zh) | 用例推荐方法、装置、设备及存储介质 | |
CN113971130A (zh) | 软件性能测试方法、装置、设备及存储介质 | |
CN108984380A (zh) | 一种基于Linux系统的服务器测试方法、装置及介质 | |
CN106940710B (zh) | 信息推送方法及装置 | |
CN112559124A (zh) | 一种模型管理系统以及目标操作指令的处理方法和装置 | |
CN110532193A (zh) | 一种性能分析方法、装置、计算设备及存储介质 | |
CN111880996B (zh) | 一种裸机数据采集方法、装置、设备及可读存储介质 | |
CN110048940A (zh) | 即时通信消息的发送方法、装置、服务器及可读存储介质 | |
CN112817782B (zh) | 一种数据采集上报方法、装置、电子设备和存储介质 | |
CN110795330A (zh) | 一种Monkey压力测试的方法和装置 | |
CN109710521B (zh) | 多媒体应用性能测试方法、装置、计算机设备和存储介质 | |
CN113836013A (zh) | 一种埋点测试方法、装置、计算机设备和计算机可读存储介质 | |
CN111459547A (zh) | 一种函数调用链路的展示方法和装置 | |
CN113495817A (zh) | 功耗测试方法、装置、服务器及存储介质 | |
CN110865937A (zh) | 一种应用测试方法、装置和存储介质 | |
CN111708711B (zh) | Ab测试方法及装置、存储介质及电子设备 |
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 |