腾讯优测优分享 | 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系 ...
随机推荐
- [移动端]rem适配
原理:给html根节点设置一个基础font-size值,然后页面的所有元素布局均相对于该font-size值采用rem单位设定.font-size的取值通过js计算. 但字体不用rem单位,原因如下: ...
- 转: Hibernate commit() 和flush() 的区别
[java] view plaincopyprint? <<精通Hibernate java对象持久化技术详解>> ,flush()方法进行清理缓存的操作,执行一系列的SQL语 ...
- Redis设计与实现(一~五整合版)【搬运】
Redis设计与实现(一~五整合版) by @飘过的小牛 一 前言 项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串.但是一直听说redis是一个很 ...
- C#简易一元二次求解器
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- python学习——如何判断输入是数字
笨办法学python第35节 该节主要是讲分支与函数,主要遇到的问题是python中如何判断输入是数字. 首先原代码如下: from sys import exit def gold_room(): ...
- API查看Web App发布版本+编译时间+环境变量
项目环境: JDK7+Maven3.04 项目架构:SpringMVC 方法一:API访问Maven生成的MANIFEST.MF 1. 在pom.xml中添加jar包支持 <dependency ...
- mysql使用
1.以查询结果建表 create table newTableName select column1 [newName1] [, column2 [newName2], .. , columnn [n ...
- Linux学习 :中断处理机制 & poll机制
中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务 的程序中去,服务完毕后再返回去继续运行被暂时中断的程序 ...
- SYS与SYSTEM、DBA与SYSDBA的区别
SYS与SYSTEM: 1. sys 的角色是sysdba system 的角色是sysoper 2. sys 具有create database的权限 system没有该权限 3. sys可以建数据 ...
- Two Sum (c#)
Given an array of integers, find two numbers such that they add up to a specific target number. The ...