Emmagee

简介

Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,并最终生成一份性能统计文件。

特点:简单、易上手、开源、只支持Android

实现原理

1、监控应用CPU原理

Android系统是基于Linux内核的,所以系统文件的结构和Linux下一样,系统总体CPU使用信息放在/proc/stat文件下,/proc/cpuinfo文件存放CPU的其它信息,包括CPU名称,直接读取即可。Emmagee是将选中应用的PID传入,读取/proc/PID/stat文件信息及可获取该PID对应程序的CPU信息。

2、监控应用消耗流量

系统中有存放整体流量和针对当程序的流量统计,/proc/net/dev和/proc/uid_stat/UID下存放tcp_rcv和tcp_send文件,分别存放下行流量和上行流量,操作前后相减就得出结果 。

3、监控内存实现原理

获取到当被测应用的PID,然后按照PID调用android的API获取当前被测应用占用的内存。/proc/meminfo文件记录了系统内存信息。

使用方法

Emmagee-2.4.apk为例

1、  下载Emmagee.apk安装包

下载地址:https://github.com/NetEase/Emmagee/releases

2、  安装Emmagee.apk

3、  打开Emmagee

4、  点击左上角的设置按钮,可进行采集频率,邮件发送等相关设置

5、  返回步骤3中,点选要测试的应用,然后点击“开始测试”

6、  对app进行相关操作,完成后返回到Emmagee界面,点击 停止测试

停止测试后,Emmagee会自动生成.csv测试结果文件,测试结果文件默认保存在SD卡下,文件名称如:Emmagee_TestResult_20160615103812。

7、  把文件导出来,分析数据和统计

8、  难点在哪里?

工具使用似乎不难,那难点在哪里?

个人觉得难在场景设计。笔者实践也不多,这里就简单说说设计思路吧。

前提条件:保证测试环境的干净

第一种类型:测试app中某个相对独立的功能

这种一般就是保证其它条件不变,重复操作这个单一功能,然后分析数据。

例子1:app首次启动的相关性能状态

场景描述:点击app,启动app直到出现app主页面。

测试操作:

1.打开Emmagee

2.选择app,点击“开始测试”,出现主页面后,点击“停止测试”

3.用手机清理软件,清理“被测app”。

4.重复步骤2

数据分析:

一般情况下,2.2版本的Emmagee会自动为我们生成CPU,内存,流量,电量,电流数据,但是启动耗时就不一定了,实践中发现启动耗时经常是获取不到的,但是做性能测试,很关心的一点就是响应时间,不能获取咋办?笔者是这么做的,设置采集频率的时间为最小值,比如1s,这样Emmagee就可以根据测试报告中,“时间”一栏大致统计出这个功能的耗时情况。

这些数据都有了,那么就可以根据多次的测试数据,求出各类数据的“均值”,“峰值”

例子2:app二次启动的相关性能状态

场景描述:点击app,启动app直到出现app主页面,退出app

测试操作:

1.打开Emmagee

2.选择app,点击“开始测试”,出现主页面后,退出app,点击“停止测试”

3.重复步骤2

注:和例子一不一样的地方在于,是否在前一次操作的基础上进行操作,即“测试起点”不一样。幸运的是,Emmagee是有这种“记忆”功能的。

数据分析:

参考例子1

第二种:测试某个流程,目的在于找出性能“瓶颈”

针对某个业务流,做一个完整的业务过程的操作

这里重点要说的数据分析具体咋做。个人的想法是这样的:根据测试生成的.csv文件,绘制相关数据的曲线图,查看曲线变化--平稳?起伏不定?还是“峰回路转”?如果不是很平稳,则说明性能上可能存在瓶颈,需要进一步分析是那个操作步骤中出现的。

关于咋看步骤,测试结果中,有一栏 “ 栈顶 Activity 名称 ” 可以看到大致的操作(如果看不懂咋办?测试前先操作看看,对比着看吧)

移动app性能测试工具:Emmagee使用介绍相关推荐

  1. APP性能测试工具Emmagee的使用总结

    1,Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的 ...

  2. 移动App性能测试包含哪些内容?App性能测试工具有哪些?

    随着互联网高科技的蓬勃发展,移动app的的需求量和供给量都较大.但一款好app的成功上线以及为用户带来高效体验,性能测试起着关键性的作用.性能测试是通过自动化的测试工具模拟多种正常.峰值以及异常负载条 ...

  3. app服务器端性能测试,APP性能测试工具使用说明

    APP性能测试工具使用说明 内容精选 换一换 简要介绍wrk是一个开源的简单http性能测试工具,也可以叫做http benchmark工具.语言:C一句话描述:http性能测试工具开源协议:Apac ...

  4. 开源性能测试工具 - Apache ab 介绍

    开源性能测试工具 - Apache ab 介绍 简介 ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可 ...

  5. 【APP 测试】APP 性能测试工具:MobileRunner 安装

    一.前言 APP 性能测试,尤其是对手机性能的监控,以及自动化测试,都是一个麻烦点,尤其原生代码还区分原生与非原生,市面上大部分好用的工具均需收费,开源工具又对 Android 7.0 以上的版本和 ...

  6. 手机APP软件性能测试工具及流程介绍

    性能测试(上) 性能测试的分类和流程 什么是性能测试? 性能测试概念: 性能测试主要通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试 性能测试工具: Jmeter ...

  7. app性能测试工具总结(7)

    前面讲述过app性能测试需要测试哪些和通过python脚本来执行adb命令,获取数据,当然这只是一种方式下面来看下依赖工具怎么测试, 先说有哪些工具,具体怎么用法,希望各位去找其他的资料,这个不难,工 ...

  8. Android app 性能测试工具

     手机上的app分为基于HTML5的app(类似于pc上的b/S应用)和本地app(类似于C/S结构). 所以测试上我们也可以充分吸收web的b/s和c/s测试经验.但是不同于pc上的应用测试,手 ...

  9. solopi是什么测试软件,App性能测试工具Soloπ(一)

    一.Soloπ简介: SoloPi是一个无线化.非侵入式的Android自动化工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝贵时间. 二.Soloπ功能介绍: 2.1 ...

  10. Android App 性能测试工具GT

    GT(随身调)腾讯出品的开源调试工具,是APP的随身调测平台,它是直接运行在手机上的"集成调测环境"(IDTE, IntegratedDebug Environment).利用GT ...

最新文章

  1. taglist go语言支持
  2. JavaScript 特有奇葩问题“字符串类型与数字类型混乱”的分析与解决,与类型转换
  3. mysql导入csvnull,MySQL Workbench从CSV导入NULL
  4. HTML文本框写在同一行,标签和文本框在同一行使用css
  5. iOS:重识Transform和frame
  6. 视觉SLAM十四讲_1_简介
  7. Delphi Sysem.JSON 链式写法(转全能中间件)
  8. 0x3a能否作为c语言常量,C语言编程遇到了宏定义的问题,求解答,万分感谢
  9. css 多行文本的溢出显示省略号(移动端)
  10. python 编程自学手册 pdf-跪求《python学习手册》(第五版)pdf中文版!/
  11. revit插件有哪些常用的?介绍几个常用的revit插件操作简单
  12. ie11安装程序无法继续 因为你的计算机,win7安装不了ie11怎么回事 win7安装不了ie11的解决方案...
  13. jsp linux 一键安装包,JspStudy免费版|JspStudy(jsp环境一键安装包) v2016.01.01免费版_星星软件园...
  14. JMeter接口测试工具基础 — Badboy工具
  15. Android POS开发
  16. 如何调整plt.plot()线的粗细,linewidth
  17. python数据分析项目--飞猪出行用户行为分析
  18. win10修改系统字体(替换OneNote中Calibri字体)
  19. 买天猫店网店转让商标过户事项
  20. 一种基于视频帧差异视频卡顿检测方案

热门文章

  1. 解决模拟器Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration!问题
  2. eset杀毒软件隔离区在哪里
  3. 诺基亚x6 android one,诺基亚X6手机推送固件更新:提升安卓8.1系统流畅性,新增后台锁定...
  4. HttpClient4
  5. MJKDZ PS2手柄控制OskarBot小车(二):硬件连接与通信时序
  6. 在 WindowMobile 上的模拟LED 显示屏插件(转)
  7. 大数据可视化工具在中国的发展历程
  8. <EDEM 基础案例05>Screw Auger
  9. 用KMS激活了office2016之后为什么进入的时候还是提示需激活解决方案:
  10. 蓝牙耳机连接macbook无声音