51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2330|回复: 1
打印 上一主题 下一主题

移动端性能测试工具--TraceView工具使用介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-4-15 18:19:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fish_yy 于 2016-4-15 18:20 编辑

选自:《精通移动app测试实战:技术、工具和案例》
 


    在9.1节,我们已经向大家介绍了移动平台的性能测试分类和移动端的性能指标等内容,由于本书主要向大家介绍移动端的相关内容,所以对服务器端的性能测试不做过多的赘述,如果读者朋友们对这部分内容非常感兴趣,可以参看我的另外一本作品,即《精通软件性能测试与LoadRunner最佳实战》,该书详细的向大家介绍了性能测试的相关概念、分类、指标、测试流程以及LoadRunner工具的使用及其详细的案例。
  言归正传,这里我们还是主要讲解移动端的性能测试工具。我相信大家一定和我看法一样,移动互联网行业的迅猛发展,可以准确的用一个词来形容,就是"日新月异",移动应用每天也以数十款、数百款的速度不断涌现出来。这对于我们的测试人员来说是一个挑战,它要求我们与时俱进,必须从传统的基于Web应用的测试转移到移动端,大家准备好了吗?这里作者就向大家介绍一下,我个人认为不错的一些移动端的性能测试工具给大家。
  9.2.1  TraceView工具使用介绍
  TraceView是 Android 平台自带的一个很好的性能分析工具。它可以通过图形化的方式让我们了解要跟踪的应用程序性能。
  TraceView是 Android 平台特有的数据采集和分析工具,它主要用于分析 Android 中应用程序的HotSpot。TraceView本身只是一个数据分析工具,而数据的采集则需要使用 Android SDK 中的 Debug 类或者利用 DDMS 工具。
  其用法如下。
  (1)开发人员可以在需要考察其性能的关键代码段开始前调用 Android SDK 中 Debug 类的startMethodTracing()函数,并在关键代码段结束前调用stopMethodTracing()函数。这两个函数运行过程中将采集运行时间过程该应用所有的Java线程的函数执行情况,并将采集数据保存到SD卡,然后可以利用 SDK 中的TraceView工具来分析这些数据。
  (2)对于没有应用程序源代码的情况,可以借助 Android SDK 中的 DDMS 工具。DDMS 可采集系统中某个正在运行的进程的函数调用的信息。DDMS 中TraceView的使用方法,可以通过选择 Devices 中的应用后,单击   按钮图标(即Start Method Profiling),然后操作自己要进行分析的相关业务内容,并单击  按钮图标(即Stop Method Profiling),可以看到其会自动地打开一个以"ddms"字符开头为其名称的"trace"文件,如图9-1所示。

  可以双击"最大化",如图9-2所示,其展开后,如图9-3所示。


  TraceView界面比较复杂,划分为上、下两个面板,即时间线面板和分析面板。上半部分为时间线面板,又可细分为左、右两个子面板。
  (1)左边的子面板显示的是测试数据中所采集的线程信息。
  (2)右边的子面板为时间线,时间线上是每个线程测试时间段内所涉及的函数调用信息。这些信息包括函数名、函数执行时间等。同时可以在时间线子面板中移动时间线纵轴。纵轴上边将显示当前时间点中某线程正在执行的函数信息。
  下半部分的分析面板是TraceView的核心部分,其内涵非常丰富。它主要展示了某个线程中各个函数调用的情况,包括CPU使用时间、调用次数等信息。而这些信息正是查找HotSpot的关键依据。也许大家对分析面板的各列信息项不是十分清楚,这里我将向大家介绍一下其含义,如表9-1所列。

  【重点提示】
  (1)如果在源代码中需考察代码段应用Debug.startMethodTracing("mytest")和Debug.stopMethodTracing()函数、运行相应的应用程序和对应的功能后,将在"SD"卡下产生一个对应的"mytest.trace"文件,然后,就可以应用"traceviewmytest.trace"命令打开该"trace"文件了,其显示内容与图9-3类似。
  (2)Traceview其实是一个批处理文件,该文件存放在AndroidSdk的"Tools"文件夹下,其对应的名称为"traceview.bat"。
  (3)通常,我们在应用traceview进行分析时,首先按照"InclCpuTime"进行排序,看哪个函数占用的CPU时间最长,然后再查看对应的调用关系图,分析调用次数最多和耗时时间最长的是否程序内部存在因逻辑、算法等而产生的问题。一般而言,HotSpot包括两种类型的函数是需要我们重点关注的。
  ① 一类是调用次数不多,但每次调用却需要花费很长时间的函数。
  ② 另一类是那些自身占用时间不长,却非常频繁调用非常耗时的函数。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

  • TA的每日心情
    开心
    2016-7-18 16:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2016-6-25 16:08:42 | 只看该作者
    哪里有下载工具?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-5 21:47 , Processed in 0.064197 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表