Android性能测试:
     客户端性能测试
     服务端性能测试
 
客户端性能测试:
     1.ROM版本的性能测试(即手机的不同操作系统):关注功耗测试
     2.应用的性能测试
          a.启动时间
          b.内存
          c.CPU
          d.GPU
          e.功耗
          f.流量
          ......
 
一、启动时间的测试:暂分三类
     1、首次启动:应用首次启动所用的时间
     2、非首次启动
     3、应用界面切换:应用界面内切换所花费的时间
 
抓取日志计算的方法:
     adb logcat > 文件夹路径/文件名(./logcat/logcat.txt)
     find "Displayed"  ./logcat/logcat.txt > ./logcat/displayed.txt
     find "activityName" ./logcat/displayed.txt > ./locat/last.txt
     再根据last.txt文件中的时间计算启动时间
 
二、内存测试:关注内存消耗
目标: 为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性
     分类:
          1、空闲状态: 打开应用后,点击home键让应用在后台运行
          2、中等规格操作: 对应用的操作时间的间隔较长
          3、满规格操作: 对应用的操作时间的间隔较短
     测试子项:
          1.空闲状态下的应用内存消耗情况
          2.中等规格状态下的应用内存消耗情况
3.满规格状态下的应用内存消耗情况
4.应用内存峰值情况
5.应用内存泄露情况
6.应用是否常驻内存
7.压力测试后的内存使用情况
 
1)第三方工具: 网易的Emmagee、安测试、腾讯的GT等
2)抓取日志方法:
     adb shell dumpsys meminfo > ./logcat/meminfo.txt
     find "应用名称" ./logcat/meminfo.txt > ./logcat/mem.txt
3) 使用 android 提供的 procrank
 
procrank 方法(批处理)

首先去google获取procrank、procmem、libpagemap.so 三个文件 .

然后push文件,执行 adb push procrank /system/xbin adb push procmem /system/xbinadb push libpagemap.so /system/lib

赋权 adb shell chmod 6755 /system/xbin/procrank adb shell chmod 6755 /system/xbin/procmemadb shell chmod 6755 /system/lib/libpagemap.so ,

在开启工具记录 adb shell procrank |grep packagename >/address/procrank.txt
 

内存泄露方面的测试,可以通过几个方面来测试:

1.通过monkey压力测试记录内存使用情况,分析数据曲线图及日志情况

2.通过eclipse上的mat+heap来分析存在内存泄露方面的节点
 
三、CPU的测试
     测试子项:
          1.空闲状态下的应用CPU消耗情况
 2.中等规格状态下的应用CPU消耗情况
 3.满规格状态下的应用CPU消耗情况
 4.应用CPU峰值情况
CPU的测试方法分为几类:
1.使用android提供的adb shell dumpsys cpuinfo |grep packagename >/address/cpu.txt来获取
2.使用top命令 adb shell top |grep packagename>/address/cpu.txt 来获取     
 
四、GPU的测试
     测试子项:
    1. 界面过度绘制
    2. 屏幕滑动帧速率
    3. 屏幕滑动平滑度

对于过度绘制的测试主要通过人工进行测试,通过打开开发者选项中的 显示GPU过度绘制 来进行测试(PS:只有android4.2及以上的版本才具备此功能),验收的标准为:

    1. 不允许出现黑色像素
    2. 不允许存在4x过度绘制
    3. 不允许存在面积超过屏幕1/4区域的3x过度绘制(淡红色区域)
五、功耗测试
     测试子项:
          1、测试手机安装目标APK前后待机功耗无明显差异
          2、常见使用场景中能够正常进入待机,待机电流在正常范围内
          3、长时间连续使用应用无异常耗电现象
 
命令获取:

adb shell dumpsys battery

......
 
六、流量测试
     测试子项:
          1、应用首次启动流量提示
          2、应用后天连续运行2小时的流量值
          3、应用高负荷运行的流量峰值
          4、应用中等负荷运行时的流量均值
测试方法:
     1、tcpdump抓包,wireshake获取报信息计算
     2、获取uid:

adb shell dumpsys package

                  //adb shell cat /proc/uid_stat/uid/tcp_rcv
                 // adb shell cat /proc/uid_stat/uid/tcp_snd
                         adb shell cat /proc/net/xt_qtaguid/stats

 
 

Android性能测试摘入(TestHome)的更多相关文章

  1. Android性能测试 | 启动时间篇

    [转载]原文地址:http://www.51testing.com/html/93/n-3724593.html 背景介绍 Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电 ...

  2. 腾讯优测优分享 | Android性能测试工具化实现

    腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...

  3. Android性能测试工具(一)之Emmagee

    Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...

  4. 《Android 性能测试初探》

    移动测试站点推荐: https://testerhome.com/ 专项相关帖子推荐: <Android 性能测试初探>合集 移动无线应用专项测试浅谈 公开课: [腾讯课堂]Testerh ...

  5. Android性能测试

    FPS和流畅度 FPS 1.dumpsys SurfaceFlinger –latency shell 脚本通过 dumpsys SurfaceFlinger --latency 数据计算 FPS 和 ...

  6. Android程序的入口点和全局变量设置--application

    首先看看 application的官方文档 我之前一直以为Android程序的入口点就是带MAIN和LAUNCHER的Activity的onCreate方法,看来我是错了~  原来真正的入口点是 Ap ...

  7. Android程序的入口点

    原文:Android程序的入口点 android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码 ...

  8. 【腾讯开源】Android性能测试工具APT使用指南

    [腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯 ...

  9. 使用traceview进行Android性能测试(转)

    使用traceview进行Android性能测试(转) 使用traceview进行Android性能测试  原文链接:http://www.cnblogs.com/Android-and-androi ...

随机推荐

  1. 不懂Git,别说自己是程序猿–20分钟git快速上手(转)

    在Git如日中天的今天,不懂git都不好意思跟人说自己是程序猿.你是不是早就跃跃欲试了,只是苦于没有借口(契机). 好吧,机会就在今天. 给我20分钟,是的,只要20分钟, 让你快速用上git. 我们 ...

  2. SignalR IOS Android

    http://www.dotblogs.com.tw/toysboy21/archive/2014/03/24/144505.aspx https://www.youtube.com/watch?v= ...

  3. [Jobdu] 题目1337:寻找最长合法括号序列

    题目描述: 给你一个长度为N的,由’(‘和’)’组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的含义便是,在这个序列中,所有的左括号都有唯一的右括号匹配:所有的右括号都有唯一的 ...

  4. C#调用自己定义表类型參数

    -SQL SERVER生成測试环境: --创建測试DB CREATE database Sales; go USE Sales GO --创建表类型 IF TYPE_ID('LocalDT') IS ...

  5. 学习笔记:iOS 视图控制器(UIViewController)剖析

    转自:http://www.cnblogs.com/martin1009/archive/2012/06/01/2531136.html 视图控制器在iOS编程中占据非常重要的位置,因此我们一定要掌握 ...

  6. 亚信UED前端流程自动化构建工具

    亚信UED前端流程自动化构建工具 .wmd-input, .wmd-input:focus, #md-section-helper {font-size: 14px !important;line-h ...

  7. C#中Equals和==的比较

    一.值类型的比较 对于值类型来说  两者比较的都是”内容”是否相同,即 值 是否一样,很显然此时两者是划等号的. ; ; Console.WriteLine("i==j"+(i== ...

  8. [转]C/C++中volatile关键字详解

    http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html

  9. 凑成整数x----二进制枚举

    给n个数,给定x. 用这n个数求和凑成x,问有多少种凑法. #include<bits/stdc++.h> using namespace std; int main() { int n, ...

  10. @Transactional spring事务无效的解决方案

    关于@Transactional注解 一般都认为要注意以下三点 1 .在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口定义和接口方法.类定义 ...