Android App性能测试之一:简介
1、性能测试
启动时间,主要测试App在启动过程中的耗时情况
CPU, 主要测试App在使用过程中的CPU占比率
流量,主要测试App在使用过程中对流量的消耗情况
电量,主要测试App在使用过程中对电量的消耗情况
内存,主要测试 App在使用过程中对内存的消耗,验证使用过程中无内存泄露的情况
FPS(每秒的帧数),衡量流畅度,通过观察,可以发现流畅度异常的情况。
过度渲染,影响流畅度的一个方面就是过度渲染,通过过度渲染的测试,可以发现一些异常的情况 。
2、性能测试环境准备
Android SDK
Python 2.7
PyCharm
3、
启动时间
(1)冷启动 :程序首次启动,即进程首次创建并加载资源的过程
启动App
adb shell am start -W -n package/activity
App启动后,可以得到这行指令完成时输出的一个时间,这个时间可以用来作为启动时间耗时的参考值
adb logcat | findstr START # 得到package/activity的名字 adb logcat | grep START(linux,mac使用这个指令)
停止App命令
adb shell am force-stop package
(2)热启动:应用程序启动后,点back键或home键,应用程序退到后台,并未完全被杀死的状态,然后再次启动,占用过程
启动指令与冷启动启动指令一样
停止App命令
adb shell input keyevent 3 # 3代表点击手机上的back键
热启动过程:
启动APP :adb shell am start -W -n package/activity
按home键退出:adb shell input keyevent 3
再次启动:adb shell am start -W -n package/activity
把上述过程脚本化之后,就可以实现自动化的获取启动时间这个过程。
4、


(1)获取命令执行时间
代码见AppStartTime ,下面对launchTime.csv进行数据分析。
除去第一个数据,对其他的求均值,然后画图标看波动情况。
(2)时间戳差值
代码自己去写。。
Android App性能测试之一:简介的更多相关文章
- Android app性能测试小结(7个性能指标)
1.性能测试的几个指标: 2.性能测试环境准备: 3.启动时间 3.1,监控值的获取方法 启动分为冷启动和热启动,冷启动:应用程序首次启动,进程首次创建并加载资源的过程:热启动:应用程序启 ...
- Android APP性能测试笔记(一)
Android APP性能测试笔记(一) (1)工具使用 Android Studio GT, root的真机 (2)记录apk大小(对比竞品) 使用Android Studio导入需要测试 ...
- Android APP性能测试笔记(二)
(5)FPS 每秒传输帧数(Frames Per Second),每秒钟帧数愈多,所显示的动作就会愈流畅,标准的fps是60 帧数就是在1秒钟时间里传输的图片的量,也可以理解为图形处理器每秒钟能够 ...
- App性能测试揭秘(Android篇)
阿里云 云原生应用研发平台EMAS 李嘉华(千瞬) 简介: 性能测试在移动测试领域一直是一个大难题,它最直观的表现是用户在前台使用 App 时的主观体验,然而决定体验优劣的背后,涉及到了许许多多的技术 ...
- Jmeter之app性能测试(ios,android)
测试小菜鸟alter今天一大早又学习了一点东西关于jmeter-app性能测试,现在记录一下.提到性能测试,那我就简单总结一下.(想跳过的,直接将页面下移到下一个红色字体处) 性能测试的相关知识介绍 ...
- Appium+python自动化(三十四)- 有图有真相,很美很精彩 - 屏幕截图和Android APP类型简介(超详解)
简介 在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏.从而达到一种“有图有真相”的效果. 截图方法 方法1 sav ...
- Android应用性能测试
Android应用性能测试 Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电了——应用耗电大 2)首次/非首次启动应用,进入应用特别慢——应用启动慢 3)应用使用过程中,越 ...
- Android App性能评测分析-流畅度篇
1.前言 在手机App竞争越来越激烈的今天,Android App的各项性能特别是流畅度不如IOS,安卓基于java虚拟机运行,触控响应的延迟和卡顿比IOS系统严重得多.一些下拉上滑.双指缩放快速打字 ...
- Emmagee app性能测试工具使用教程
Emmagee app性能测试工具使用教程 by:授客 QQ:1033553122 简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个Ap ...
随机推荐
- 【Python 02】计算机与程序设计
计算机 根据一系列指令对数据进行处理的工具或机器. 特征: 可以进行计算 根据指令执行任务 组成: 运算器+控制器(CPU) 存储器(内存及硬盘):内存存储临时数据.硬盘存储相对永久的数据 输入设备和 ...
- vue-router(hash模式)常见问题以及解决方法
问题一:// 动态路由/detail/:id 问题:动态路由跳转的时候,页面是不刷新的,相信很多人都遇到了相同的问题解决方法:在全局的router-view组件上设置一个key值,此key值为一个时间 ...
- 网络流问题 P2763 试题库问题
题目描述 «问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性.现要从题库中抽取m 道题组成试卷.并要求试卷包含指定类型的试题.试设计一个满足要求的组卷算法. ...
- ideal中把项目打成war包,并放在tomcat运行,遇见的问题。。。
先说下我遇见的问题吧:最近做项目要把项目放在tomcat上运行,用的springboot框架, 在建项目时选择的是 jar包,项目写完要部署打包是,在pom中虽然把包改成了war ,可是每次放入to ...
- SP11470 TTM - To the moon
嘟嘟嘟 主席树+区间修改. 以为是水题,写着写着发现区间修改标记下传会出问题,然后想了想发现以前做的只是单点修改. 那怎么办咧? 然后题解交了我标记永久化这个神奇的东西. 特别好理解,就是修改的时候直 ...
- InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]'
在新建asp.net core 应用后, 添加了自定义的ApplicationDbContext 和ApplicationUser ,并添加了Identity认证后, 会出现 InvalidOpera ...
- 二 Struts2 接收数据
struts2绑定页面参数三种方式1.普通属性:在action中写与页面参数相同的属性名,然后set方法2.用对象来接收:在action中写一个对象,表单元素名改为:对象名.属性名3.用实现Model ...
- Python——Django-settings.py的内容
一.HTML路径设置 #所有和HTML路径相关的设置都在这里 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTem ...
- cglib 代理实现
cglib代理的原理是通过继承实现对目标对象的代理 //1.接口 package cn.itcast.service; public interface UserService { void save ...
- badboy安装及使用
badboy下载 下载地址:http://www.badboy.com.au/download/index 直接点击[continue] badboy安装 badboy录制 默认是录制状态 访问sog ...