腾讯优测优分享 | 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系 ...
随机推荐
- 线性控制原理——PID算法应用
使用控制系统(PID)控制被控对象 PID控制的三要素:控制器,被控对象,反馈器.控制器就是一个数学模型,就PID来说,等同于PID算法.是对反馈量的一个处理与输出.通俗的说就是对于每个被控的量,我的 ...
- gitt
一,git config core.autocrlf false 二,vi .git/config[remote "origin"] url = https://github.co ...
- 将word文件快速转换成表格的技巧
最近烦心事还真是很多,世界买家网最近就遇到了很多烦心事. 从www.buyerinfo.biz网站中的数据导出为csv格式的文件,我导出了buyer的数据,那怎么把它制作成表格呢? 找了下,发现还是比 ...
- Linux网络编程的一般步骤(1)
一.套接字的地址结构. IPV4套接字地址结构通常也称为"网际套接字地址结构",它以sockaddr_in 命名;POSIX定义如下: #include <stdio.h&g ...
- java学习笔记(菜鸟原创)
搭建Java开发环境使用开发工具开发Myeclipse基础核心:JAVASEEEME面向对象 API JVM.JAVAEE是指java enterprise edition,java企业版,多用于企业 ...
- Android Fragment (二) 实例1
千呼万唤始出来,今天就也写一篇Frament 的简单实例.先看效果: 一看这效果,首先我们的配置资源文件:new -->android xml -->selector --> 四个图 ...
- ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
salve复制线程停止,尝试start slave 时报ERROR 1872错误mysql> system perror 1872 MySQL error code 1872 (ER_SLAVE ...
- eclipse中添加python开发环境
由于自己一直使用的是eclipse这个IDE,在写spark,java等都是用它,主要是用它比较顺手,也并不是觉得它有什么特别好的之处.下面主要介绍一下,在window系统下,eclipse中搭建py ...
- block的常见用法
一.声明和定义 1.声明 声明方式:返回值(^block)(参数).声明时,参数变量名可以省略:使用时,参数变量名不能省略,不然会无法调用传入的参数 void(^block)(); void(^blo ...
- 可拖拽的ListView
今天研究了一下可拖拽的ListView ,当ListView的数据不能充满整个模拟器的时候,系统自带的listview上拖下拽都不好使,显得很单调, 为了实现上拖下拽时也能实现滚动的效果,这时候就需要 ...