CN105204981A - 应用性能测试方法和装置 - Google Patents

应用性能测试方法和装置 Download PDF

Info

Publication number
CN105204981A
CN105204981A CN201410232622.7A CN201410232622A CN105204981A CN 105204981 A CN105204981 A CN 105204981A CN 201410232622 A CN201410232622 A CN 201410232622A CN 105204981 A CN105204981 A CN 105204981A
Authority
CN
China
Prior art keywords
mobile device
performance
historical operation
application
user
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
Application number
CN201410232622.7A
Other languages
English (en)
Inventor
王同窗
孙瑞川
平航磊
蒋建华
赵芳芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410232622.7A priority Critical patent/CN105204981A/zh
Publication of CN105204981A publication Critical patent/CN105204981A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种应用性能测试方法和装置,其中的方法包括:获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间;获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间;根据所述移动设备性能信息、所述采集时间、所述用户历史操作信息以及所述历史操作发生时间确定所述被测应用的应用性能随所述采集时间、所述用户历史操作信息以及所述历史操作发生时间的变化情况;输出所述被测应用的应用性能的变化情况。

Description

应用性能测试方法和装置
技术领域
本发明涉及性能测试技术,特别是涉及一种应用性能测试方法以及相应的应用性能测试装置。
背景技术
应用(也可以称为应用程序)通常需要进行性能测试,如在针对移动电话或者平板电脑等移动设备而开发的应用被正式投入使用之前,需要对应用的性能进行测试。
现有的对移动设备中的应用性能进行测试的方法通常为:在移动设备中运行被测应用,并在被测应用的运行过程中根据预定时间间隔多次获取移动设备的性能信息,之后,通过对一段时间内获取到的移动设备的所有性能信息进行分析获得被测应用的性能。
发明人在实现本发明过程中发现,应用的种类以及数量已日渐繁多,用户对应用的要求也日渐提高,这促使应用应尽可能地具有更优的性能,以提升其市场竞争力;为了使应用具有更优的性能,这需要对应用进行更精细化的性能测试,以有针对性的改进应用;然而,利用现有的应用性能测试方法所获得的被测应用性能并不能够很好的满足当前的应用测试需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用性能测试方法和装置。
依据本发明的一个方面,提供了一种应用性能测试方法,包括:获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间;获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间;根据所述移动设备性能信息、所述采集时间、所述用户历史操作信息以及所述历史操作发生时间确定所述被测应用的应用性能随所述采集时间、所述用户历史操作信息以及所述历史操作发生时间的变化情况;输出所述被测应用的应用性能的变化情况。
根据本发明的另一方面,提供了一种应用性能测试装置,包括:性能监测模块,适于获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间;操作监测模块,适于获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间;确定性能模块,适于根据所述移动设备性能信息、所述采集时间、所述用户历史操作信息以及所述历史操作发生时间确定所述被测应用的应用性能随所述采集时间、所述用户历史操作信息以及所述历史操作发生时间的变化情况;输出性能模块,适于输出所述被测应用的应用性能的变化情况。
本发明的应用性能测试方法以及装置通过获取被测应用在移动设备运行过程中移动设备性能信息以及采集时间,可以获知被测应用的运行对移动设备性能的影响;通过获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间,可以通过采集时间与历史操作发生时间的关联来获知用户历史操作对移动设备性能的影响,这样,可以清楚的获知被测应用性能波动的具体原因以及使被测应用的运行产生异常的具体操作等;从而本发明能够较好的满足当前的应用测试需求,有利于应用性能的提升。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。说明书附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的应用性能测试方法流程图;
图2示出了本发明实施例一的针对移动设备CPU占用百分比和用户历史操作信息所生成的折线图;
图3示出了本发明实施例一的针对移动设备内存已占用空间和用户历史操作信息生成的折线图;
图4示出了本发明实施例一的针对移动设备电池电量和用户历史操作信息生成的折线图;
图5示出了本发明实施例一的针对移动设备网络流量和用户历史操作信息生成的折线图;
图6示出了本发明实施例一的针对移动设备CPU占用百分比、移动设备内存已占用空间、移动设备电池电量、移动设备网络流量和用户历史操作信息生成的一折线图;
图7示出了本发明实施例一的针对移动设备CPU占用百分比、移动设备内存已占用空间、移动设备电池电量、移动设备网络流量和用户历史操作信息生成的另一折线图;
图8示出了根据本发明实施例二的应用性能测试装置示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一、应用性能测试方法。下面结合图1对本实施例的方法进行详细说明。
图1中,S100、获取被测应用在移动设备运行过程中移动设备性能信息以及移动设备性能信息的采集时间。
具体的,本实施例中的获取移动设备性能信息以及移动设备性能信息的采集时间的主体应为应用性能测试设备;这里的应用性能测试设备可以为运行被测应用的移动设备,也可以为独立于运行被测应用的移动设备的其他设备,例如,上述其他设备可以为与运行被测应用的移动设备无线连接或者有线连接的服务器等设备。
在应用性能测试设备为运行被测应用的移动设备的情况下,该移动设备(如该移动设备中安装的应用性能测试程序等)可以在被测应用的运行过程中,根据预先设定的时间间隔定时采集移动设备性能信息,并将采集到的移动设备性能信息和采集时间本地存储于移动设备性能日志中,之后,移动设备(如应用性能测试程序)可以在需要进行应用性能分析时,方便地从其本地存储的移动设备性能日志中获取被测应用在移动设备运行过程中移动设备性能信息以及移动设备性能信息的采集时间。
在应用性能测试设备为与运行被测应用的移动设备连接的其他设备如服务器的情况下,移动设备(如该移动设备中安装的应用性能测试程序等)可以在被测应用的运行过程中,根据预先设定的时间间隔定时地采集其性能信息,并将采集到的移动设备性能信息和采集时间本地存储于移动设备性能日志中,之后,移动设备(如应用性能测试程序)可以将移动设备性能日志上传给服务器;例如,移动设备(如应用性能测试程序)在被测应用运行结束后主动地将本地存储的移动设备性能日志上传给服务器;再例如,无论被测应用是否在运行或者是否运行结束,移动设备在接收到服务器传输来的移动设备性能测试信息上传请求后,将其本地存储的移动设备性能日志上传给服务器;这样,服务器可以在需要进行应用性能分析时,方便地从其接收到的移动设备性能日志中获取被测应用在移动设备运行过程中移动设备性能信息以及移动设备性能信息的采集时间。
上述移动设备性能信息通常包含有移动设备的多个性能指标,移动设备性能信息具体包含的性能指标可以根据应用的实际测试需求确定;例如,移动设备性能信息可以具体包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况中的任意一个或者任意两个或者任意三个或者所有等等。
上述移动设备CPU使用情况可以具体为:移动设备CPU占用率(即移动设备占用百分比)或者移动设备CPU空闲率(即移动设备CPU空闲百分比),且移动设备CPU占用率可以具体为被测应用对移动设备CPU的占用率;上述移动设备内存使用情况可以具体为:移动设备内存占用率(即移动设备内存占用百分比)或者移动设备内存空闲率(即移动设备内存空闲百分比)或者移动设备内存已占用空间大小或者移动设备内存空闲空间大小,且移动设备内存占用率可以具体为被测应用对移动设备内存的占用率,移动设备内存已占用空间大小可以具体为被测应用对移动设备内存的占用空间大小;上述移动设备网络流量可以具体为被测应用所消耗的网络流量:且移动设备网络流量可以是Wi-Fi数据流量以及2G/3G/4G数据流量中的任意一个或者两个;也就是说,本实施例中的移动设备可以区分出其当前网络流量的类型,从而移动设备性能日志中的移动设备网络流量可以明确表示出移动设备当前所消耗网络流量是Wi-Fi数据流量,还是2G/3G/4G数据流量;上述移动设备电池使用情况可以具体为移动设备电池电量(即移动设备电池的剩余电量),且移动设备电池电量可以使用电池电压来表示。
移动设备可以利用其内部安装的应用性能测试程序中的性能监测模块来采集被测应用在移动设备运行过程中的移动设备性能信息,并将采集到的移动设备性能信息以及相应的采集时间本地存储在移动设备性能日志中。性能监测模块可以通过调用移动设备操作***中相应的API(ApplicationProgrammingInterface,应用程序编程接口)来采集被测应用在移动设备运行过程中的移动设备性能信息。上述应用性能测试程序可以作为安装于移动设备中的某个应用的一部分功能,如应用性能测试程序可以作为移动设备中安装的优化大师的一个优化功能。
本实施例的采集被测应用在移动设备运行过程中的移动设备性能信息并本地存储移动设备性能信息及采集时间的一个具体的例子为:应用性能测试程序在预先设定的时间间隔到达后,调用操作***中的SystemProperties.java来获取当前移动设备CPU占用率,调用操作***中的ActivityManager.java来获得当前移动设备内存已占用空间大小,调用操作***中的ConnectivityManager.java来获得当前移动设备网络流量,调用操作***中的BatteryManager.java来获得当前移动设备电池电量,上述四个调用操作在通常情况下可以同时进行;应用性能测试程序在执行上述调用操作时或者接收到操作***返回的当前移动设备CPU占用率、当前移动设备内存已占用空间大小、当前移动设备网络流量以及当前移动设备电池电量时,获取移动设备的当前时间(即给移动设备性能信息打时间戳),然后,应用性能测试程序将当前移动设备CPU占用率、当前移动设备内存占用率、当前移动设备网络流量、当前移动设备电池电量以及移动设备的当前时间作为一条记录存储在移动设备性能日志中。本实施例可以利用移动设备的操作***所提供的API来获取移动设备的当前时间,如利用操作***中的System.currentTimeMillis()来获取移动设备的当前时间。
本实施例中的移动设备性能信息日志可以为txt格式的文件,也可以为其他格式的文件;且移动设备性能信息日志可以存储在移动设备的SD卡中。
S110、获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。
具体的,本实施例中的获取用户历史操作信息以及历史操作发生时间的主体同样应为应用性能测试设备;同理,本实施例中的应用性能测试设备可以为运行被测应用的移动设备,也可以为独立于运行被测应用的移动设备的其他设备,例如,上述其他设备可以为与运行被测应用的移动设备无线连接或者有线连接的服务器等设备。
需要特别说明的是,获取用户历史操作信息以及历史操作发生时间的主体通常与上述获取移动设备性能信息以及移动设备性能信息的采集时间的主体为同一个主体;另外,虽然S100和S110是带有顺序编号的两个步骤,然而,S100和S110之间在实际应用中并没有必然的执行顺序限制,这两个步骤通常应同时执行,当然也可以先后执行,但是,在测试的整个时间段内最好应有部分移动设备性能信息与部分用户历史操作信息是同时获得的。
在应用性能测试设备为运行被测应用的移动设备的情况下,该移动设备(如该移动设备中安装的应用性能测试程序等)可以在被测应用的运行过程中,实时监测用户的操作(这里的用户的操作通常是指针对应用性能测试而设计的测试逻辑所模拟的用户的操作),并在监测到用户执行了相应的操作时,获取移动设备的当前时间,并将监测到的用户执行的操作所对应的操作信息以及上述当前时间作为用户历史操作信息以及历史操作发生时间本地存储于用户历史操作日志中;从而移动设备在需要进行应用性能分析时,可以方便地从其本地存储的用户历史操作日志中获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。
在应用性能测试设备为与运行被测应用的移动设备连接的其他设备如服务器的情况下,移动设备(如该移动设备中安装的应用性能测试程序等)可以在被测应用的运行过程中,实时监测用户的操作(这里的用户的操作通常是指针对应用性能测试而设计的测试逻辑所模拟的用户的操作),并在监测到用户执行了相应的操作时,获取移动设备的当前时间(即给用户历史操作信息打时间戳),并将用户执行的操作对应的操作信息以及上述当前时间作为用户历史操作信息以及历史操作发生时间本地存储于用户历史操作日志中,之后,移动设备可以将用户历史操作日志上传给服务器;例如,移动设备在被测应用运行结束后主动地将本地存储的用户历史操作日志上传给服务器;再例如,移动设备在接收到服务器传输来的移动设备性能测试信息上传请求后,将其本地存储的用户历史操作日志上传给服务器;这样,服务器在需要进行应用性能分析时,可以方便地从其接收到的用户历史操作日志中获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。同样的,本实施例可以利用移动设备的操作***所提供的API来获取移动设备的当前时间,如利用操作***中的System.currentTimeMillis()来获取移动设备的当前时间。
上述S100中的移动设备性能信息日志和S110中的用户历史操作日志通常应同时上传至服务器,例如,移动设备在被测应用运行结束后主动地将本地存储的移动设备性能信息日志和用户历史操作日志同时上传至服务器;再例如,移动设备在接收到服务器传输来的移动设备性能测试信息上传请求后,将本地存储的移动设备性能信息日志和用户历史操作日志同时上传至服务器。本实施例可以通过在应用性能测试程序中设置Upload()函数将上述两日志上传至服务器。另外,移动设备可以清空已经成功上传的移动设备性能信息日志和用户历史操作日志中的记录。
上述用户历史操作日志通常包含有用户执行的多种操作(包括测试逻辑所模拟的用户的操作)所对应的用户历史操作信息,且用户执行的多种操作可以具体包括:点击、滑动以及输入事件等等。本实施例不限制用户执行的操作的具体内容。
移动设备可以利用其内部安装的应用性能测试程序中的操作监测模块来获取被测应用在移动设备运行过程中的用户历史操作信息以及操作发生时间,并将获取到的用户历史操作信息以及相应的操作发生时间本地存储在用户历史操作日志中。应用性能测试程序通常可以获取并辨识被测应用中的UI(UserInterface,用户界面)控件,并按照相应的测试逻辑来调用被测应用中的相应UI控件,以对被测应用进行测试。应用性能测试程序在调用被测应用的相应UI控件时,应用性能测试程序中的操作监测模块可以将相应的UI控件信息以及当前调用的时间作为用户历史操作信息以及操作发生时间记录到用户历史操作日志中。
本实施例中的应用性能测试程序可以是在Robotium的基础上开发的应用程序。Robotium是一个基于Android平台的UI自动化测试框架,利用Robotium提供的API(如Solo.java)可以通过多种方式来对被测应用的UI控件进行辨识以及对被测应用的UI的操作,如点击操作、长按操作或者滑动操作等。
移动设备采集被测应用在移动设备运行过程中的用户操作信息,并本地存储用户操作信息以及操作发生时间的一个具体的例子为:应用性能测试程序在运行后通过向操作***查询可以获知被测应用的所有UI控件(如应用性能测试程序通过利用操作***的Robotium所提供的API可以查询获知被测应用的所有UI控件),然后,应用性能测试程序会按照其预先设置的测试逻辑调用相应的UI控件,使被测应用针对当前调用的相应的UI控件执行相应的操作(如应用性能测试程序通过利用操作***的Robotium所提供的API可以使被测应用执行UI控件所对应的操作),从而本实施例通过模仿用户对被测应用的实际操作而对被测应用进行性能测试;应用性能测试程序在调用相应的UI控件并使被测应用执行相应的操作时,应用性能测试程序中的操作监测模块可以记录该UI控件对应的操作信息,并同时获取移动设备的当前时间(即为该UI控件增加相应的时间戳),然后,操作监测模块将UI控件对应的操作信息以及当前时间作为一条记录存储在用户历史操作日志中。上述用户历史操作日志可以为txt格式的文件,也可以为其他格式的文件。
S120、根据上述移动设备性能信息、采集时间、用户历史操作信息以及历史操作发生时间确定被测应用的应用性能随采集时间、用户历史操作信息以及历史操作发生时间的变化情况。
具体的,本实施例的被测应用的应用性能随采集时间、用户历史操作信息以及历史操作发生时间的变化情况可以以折线图的形式体现;当然,该变化情况也可以采用其他形式来体现,如柱状图、统计表或者文本文件等。
由于本实施例中的采集时间和历史操作发生时间完全可以拟合在同一时间轴上,因此,本实施例中的移动设备性能信息和用户历史操作信息是可以基于时间轴中的时间而关联起来的。
本实施例可以先利用移动设备性能信息和采集时间来形成折线图或者柱状图或者统计表等,然后,再利用历史操作发生时间,将相应的用户历史操作信息标记在折线图或者柱状图或者统计表中的相应位置处。
本实施例在获取的移动设备性能信息包含有多种性能指标的情况下,可以分别确定出每一个性能指标随采集时间、用户历史操作信息以及历史操作发生时间的变化情况;一个具体的例子,在获取的移动设备性能信息包括移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况的实际应用场景中,本实施例可以从移动设备性能信息日志中读取出所有的被测应用消耗CPU的百分比、被测应用消耗内存的百分比、被测应用消耗的网络流量、移动设备电池电量以及各信息对应的采集时间,并利用读取出的所有的被测应用消耗CPU的百分比、被测应用消耗内存的百分比、被测应用消耗的网络流量、移动设备电池电量以及各信息对应的采集时间生成四条折线,这四条折线通常应位于四个不同的坐标系中,当然也可以位于同一个坐标系中;不论四条折线是位于同一个坐标系中,还是位于四个不同的坐标系中,坐标系的横坐标均表示采集时间,且坐标系的纵坐标均表示性能指标的具体量化数值;然后,从用户历史操作日志中读取所有的用户历史操作信息以及历史操作发生时间,确定各历史操作发生时间在坐标系中的横坐标的位置,并在历史操作发生时间对应在折线的位置处或者历史操作发生时间在横坐标位置处标记相应的用户历史操作信息,本实施例可以基于用户历史操作信息对应的文字表述来进行标记,也可以基于用户历史操作信息对应的标识符等来进行标记。
本实施例可以利用现有的绘图插件来绘制上述折线图,如将读取的数据按照预先设定的方式提供给绘图插件,从而绘图插件可以根据其接收到的数据绘制出上述折线图。
S130、输出被测应用的应用性能的变化情况。
具体的,本实施例的应用性能测试设备可以通过其显示屏显示被测应用的应用性能随采集时间、用户历史操作信息以及历史操作发生时间的变化情况(如显示上述折线图),也可以通过打印机输出该变化情况(如打印统计表),当然,本实施例还可以通过其他方式输出该变化情况。
本实施例在采用显示屏输出被测应用的应用性能的变化情况的实际应用场景中,可以采用多种方式显示标记在坐标系中的用户历史操作信息,如在应用性能测试设备的鼠标指向折线中的某一点处(或者触碰位置为折线中的某一点处)时,该点附近的用户历史操作信息对应的文字表述或者标识符被显性地显示出来,而位于其他位置的用户历史操作信息对应的文字表述或者标识符处于隐藏显示状态;再如,在应用性能测试设备的鼠标指向折线中的某一点处(或者触碰位置为折线中的某一点处)时,标记在该折线中的所有的用户历史操作信息对应的文字表述或者标识符都被显性地显示出来。
另外,在多条折线(如四条折线)位于同一个坐标系中的情况下,纵坐标可以分别显示出四条折线所对应的单位刻度,如利用四条纵坐标来显示四条折线所对应的单位刻度;当然,本实施例也可以采用其他方式来显示四条折线所对应的单位刻度,例如,在应用性能测试设备的鼠标指向某一条折线中的某一点处(或者触碰位置为某一条折线中的某一点处)时,该坐标系的纵坐标的单位刻度值应显示该折线所对应的单位刻度值;而在应用性能测试设备的鼠标未指向任意一条折线中的任意一点处(或者触碰位置不是任意一条折线中的任意一点处)时,该坐标系的纵坐标的单位刻度值可以为预先设定的某一条折线所对应的单位刻度值。
下面结合附图2-7对本实施例的一个实际应用进行说明。本实施例在被测应用运行过程中所采集到的移动设备CPU占用百分比、移动设备内存已占用空间、移动设备电池电量和移动设备网络流量以及所监测到的用户历史操作信息如下述表1所示。
表1
针对上述表1需要特别说明的是,在监控用户操作过程中,一个用户操作可能会影响一段持续的时间,因此,一个用户历史操作信息对应的操作发生时间可能会对应多个采集时间,例如,在第1秒监控到的“输入用户名”的操作所产生的影响是一个持续过程,所以,可以认为在下一个历史操作发生之前所采集到的多个移动设备性能信息均与“输入用户名”这一用户历史操作信息相对应。
本实施例在利用四个坐标系来展示上述表1中的具体内容的情况下,所生成的四个折线图如图2-5所示。具体的,本实施例利用采集时间、历史操作发生时间以及上述表1中的移动设备CPU占用百分比和用户历史操作信息所生成的折线图如图2所示,图2中的横坐标表示时间,单位为秒(s),纵坐标表示CPU占用百分比,单位为百分比数值;本实施例利用采集时间、历史操作发生时间以及上述表1中的移动设备内存已占用空间和用户历史操作信息生成的折线图如图3所示,图3中的横坐标表示时间,单位为秒,纵坐标表示内存占用空间大小,单位为MB(MByte,兆);本实施例利用采集时间、历史操作发生时间以及上述表1中的移动设备电池电量和用户历史操作信息生成的折线图如图4所示,图4中的横坐标表示时间,单位为秒,纵坐标表示电池电压,单位为Mv(毫伏);本实施例利用采集时间、历史操作发生时间以及上述表1中的移动设备网络流量和用户历史操作信息生成的折线图如图5所示,图5中的横坐标表示时间,单位为秒,纵坐标表示移动设备网络流量,单位为KB。
本实施例在利用一个坐标系来展示上述表1中的具体内容的情况下,所生成的折线图如图6-7所示。具体的,本实施例利用采集时间、历史操作发生时间以及上述表1中的移动设备CPU占用百分比、移动设备内存已占用空间、移动设备电池电量、移动设备网络流量和用户历史操作信息生成的折线图如图6和图7所示,图6和图7中的横坐标表示时间,单位为秒,纵坐标可以分别表示出CPU占用百分比、内存占用空间大小、电池电压、移动设备网络流量。
实施例二、应用性能测试装置。下面结合图8对本实施例的装置进行详细说明。
图8中的应用性能测试装置可以设置于运行被测应用的移动设备中,也可以设置于与运行被测应用的移动设备无线连接或者有线连接的服务器等设备中,还可以一部分设置于运行被测应用的移动设备中,另一部分设置于与运行被测应用的移动设备无线连接或者有线连接的服务器等设备中。
本实施例的应用性能测试装置主要包括:性能监测模块200、操作监测模块210、确定性能模块220以及输出性能模块230。
性能监测模块200可以完全设置于移动设备中,也可以完全设置于服务器中,还可以部分设置于移动设备中部分设置于服务器中。性能监测模块200主要适于获取被测应用在移动设备运行过程中移动设备性能信息以及移动设备性能信息的采集时间。
具体的,在性能监测模块200完全设置于运行被测应用的移动设备的情况下,性能监测模块200可以在被测应用的运行过程中,根据预先设定的时间间隔定时采集移动设备性能信息,并将采集到的移动设备性能信息和采集时间本地存储于移动设备性能日志中,之后,确定性能模块220可以在需要进行应用性能分析时,方便地从移动设备本地存储的移动设备性能日志中获取被测应用在移动设备运行过程中移动设备性能信息以及移动设备性能信息的采集时间。
在性能监测模块200完全设置于与运行被测应用的移动设备连接的其他设备如服务器的情况下,移动设备(如该移动设备中安装的应用性能测试程序等)可以在被测应用的运行过程中,根据预先设定的时间间隔定时地采集其性能信息,并将采集到的移动设备性能信息和采集时间本地存储于移动设备性能日志中,之后,移动设备(如应用性能测试程序)可以将移动设备性能日志上传给服务器,以使性能监测模块200从服务器接收的信息中获取到移动设备性能信息和采集时间;如性能监测模块200通过服务器向移动设备发送移动设备性能测试信息上传请求,移动设备在接收到服务器传输来的移动设备性能测试信息上传请求后,将其本地存储的移动设备性能日志上传给服务器,使性能监测模块200成功获取到移动设备性能信息和采集时间,且性能监测模块200可以将服务器接收到的移动设备性能日志本地存储于服务器中;这样,服务器中的确定性能模块220在需要进行应用性能分析时,可以方便地从本地存储的移动设备性能日志中获取被测应用在移动设备运行过程中移动设备性能信息以及移动设备性能信息的采集时间。
在性能监测模块200部分设置于移动设备中,部分设置于与运行被测应用的移动设备连接的其他设备如服务器的情况下,性能监测模块200的设置于移动设备中的部分(下述称为第一单元)在被测应用的运行过程中,根据预先设定的时间间隔定时地采集其性能信息,并将采集到的移动设备性能信息和采集时间本地存储于移动设备性能日志中,之后,第一单元可以将移动设备性能日志上传给服务器,以使性能监测模块200的设置于服务器中的部分(下述称为第二单元)从服务器接收的信息中获取到移动设备性能信息和采集时间;如第二单元通过服务器向移动设备发送移动设备性能测试信息上传请求,第一单元在移动设备接收到服务器传输来的移动设备性能测试信息上传请求后,将移动设备本地存储的移动设备性能日志上传给服务器,使第二单元成功获取到移动设备性能信息和采集时间,且第二单元可以将服务器接收到的移动设备性能日志本地存储于服务器中;这样,设置于服务器中的确定性能模块220在需要进行应用性能分析时,可以方便地从本地存储的移动设备性能日志中获取被测应用在移动设备运行过程中移动设备性能信息以及移动设备性能信息的采集时间。
本实施例的移动设备性能信息通常包含有移动设备的多个性能指标,移动设备性能信息具体包含的性能指标可以根据应用的实际测试需求确定;例如,移动设备性能信息可以具体包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况中的任意一个或者任意两个或者任意三个或者所有。
上述移动设备CPU使用情况可以具体为:移动设备CPU占用率(即移动设备占用百分比)或者移动设备CPU空闲率(即移动设备CPU空闲百分比),且移动设备CPU占用率可以具体为被测应用对移动设备CPU的占用率;上述移动设备内存使用情况可以具体为:移动设备内存占用率(即移动设备内存占用百分比)或者移动设备内存空闲率(即移动设备内存空闲百分比)或者移动设备内存已占用空间大小或者移动设备内存空闲空间大小,且移动设备内存占用率可以具体为被测应用对移动设备内存的占用率,移动设备内存已占用空间大小可以具体为被测应用对移动设备内存的占用空间大小;上述移动设备网络流量可以具体为被测应用所消耗的网络流量:且移动设备网络流量可以是Wi-Fi数据流量以及2G/3G/4G数据流量中的任意一个或者两个;也就是说,本实施例中的移动设备可以区分出其当前网络流量的类型,从而移动设备性能日志中的移动设备网络流量可以明确表示出移动设备当前所消耗网络流量是Wi-Fi数据流量,还是2G/3G/4G数据流量;上述移动设备电池使用情况可以具体为移动设备电池电量(即移动设备电池的剩余电量),且移动设备电池电量可以使用电池电压来表示。
性能监测模块200可以通过调用移动设备的操作***中相应的API(ApplicationProgrammingInterface,应用程序编程接口)来采集被测应用在移动设备运行过程中的移动设备性能信息。
本实施例的性能监测模块200采集被测应用在移动设备运行过程中的移动设备性能信息并本地存储移动设备性能信息及采集时间的一个具体的例子为:性能监测模块200在预先设定的时间间隔到达后,调用操作***中的SystemProperties.java来获取当前移动设备CPU占用率,调用操作***中的ActivityManager.java来获得当前移动设备内存占用率,调用操作***中的ConnectivityManager.java来获得当前移动设备网络流量,调用操作***中的BatteryManager.java来获得当前移动设备电池电量,上述四个调用操作在通常情况下可以同时进行;性能监测模块200在执行上述调用操作时或者接收到操作***返回的当前移动设备CPU占用率、当前移动设备内存占用率、当前移动设备网络流量以及当前移动设备电池电量时,获取移动设备的当前时间(即给移动设备性能信息打时间戳),然后,性能监测模块200将当前移动设备CPU占用率、当前移动设备内存占用率、当前移动设备网络流量、当前移动设备电池电量以及移动设备的当前时间作为一条记录存储在移动设备性能日志中。本实施例的性能监测模块200可利用移动设备的操作***所提供的API来获取移动设备的当前时间,如利用操作***中的System.currentTimeMillis()来获取移动设备的当前时间。
本实施例中的移动设备性能信息日志可以为txt格式的文件,也可以为其他格式的文件;且移动设备性能信息日志可以存储在移动设备的SD卡中。
操作监测模块210可以完全设置于移动设备中,也可以完全设置于服务器中,还可以部分设置于移动设备中部分设置于服务器中。操作监测模块210主要适于获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。
具体的,在操作监测模块210完全设置于运行被测应用的移动设备的情况下,操作监测模块210可以在被测应用的运行过程中,实时监测用户的操作(这里的用户的操作通常是指针对应用性能测试而设计的测试逻辑所模拟的用户的操作),并在监测到用户执行了相应的操作时,获取移动设备的当前时间,并将监测到的用户执行的操作所对应的操作信息以及上述当前时间作为用户历史操作信息以及历史操作发生时间本地存储于用户历史操作日志中;从而确定性能模块220在需要进行应用性能分析时,可以方便地从移动设备本地存储的用户历史操作日志中获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。
在操作监测模块210完全设置于与运行被测应用的移动设备连接的其他设备如服务器的情况下,操作监测模块210可以在被测应用在移动设备的运行过程中,实时监测用户的操作(这里的用户的操作通常是指针对应用性能测试而设计的测试逻辑所模拟的用户的操作),并在监测到用户执行了相应的操作时,操作监测模块210获取移动设备的当前时间(即给用户历史操作信息打时间戳),并将用户执行的操作对应的操作信息以及上述当前时间作为用户历史操作信息以及历史操作发生时间本地存储于用户历史操作日志中,之后,操作监测模块210可以将用户历史操作日志上传给服务器;如操作监测模块210在被测应用运行结束后主动地将本地存储的用户历史操作日志上传给服务器;再如,操作监测模块210在移动设备接收到服务器传输来的移动设备性能测试信息上传请求后,将移动设备本地存储的用户历史操作日志上传给服务器;这样,设置于服务器中的确定性能模块220在需要进行应用性能分析时,可以方便地从服务器接收并本地存储的用户历史操作日志中获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。同样的,本实施例中的操作监测模块210可以利用移动设备的操作***所提供的API来获取移动设备的当前时间,如操作监测模块210利用操作***中的System.currentTimeMillis()来获取移动设备的当前时间。
在操作监测模块210部分设置于移动设备中,部分设置于与运行被测应用的移动设备连接的其他设备如服务器的情况下,操作监测模块210的设置于移动设备中的部分(下述称为第三单元)在被测应用的运行过程中,实时监测用户的操作(这里的用户的操作通常是指针对应用性能测试而设计的测试逻辑所模拟的用户的操作),并在监测到用户执行了相应的操作时,第三单元获取移动设备的当前时间(即给用户历史操作信息打时间戳),并将用户执行的操作对应的操作信息以及上述当前时间作为用户历史操作信息以及历史操作发生时间本地存储于用户历史操作日志中,之后,第三单元可以将用户历史操作日志上传给服务器,以使操作监测模块210的设置于服务器中的部分(下述称为第四单元)从服务器接收的信息中获取到用户历史操作信息以及历史操作发生时间;如第四单元通过服务器向移动设备发送移动设备性能测试信息上传请求,第三单元在移动设备接收到服务器传输来的移动设备性能测试信息上传请求后,将移动设备本地存储的用户历史操作日志上传给服务器,使第四单元成功获取用户历史操作信息及历史操作发生时间,且第四单元可以将服务器接收到的用户历史操作日志本地存储于服务器中;这样,设置于服务器中的确定性能模块220在需要进行应用性能分析时,可以方便地从服务器本地存储的用户历史操作日志中获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。
本实施例中的移动设备性能信息日志和用户历史操作日志通常应同时上传至服务器,例如,性能监测模块200和/或操作监测模块210在被测应用运行结束后主动地将本地存储的移动设备性能信息日志和用户历史操作日志同时上传至服务器;再例如,性能监测模块200和/或操作监测模块210在移动设备接收到服务器传输来的移动设备性能测试信息上传请求后,将本地存储的移动设备性能信息日志和用户历史操作日志同时上传至服务器。本实施例的性能监测模块200和/或操作监测模块210可以通过利用Upload()函数将上述两日志上传至服务器。另外,性能监测模块200和/或操作监测模块210可以清空已经成功上传的移动设备性能信息日志和用户历史操作日志中的记录。
上述用户历史操作日志通常包含有用户执行的多种操作(包括测试逻辑所模拟的用户的操作)所对应的用户历史操作信息,且用户执行的多种操作可以具体包括:点击、滑动以及输入事件等等。本实施例不限制用户执行的操作的具体内容。
应用性能测试程序通常可以获取并辨识被测应用中的UI控件,并按照相应的测试逻辑来调用被测应用中的相应UI控件,以对被测应用进行测试。应用性能测试程序在调用被测应用的相应UI控件时,操作监测模块210可以将相应的UI控件信息以及当前调用的时间作为用户历史操作信息以及操作发生时间记录到用户历史操作日志中。
操作监测模块210采集被测应用在移动设备运行过程中的用户操作信息,并本地存储用户操作信息以及操作发生时间的一个具体的例子为:应用性能测试程序在运行后通过向操作***查询可以获知被测应用的所有UI控件(如应用性能测试程序通过利用操作***的Robotium所提供的API可以查询获知被测应用的所有UI控件),然后,应用性能测试程序会按照其预先设置的测试逻辑调用相应的UI控件,使被测应用针对当前调用的相应的UI控件执行相应的操作(如应用性能测试程序通过利用操作***的Robotium所提供的API可以使被测应用执行UI控件所对应的操作),从而通过模仿用户对被测应用的实际操作而对被测应用进行性能测试;应用性能测试程序在调用相应的UI控件并使被测应用执行相应的操作时,操作监测模块210可以记录该UI控件对应的操作信息,并同时获取移动设备的当前时间(即为该UI控件增加相应的时间戳),然后,操作监测模块210将UI控件对应的操作信息以及当前时间作为一条记录存储在用户历史操作日志中。上述用户历史操作日志可以为txt格式的文件,也可以为其他格式的文件。
确定性能模块220可以完全设置于移动设备中,也可以完全设置于服务器中。确定性能模块220主要适于根据上述性能监测模块200和操作监测模块210获取的移动设备性能信息、采集时间、用户历史操作信息以及历史操作发生时间确定被测应用的应用性能随采集时间、用户历史操作信息以及历史操作发生时间的变化情况。
具体的,本实施例的被测应用的应用性能随采集时间、用户历史操作信息以及历史操作发生时间的变化情况可以以折线图的形式体现;当然,该变化情况也可以采用其他形式来体现,如柱状图、统计表或者文本文件等。
确定性能模块220可以先利用移动设备性能信息和采集时间来形成折线图或者柱状图或者统计表等,然后,再利用历史操作发生时间,将相应的用户历史操作信息标记在折线图或者柱状图或者统计表中的相应位置处。
在获取的移动设备性能信息包含有多种性能指标的情况下,确定性能模块220可以分别确定出每一个性能指标随采集时间、用户历史操作信息以及历史操作发生时间的变化情况;一个具体的例子,在获取的移动设备性能信息包括移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况的实际应用场景中,确定性能模块220可以从移动设备性能信息日志中读取出所有的被测应用消耗CPU的百分比、被测应用消耗内存的百分比、被测应用消耗的网络流量、移动设备电池电量以及各信息对应的采集时间,并利用读取出的所有的被测应用消耗CPU的百分比、被测应用消耗内存的百分比、被测应用消耗的网络流量、移动设备电池电量以及各信息对应的采集时间生成四条折线,这四条折线通常应位于四个不同的坐标系中,当然也可以位于同一个坐标系中;不论四条折线是位于同一个坐标系中,还是位于四个不同的坐标系中,坐标系的横坐标均表示采集时间,且坐标系的纵坐标均表示性能指标的具体量化数值;然后,确定性能模块220从用户历史操作日志中读取所有的用户历史操作信息以及历史操作发生时间,确定各历史操作发生时间在坐标系中的横坐标的位置,并在历史操作发生时间对应在折线的位置处或者历史操作发生时间在横坐标位置处标记相应的用户历史操作信息,确定性能模块220可以基于用户历史操作信息对应的文字表述来进行标记,也可以基于用户历史操作信息对应的标识符等来进行标记。
确定性能模块220可以利用现有的绘图插件来绘制上述折线图,如确定性能模块220将读取的数据按照预先设定的方式提供给绘图插件,从而绘图插件可以根据其接收到的数据绘制出上述折线图。
输出性能模块230可以完全设置于移动设备中,也可以完全设置于服务器中。输出性能模块230主要适于输出上述确定性能模块220确定出的被测应用的应用性能的变化情况。
具体的,输出性能模块230可以通过应用性能测试设备的显示屏显示被测应用的应用性能随采集时间、用户历史操作信息以及历史操作发生时间的变化情况(如显示上述折线图),也可以通过打印机输出该变化情况(如打印统计表),当然,本实施例还可以通过其他方式输出该变化情况。
输出性能模块230在采用显示屏输出被测应用的应用性能的变化情况的实际应用场景中,可以采用多种方式显示标记在坐标系中的用户历史操作信息,如在应用性能测试设备的鼠标指向折线中的某一点处(或者触碰位置为折线中的某一点处)时,输出性能模块230使该点附近的用户历史操作信息对应的文字表述或者标识符被显性地显示出来,而使位于其他位置的用户历史操作信息对应的文字表述或者标识符处于隐藏显示状态;再如,在应用性能测试设备的鼠标指向折线中的某一点处(或者触碰位置为折线中的某一点处)时,输出性能模块230使标记在该折线中的所有的用户历史操作信息对应的文字表述或者标识符都被显性地显示出来。
另外,在多条折线(如四条折线)位于同一个坐标系中的情况下,输出性能模块230可以使纵坐标分别显示出四条折线所对应的单位刻度,如输出性能模块230利用四条纵坐标来显示四条折线所对应的单位刻度;当然,输出性能模块230也可以采用其他方式来显示四条折线所对应的单位刻度,例如,在应用性能测试设备的鼠标指向某一条折线中的某一点处(或者触碰位置为某一条折线中的某一点处)时,输出性能模块230使该坐标系的纵坐标的单位刻度值应显示该折线所对应的单位刻度值;而在应用性能测试设备的鼠标未指向任意一条折线中的任意一点处(或者触碰位置不是任意一条折线中的任意一点处)时,输出性能模块230使该坐标系的纵坐标的单位刻度值可以为预先设定的某一条折线所对应的单位刻度值。
A1、一种应用性能测试方法,该方法包括:
获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间;
获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间;
根据所述移动设备性能信息、所述采集时间、所述用户历史操作信息以及所述历史操作发生时间确定所述被测应用的应用性能随所述采集时间、所述用户历史操作信息以及所述历史操作发生时间的变化情况;
输出所述被测应用的应用性能的变化情况。
A2、如A1所述的应用性能测试方法,其中,所述移动设备性能信息包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况中的至少一个。
A3、如A2所述的应用性能测试方法,其中,所述移动设备网络流量包括:Wi-Fi数据流量以及2G/3G/4G数据流量中的至少一个。
A4、如A1或A2或A3所述的应用性能测试方法,其中,所述获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间包括:
接收移动设备上传的移动设备性能日志,并从所述移动设备性能日志中获取所述移动设备性能信息以及所述采集时间;
其中,所述移动设备性能日志的生成方式包括:被测应用在移动设备运行过程,所述移动设备定时采集移动设备性能信息,并将采集到的移动设备性能信息和采集时间存储于所述移动设备性能日志中。
A5、如A1或A2或A3所述的应用性能测试方法,其中,所述获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间包括:
接收移动设备上传的用户历史操作日志,并从所述用户历史操作日志中获取所述用户历史操作信息以及历史操作发生时间;
其中,所述用户历史操作日志的生成方式包括:被测应用在移动设备运行过程,移动设备监测用户操作,并将监测到的用户操作信息以及操作发生时间信息作为用户历史操作信息以及历史操作发生时间存储于所述移动设备性能日志中。
A6、如A1或A2或A3所述的应用性能测试方法,其中,所述输出所述被测应用的应用性能的变化情况包括:
以折线图的形式输出所述被测应用的应用性能的变化情况;
其中,所述折线图的横坐标表示所述采集时间,所述折线图的纵坐标表示所述移动设备性能信息,且所述折线图中的折线在相应的历史操作发生时间处标注有对应的用户历史操作信息。
A7、如A6所述的应用性能测试方法,其中,在所述移动设备性能信息包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况的应用场景中,所述折线图包括:移动设备CPU使用情况折线图、移动设备内存使用情况折线图、移动设备网络流量折线图以及移动设备电池使用情况折线图。
B8、一种应用性能测试装置,该装置包括:
性能监测模块,适于获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间;
操作监测模块,适于获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间;
确定性能模块,适于根据所述移动设备性能信息、所述采集时间、所述用户历史操作信息以及所述历史操作发生时间确定所述被测应用的应用性能随所述采集时间、所述用户历史操作信息以及所述历史操作发生时间的变化情况;
输出性能模块,适于输出所述被测应用的应用性能的变化情况。
B9、如B8所述的应用性能测试装置,其中,所述移动设备性能信息包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况中的至少一个。
B10、如B9所述的应用性能测试装置,其中,所述移动设备网络流量包括:Wi-Fi数据流量以及2G/3G/4G数据流量中的至少一个。
B11、如B8或B9或B10所述的应用性能测试装置,其中,所述性能监测模块具体适于:接收移动设备上传的移动设备性能日志,并从所述移动设备性能日志中获取所述移动设备性能信息以及所述采集时间;
其中,所述移动设备性能日志的生成方式包括:被测应用在移动设备运行过程,所述移动设备定时采集移动设备性能信息,并将采集到的移动设备性能信息和采集时间存储于所述移动设备性能日志中。
B12、如B8或B9或B10所述的应用性能测试装置,其中,所述操作监测模块具体适于:接收移动设备上传的用户历史操作日志,并从所述用户历史操作日志中获取所述用户历史操作信息以及历史操作发生时间;
其中,所述用户历史操作日志的生成方式包括:被测应用在移动设备运行过程,移动设备监测用户操作,并将监测到的用户操作信息以及操作发生时间信息作为用户历史操作信息以及历史操作发生时间存储于所述移动设备性能日志中。
B13、如B8或B9或B10所述的应用性能测试装置,其中,所述输出性能模块具体适于:以折线图的形式输出所述被测应用的应用性能的变化情况;
其中,所述折线图的横坐标表示所述采集时间,所述折线图的纵坐标表示所述移动设备性能信息,且所述折线图中的折线在相应的历史操作发生时间处标注有对应的用户历史操作信息。
B14、如B13所述的应用性能测试装置,其中,在所述移动设备性能信息包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况的应用场景中,所述折线图包括:移动设备CPU使用情况折线图、移动设备内存使用情况折线图、移动设备网络流量折线图以及移动设备电池使用情况折线图。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的具体描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用性能测试装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是,上述实施例是对本发明进行说明,而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或者步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序,可将这些单词解释为名称。

Claims (10)

1.一种应用性能测试方法,该方法包括:
获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间;
获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间;
根据所述移动设备性能信息、所述采集时间、所述用户历史操作信息以及所述历史操作发生时间确定所述被测应用的应用性能随所述采集时间、所述用户历史操作信息以及所述历史操作发生时间的变化情况;
输出所述被测应用的应用性能的变化情况。
2.如权利要求1所述的应用性能测试方法,其中,所述移动设备性能信息包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况中的至少一个。
3.如权利要求2所述的应用性能测试方法,其中,所述移动设备网络流量包括:Wi-Fi数据流量以及2G/3G/4G数据流量中的至少一个。
4.如权利要求1或2或3所述的应用性能测试方法,其中,所述获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间包括:
接收移动设备上传的移动设备性能日志,并从所述移动设备性能日志中获取所述移动设备性能信息以及所述采集时间;
其中,所述移动设备性能日志的生成方式包括:被测应用在移动设备运行过程,所述移动设备定时采集移动设备性能信息,并将采集到的移动设备性能信息和采集时间存储于所述移动设备性能日志中。
5.如权利要求1或2或3所述的应用性能测试方法,其中,所述获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间包括:
接收移动设备上传的用户历史操作日志,并从所述用户历史操作日志中获取所述用户历史操作信息以及历史操作发生时间;
其中,所述用户历史操作日志的生成方式包括:被测应用在移动设备运行过程,移动设备监测用户操作,并将监测到的用户操作信息以及操作发生时间信息作为用户历史操作信息以及历史操作发生时间存储于所述移动设备性能日志中。
6.如权利要求1或2或3所述的应用性能测试方法,其中,所述输出所述被测应用的应用性能的变化情况包括:
以折线图的形式输出所述被测应用的应用性能的变化情况;
其中,所述折线图的横坐标表示所述采集时间,所述折线图的纵坐标表示所述移动设备性能信息,且所述折线图中的折线在相应的历史操作发生时间处标注有对应的用户历史操作信息。
7.如权利要求6所述的应用性能测试方法,其中,在所述移动设备性能信息包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况的应用场景中,所述折线图包括:移动设备CPU使用情况折线图、移动设备内存使用情况折线图、移动设备网络流量折线图以及移动设备电池使用情况折线图。
8.一种应用性能测试装置,该装置包括:
性能监测模块,适于获取被测应用在移动设备运行过程中移动设备性能信息以及所述性能信息的采集时间;
操作监测模块,适于获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间;
确定性能模块,适于根据所述移动设备性能信息、所述采集时间、所述用户历史操作信息以及所述历史操作发生时间确定所述被测应用的应用性能随所述采集时间、所述用户历史操作信息以及所述历史操作发生时间的变化情况;
输出性能模块,适于输出所述被测应用的应用性能的变化情况。
9.如权利要求8所述的应用性能测试装置,其中,所述移动设备性能信息包括:移动设备CPU使用情况、移动设备内存使用情况、移动设备网络流量以及移动设备电池使用情况中的至少一个。
10.如权利要求9所述的应用性能测试装置,其中,所述移动设备网络流量包括:Wi-Fi数据流量以及2G/3G/4G数据流量中的至少一个。
CN201410232622.7A 2014-05-28 2014-05-28 应用性能测试方法和装置 Pending CN105204981A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410232622.7A CN105204981A (zh) 2014-05-28 2014-05-28 应用性能测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410232622.7A CN105204981A (zh) 2014-05-28 2014-05-28 应用性能测试方法和装置

Publications (1)

Publication Number Publication Date
CN105204981A true CN105204981A (zh) 2015-12-30

Family

ID=54952675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410232622.7A Pending CN105204981A (zh) 2014-05-28 2014-05-28 应用性能测试方法和装置

Country Status (1)

Country Link
CN (1) CN105204981A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653456A (zh) * 2015-12-31 2016-06-08 网易(杭州)网络有限公司 应用程序性能测试方法、装置和***
CN106776330A (zh) * 2016-12-26 2017-05-31 北京金山安全软件有限公司 应用测试方法、装置及电子设备
CN107273277A (zh) * 2017-05-11 2017-10-20 珠海金山网络游戏科技有限公司 一种深度抓取手机应用运行性能数据的方法及装置
CN107943666A (zh) * 2017-12-15 2018-04-20 广州四三九九信息科技有限公司 客户端性能趋势监测方法、装置及计算机可读存储介质
CN109298995A (zh) * 2017-07-24 2019-02-01 北京搜狗科技发展有限公司 一种性能测试方法、装置、电子设备以及存储介质
CN112948256A (zh) * 2021-03-24 2021-06-11 北京大米科技有限公司 一种客户端程序的测试方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208659A (zh) * 2005-04-15 2008-06-25 微软公司 用于对软件程序进行性能分析的方法和装置
CN102306118A (zh) * 2011-08-31 2012-01-04 中兴通讯股份有限公司 Android终端应用程序功耗监控的方法和装置
US20130047039A1 (en) * 2011-08-18 2013-02-21 Avanquest Software Usa, Inc. System and method for computer analysis
CN103501372A (zh) * 2013-09-24 2014-01-08 北京大学 智能手机电流与事件信息的同步监测方法
CN103631703A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 安卓设备中的软件性能测试方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208659A (zh) * 2005-04-15 2008-06-25 微软公司 用于对软件程序进行性能分析的方法和装置
US20130047039A1 (en) * 2011-08-18 2013-02-21 Avanquest Software Usa, Inc. System and method for computer analysis
CN102306118A (zh) * 2011-08-31 2012-01-04 中兴通讯股份有限公司 Android终端应用程序功耗监控的方法和装置
CN103631703A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 安卓设备中的软件性能测试方法和装置
CN103501372A (zh) * 2013-09-24 2014-01-08 北京大学 智能手机电流与事件信息的同步监测方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653456A (zh) * 2015-12-31 2016-06-08 网易(杭州)网络有限公司 应用程序性能测试方法、装置和***
CN105653456B (zh) * 2015-12-31 2018-09-11 网易(杭州)网络有限公司 应用程序性能测试方法、装置和***
CN106776330A (zh) * 2016-12-26 2017-05-31 北京金山安全软件有限公司 应用测试方法、装置及电子设备
CN107273277A (zh) * 2017-05-11 2017-10-20 珠海金山网络游戏科技有限公司 一种深度抓取手机应用运行性能数据的方法及装置
CN109298995A (zh) * 2017-07-24 2019-02-01 北京搜狗科技发展有限公司 一种性能测试方法、装置、电子设备以及存储介质
CN107943666A (zh) * 2017-12-15 2018-04-20 广州四三九九信息科技有限公司 客户端性能趋势监测方法、装置及计算机可读存储介质
CN112948256A (zh) * 2021-03-24 2021-06-11 北京大米科技有限公司 一种客户端程序的测试方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN105204981A (zh) 应用性能测试方法和装置
CN109981617A (zh) 一种物联网设备监控方法、***及电子设备和存储介质
CN103117879B (zh) 一种计算机硬件运行参数网络监测***
CN105227626B (zh) 一种内容推送方法、装置及终端
CN102377246B (zh) 基于iec61850故障分析***的图形实例化方法
CN109002424B (zh) 文件格式转换方法、装置、计算机设备及存储介质
CN109710490A (zh) 客户端日志的采集方法、装置、存储介质和电子设备
CN105376335A (zh) 一种采集数据上传方法和装置
CN103699408A (zh) 一种软件升级的方法和设备
CN106776337A (zh) 一种性能分析方法、装置及电子设备
CN110147241A (zh) 程序配置更新方法、电子装置、计算机设备及存储介质
CN103414693B (zh) 打点方法及打点装置
CN112751729A (zh) 日志监控方法、装置、介质及电子设备
CN103544035A (zh) 用于移动终端的应用清理方法及装置
CN105426310A (zh) 一种检测目标进程的性能的方法和装置
US9519537B2 (en) Apparatus, system and method for application log data processing
CN102112940A (zh) 用于对电力输送控制***的性能进行监控的方法和装置
CN105227405A (zh) 监控方法及***
CN104636240A (zh) 一种信息报表的获取方法及终端
CN109271255A (zh) 资源调度方法、***及电子设备和存储介质
CN104679500A (zh) 实体类自动生成实现方法及装置
CN104994219A (zh) 一种数据处理方法和***
CN105553770A (zh) 一种数据采集控制方法和装置
CN105337783A (zh) 监测通信设备非正常消耗流量的方法及装置
CN104182532A (zh) 终端文件的清理方法、装置及终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151230