腾讯优测优分享 | Android性能测试工具化实现
腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单!
1、Android性能测试介绍
提到Android性能测试,我们总免不了俗地要首先介绍下Android性能参数以及获取方法。目前Android性能测试过程中关注比较性能指标有CPU、内存占用和电量消耗,其中CPU占用可以通过“top”命令来查看,内存占用是通过“dumpsys meminfo”来查看。
“top”命令得出的性能参数有CPU占用百分比、VSS(虚拟耗用内存,包含共享库占用的内存) 和RSS(实际使用物理内存,包含共享库占用的内存);
“dumpsys meminfo”命令完整格式是:adb shell dumpsys meminfo packagenameorpid 。dumpsys得出程序内存分为native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,并且系统自动回收这部分内存,我们更多的是关注Native堆的占用情况。
2、Android性能测试工具
工具的目标是:提高性能测试工作效率
手工操作缺点:
目前我们性能测试的主要方法是反复地对某个页面进行同样的操作或使用,同时操作过程中通过脚本进行监控,最后导出脚本执行结果并且对结果进行分析,从而得出某个Android APP的资源占用情况。
但是在实际测试过程中,我们大部分操作仍需要通过人工执行脚本并且要导出脚本生成图表,这样的手工执行效率就有点低,因此我们可以将部分手工操作实现程序化,从而提高性能测试效率。
3、Android性能测试工具介绍
1.工具功能:
(1)执行并监控命令输出:
测试人员无需手动去执行任何adb命令,只需要填写被测程序包名和数据刷新间隔就可以了,也就是这个工具替代了之前手工执行的两个shell脚本:meminfo.sh和top.info,同时用户可以只选择CPU或者内存之一的占用情况进行监控,也可以选择CPU和内存二者同时监控,在命令执行间隔上以秒为单位进行输出,如果选择了0那么基本上可以达到0.1秒的效果。
(2)自动输出数据和产生报表:
自动输出结果有三种方式:第一种是实时地刷新并显示,另一种是停止监控之后在工具下方用图表的形式显示出来,最后一种是自动产生excel报表进行显示,excel报表形式最为使用,用户可以通过对比竞争对手数据从而输出测试结果。
2.工具执行结果:
我们可以从下图得出功能运行时内存和 CPU占用情况:
(1)CPU占用情况:
测试结果说明:
图中命令执行间隔以0秒为单位,实时监测的对象是内存和cpu二者的占用情况,上图中显示的是cpu的占用变化曲线。如果点击图中“获取内存变化曲线”按钮,就可以获得此时的内存占用变化曲线图。
(2)Excel报表(以内存占用为例):
测试结果说明:
内存的excel报告包括了native , dalivi和总的内存占用priv dirty,从图表报告来看手机管家在两次病毒查杀过程内存消耗大致一样。
4、后记
这个工具属于摸索性质,在excel操作上主要参考和使用别的程序库。由于是多个线程对同一个标准输出操作和线程操作COM,在使用时要按正常步骤操作,并且在生成报表时不要去拖动excel的滚动条就出现问题。还有个问题是如果测试时间比较长,输出数据比较多的话建议直接看excel报表输出,因为数据太多会导致输出线条重叠在一起。
加入腾讯优测官方群 214483489 与大咖们分享技术与时讯!
腾讯优测是专业的移动云测试平台,为应用、游戏、H5混合应用的研发团队提供产品质量检测与问题解决服务。不仅在线上平台提供自动化兼容性测试、云手机远程租用与调试、漏洞分析、自动化测试工具Xtest等多种质量检测工具,更为VIP客户配备了专家团队提供定制化综合测试解决方案。
腾讯优测优分享 | Android性能测试工具化实现的更多相关文章
- 腾讯优测-优社区干货精选 | 那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声
文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...
- 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(下)
文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 6.Android APP开发中其它需要提醒的问题 android4.4在UI线程无法进行网络操作. ...
- 优测优社区干货精选|老司机乱谈编辑器之神——vim
文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim ...
- 【腾讯开源】Android性能测试工具APT使用指南
[腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯 ...
- Android性能测试工具APT使用指南
腾讯的安卓平台高效的性能测试工具APT(Android Performance Testing Tools),适用于开发自测和定位性能瓶颈,帮助测试人员完成性能基准测试.竞品测试. APT提供了CPU ...
- Android性能测试工具(一)之Emmagee
Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...
- Emmagee——开源Android性能测试工具
工具:Emmagee作者:孔庆云 网易(杭州)质量保证部 开源地址:https://github.com/NetEase/Emmagee Wiki:https://github.com/NetEase ...
- Emmagee—开源Android性能测试工具
下载:https://github.com/NetEase/Emmagee/releases/download/V2.5/Emmagee.apk 1.Emmagee——Android性能测试工具 Em ...
- android性能测试工具
Android性能测试工具Emmagee介绍 Emmagee介绍 Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具.该工具的优势在于如同windows系 ...
随机推荐
- “iTunes无法连接iPad,因为设备超时”解决办法
注意一般要两个授权才会连接成功,一是在电脑上的iTunes登陆apple账户,账户授权电脑:二是ipad上信任Trust电脑连接ipad,如果没有重启iPad试试. 法1. 更新iTunes,重启电脑 ...
- 关于silverlight5 打印功能收集
http://www.cnblogs.com/slmk/archive/2012/07/18/2570303.html Silverlight打印解决方案2.1正式发布(支持打印预览.页面设置(横向纵 ...
- Android中Activity的生命周期
简介: 这个基本是必问的问题了,说一下你对Activity生命周期的理解,呵呵… onCreate, onStart, onResume, onPause, onStop, onDestroy, on ...
- Java系列笔记(2) - Java RTTI和反射机制
目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...
- IOS 学习 开发 自定义 UINavigationController 导航
文件目录如下:基本导航顺序: root -> First -> Second -> Third.其中,FirstViewController作为 navigation堆栈的rootv ...
- protocol的简单写法
// // TouchView.h // LessonUIControlAndSubClass #import <UIKit/UIKit.h> @class TouchView; //1. ...
- Mvc4学习笔记一(Ajax.ActionLink)
<style type="text/css"> #left {width:200px; min-height:500px;border:1px solid #ccc;f ...
- OC基础--构造方法 id类型
new方法实现原理: new做了三件事情 1.开辟存储空间 + alloc 方法 2.初始化所有的属性(成员变量) - init 方法 3.返回对象的地址 [Person new]; == [[Pe ...
- js图片拖放原理(很简单,不是框架,入门基础)
<html> <meta> <script src='jquery-1.8.3.min.js'></script> <script> /* ...
- 不安装HALCON下安装运行版U盘加密狗驱动
参考halcon安装指导书 Installation Guide Depending on your operating system, you can install, configure, and ...