应用性能测试方法和装置的制造方法_2

文档序号:9452982阅读:来源:国知局
试设备可以为运行被测应用的移 动设备,也可以为独立于运行被测应用的移动设备的其他设备,例如,上述其他设备可以为 与运行被测应用的移动设备无线连接或者有线连接的服务器等设备。
[0032] 需要特别说明的是,获取用户历史操作信息以及历史操作发生时间的主体通常与 上述获取移动设备性能信息以及移动设备性能信息的采集时间的主体为同一个主体;另 外,虽然S100和S110是带有顺序编号的两个步骤,然而,S100和S110之间在实际应用中 并没有必然的执行顺序限制,这两个步骤通常应同时执行,当然也可以先后执行,但是,在 测试的整个时间段内最好应有部分移动设备性能信息与部分用户历史操作信息是同时获 得的。
[0033] 在应用性能测试设备为运行被测应用的移动设备的情况下,该移动设备(如该移 动设备中安装的应用性能测试程序等)可以在被测应用的运行过程中,实时监测用户的操 作(这里的用户的操作通常是指针对应用性能测试而设计的测试逻辑所模拟的用户的操 作),并在监测到用户执行了相应的操作时,获取移动设备的当前时间,并将监测到的用户 执行的操作所对应的操作信息以及上述当前时间作为用户历史操作信息以及历史操作发 生时间本地存储于用户历史操作日志中;从而移动设备在需要进行应用性能分析时,可以 方便地从其本地存储的用户历史操作日志中获取被测应用在移动设备运行过程中用户历 史操作信息以及历史操作发生时间。
[0034]在应用性能测试设备为与运行被测应用的移动设备连接的其他设备如服务器的 情况下,移动设备(如该移动设备中安装的应用性能测试程序等)可以在被测应用的运行 过程中,实时监测用户的操作(这里的用户的操作通常是指针对应用性能测试而设计的测 试逻辑所模拟的用户的操作),并在监测到用户执行了相应的操作时,获取移动设备的当前 时间(即给用户历史操作信息打时间戳),并将用户执行的操作对应的操作信息以及上述 当前时间作为用户历史操作信息以及历史操作发生时间本地存储于用户历史操作日志中, 之后,移动设备可以将用户历史操作日志上传给服务器;例如,移动设备在被测应用运行结 束后主动地将本地存储的用户历史操作日志上传给服务器;再例如,移动设备在接收到服 务器传输来的移动设备性能测试信息上传请求后,将其本地存储的用户历史操作日志上传 给服务器;这样,服务器在需要进行应用性能分析时,可以方便地从其接收到的用户历史操 作日志中获取被测应用在移动设备运行过程中用户历史操作信息以及历史操作发生时间。 同样的,本实施例可以利用移动设备的操作系统所提供的API来获取移动设备的当前时 间,如利用操作系统中的System.currentTimeMillisO来获取移动设备的当前时间。
[0035] 上述S100中的移动设备性能信息日志和S110中的用户历史操作日志通常应同时 上传至服务器,例如,移动设备在被测应用运行结束后主动地将本地存储的移动设备性能 信息日志和用户历史操作日志同时上传至服务器;再例如,移动设备在接收到服务器传输 来的移动设备性能测试信息上传请求后,将本地存储的移动设备性能信息日志和用户历史 操作日志同时上传至服务器。本实施例可以通过在应用性能测试程序中设置UploadO函 数将上述两日志上传至服务器。另外,移动设备可以清空已经成功上传的移动设备性能信 息日志和用户历史操作日志中的记录。
[0036] 上述用户历史操作日志通常包含有用户执行的多种操作(包括测试逻辑所模拟 的用户的操作)所对应的用户历史操作信息,且用户执行的多种操作可以具体包括:点击、 滑动以及输入事件等等。本实施例不限制用户执行的操作的具体内容。
[0037] 移动设备可以利用其内部安装的应用性能测试程序中的操作监测模块来获取被 测应用在移动设备运行过程中的用户历史操作信息以及操作发生时间,并将获取到的用户 历史操作信息以及相应的操作发生时间本地存储在用户历史操作日志中。应用性能测试程 序通常可以获取并辨识被测应用中的UI(UserInterface,用户界面)控件,并按照相应的 测试逻辑来调用被测应用中的相应UI控件,以对被测应用进行测试。应用性能测试程序在 调用被测应用的相应UI控件时,应用性能测试程序中的操作监测模块可以将相应的UI控 件信息以及当前调用的时间作为用户历史操作信息以及操作发生时间记录到用户历史操 作日志中。
[0038] 本实施例中的应用性能测试程序可以是在Robotium的基础上开发的应用程序。 Robotium是一个基于Android平台的UI自动化测试框架,利用Robotium提供的API(如 Solo,java)可以通过多种方式来对被测应用的UI控件进行辨识以及对被测应用的UI的操 作,如点击操作、长按操作或者滑动操作等。
[0039] 移动设备采集被测应用在移动设备运行过程中的用户操作信息,并本地存储用户 操作信息以及操作发生时间的一个具体的例子为:应用性能测试程序在运行后通过向操 作系统查询可以获知被测应用的所有UI控件(如应用性能测试程序通过利用操作系统的 Robotium所提供的API可以查询获知被测应用的所有UI控件),然后,应用性能测试程序 会按照其预先设置的测试逻辑调用相应的UI控件,使被测应用针对当前调用的相应的UI 控件执行相应的操作(如应用性能测试程序通过利用操作系统的Robotium所提供的API 可以使被测应用执行UI控件所对应的操作),从而本实施例通过模仿用户对被测应用的实 际操作而对被测应用进行性能测试;应用性能测试程序在调用相应的UI控件并使被测应 用执行相应的操作时,应用性能测试程序中的操作监测模块可以记录该UI控件对应的操 作信息,并同时获取移动设备的当前时间(即为该UI控件增加相应的时间戳),然后,操作 监测模块将UI控件对应的操作信息以及当前时间作为一条记录存储在用户历史操作日志 中。上述用户历史操作日志可以为txt格式的文件,也可以为其他格式的文件。
[0040]S120、根据上述移动设备性能信息、采集时间、用户历史操作信息以及历史操作发 生时间确定被测应用的应用性能随采集时间、用户历史操作信息以及历史操作发生时间的 变化情况。
[0041] 具体的,本实施例的被测应用的应用性能随采集时间、用户历史操作信息以及历 史操作发生时间的变化情况可以以折线图的形式体现;当然,该变化情况也可以采用其他 形式来体现,如柱状图、统计表或者文本文件等。
[0042] 由于本实施例中的采集时间和历史操作发生时间完全可以拟合在同一时间轴上, 因此,本实施例中的移动设备性能信息和用户历史操作信息是可以基于时间轴中的时间而 关联起来的。
[0043] 本实施例可以先利用移动设备性能信息和采集时间来形成折线图或者柱状图或 者统计表等,然后,再利用历史操作发生时间,将相应的用户历史操作信息标记在折线图或 者柱状图或者统计表中的相应位置处。
[0044] 本实施例在获取的移动设备性能信息包含有多种性能指标的情况下,可以分别确 定出每一个性能指标随采集时间、用户历史操作信息以及历史操作发生时间的变化情况; 一个具体的例子,在获取的移动设备性能信息包括移动设备CPU使用情况、移动设备内存 使用情况、移动设备网络流量以及移动设备电池使用情况的实际应用场景中,本实施例可 以从移动设备性能信息日志中读取出所有的被测应用消耗CPU的百分比、被测应用消耗内 存的百分比、被测应用消耗的网络流量、移动设备电池电量以及各信息对应的采集时间,并 利用读取出的所有的被测应用消耗CPU的百分比、被测应用消耗内存的百分比、被测应用 消耗的网络流量、移动设备电池电量以及各信息对应的采集时间生成四条折线,这四条折 线通常应位于四个不同的坐标系中,当然也可以位于同一个坐标系中;不论四条折线是位 于同一个坐标系中,还是位于四个不同的坐标系中,坐标系的横坐标均表示采集时间,且坐 标系的纵坐标均表示性能指标的具体量化数值;然后,从用户历史操作日志中读取所有的 用户历史操作信息以及历史操作发生时间,确定各历史操作发生时间在坐标系中的横坐标 的位置,并在历史操作发生时间对应在折线的位置处或者历史操作发生时间在横坐标位置 处标记相应的用户历史操作信息,本实施例可以基于用户历史操作信息对应的文字表述来 进行标记,也可以基于用户历史操作信息对应的标识符等来进行标记。
[0045] 本实施例可以利用现有的绘图插件来绘制上述折线图,如将读取的数据按照预先 设定的方式提供给绘图插件,从而绘图插件可以根据其接收到的数据绘制出上述折线图。
[0046]S130、输出被测应用的应用性能的变化情况。
[0047] 具体的,本实施例的应用性能测试设备可以通过其显示屏显示被测应用的应用性 能随采集时间、用户历史操作信息以及历史操作发生时间的变化情况(如显示上述折线 图),也可以通过打印机输出该变化情况(如打印统计表),当然,本实施例还可以通过其他 方式输出该变化情况。
[0048] 本实施例在采用显示屏输出被测应用的应用性能的变化情况的实际应用场景中, 可以采用多种方式显示标记在坐标系中的用户历史操作信息,如在应用性能测试设备的鼠 标指向折线中的某一点处(或者触碰位置为折线中的某一点处)时,该点附近的用户历史 操作信息对应的文字表述或者标识符被显性地显示出来,而位于其他位置的用户历史操作 信息对应的文字表述或者标识符处于隐藏显示状态;再如,在应用性能测试设备的鼠标指 向折线中的某一点处(或者触碰位置为折线中的某一点处)时,标记在该折线中的所有的 用户历史操作信息对应的文字表述或者标识符都被显性地显示出来。
[0049] 另外,在多条折线(如四条折线)位于同一个坐标系中的情况下,纵坐标可以分 别显示出四条折线所对应的单位刻度,如利用四条纵坐标来显示四条折线所对应的单位刻 度;当然,本实施例也可以采用其他方式来显示四条折线所对应的单位刻度,例如,在应用 性能测试设备的鼠标指向某一条折线中的某一点处(或者触碰位置为某一条折线中的某 一点处)时,该坐标系的纵坐标的单位刻度值应显示该折线所对应的单位刻度值;而在应 用性能测试设备的鼠标未指向任意一条折线中的任意一点处(或者触碰位置不是任意一 条折线中的任意一点处)时,该坐标系的纵坐标的单位刻度值可以为预先设定的某一条折 线所对应的单位刻度值。
[0050] 下面结合附图2-7对本实施例的一个实际应用进行说明。本实施例在被测应用运 行过程中所采集到的移动设备CPU占用百分比、移动设备内存已占用空间、移动设备电池 电量和移动设备网络流量以及所监测到的用户历史操作信息如下述表1所示。
[0051] 表 1
[0052]
[0053] 针对上述表1需要特别说明的是,在监控用户操作过程中,一个用户操作可能会 影响一段持续的时间,因此,一个用户历史操作信息对应的操作发生时间可能会对应多个 采集时间,例如,在第1秒监控到的"输入用户名"的操作所产生的影响是一个持续过程,所 以,可以认为在下一个历史操作发生之前所采集到的多个移动设备性能信息均与"输入用 户名"这一用户历史操作信息相对应。
[0054] 本实施例在利用四个坐标系来展示上述表1中的具体内容的情况下,所生成的四 个折线图如图2-5所示。具体的,本实施例利用采集时间、历史操作发生时间以及上述表 1中的移动设备CPU占用百分比和用户历史操作信息所生成的折线图如图2所示,图2中 的横坐标表示时间,单位为秒(s),纵
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1