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 ...
随机推荐
- nginx 反向代理 负载均衡
nginx反向代理 用户(浏览器) 请求网站资源 -> 直接定位到django后台(所有的请求压力,都直接给了后台) django默认对并发性 很差,并且处理网页的静态资源,效率很差 10万个并 ...
- web框架开发-快速认识Django中间件
中间件 中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出. 因为改变的是全局,所以需要谨慎实用,用不 ...
- UVALive - 3211 - Now or later(图论——2-SAT)
Problem UVALive - 3211 - Now or later Time Limit: 9000 mSec Problem Description Input Output Sampl ...
- mysql 报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executin
解决办法1. 修改用户密码mysql> alter user 'root'@'localhost' identified by 'youpassword'; 或者 mysql> set p ...
- Bootstrap开发框架视频整理
最近到客户处进行实地培训,整理了很多培训的材料,现将它们录制相关主题的视频,作为我的Bootstrap开发框架的知识补充,希望给感兴趣的朋友进行了解.培训内容主要包括基础框架部分.MVC框架部分.Bo ...
- SpringCloud(1)服务注册与发现Eureka
1.创建1个空白的工程 2.创建2个model工程 一个module(即SpringBoot)工程作为服务注册中心,即Eureka Server,另一个作为Eureka Client. Eureka ...
- js-模块化(三大模块化规范)
###1. JS模块化 * 模块化的理解 * 什么是模块? * 将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起 * 块的内部数据/实现是私有的, 只是向外部 ...
- 第三章· Redis消息队列
一.生产消费模型 二.Redis发布消息的两种模式
- map遍历性能记录
map遍历可以通过keySet或者entrySet方式. 性能上:entrySet略胜一筹,原因是keySet获取到key后再根据key去获取value,在查一遍,所以慢一些. keySet: //先 ...
- 转 - mybatis中${}、 #{}区别及应用场景
转与 https://www.jianshu.com/p/bbeff97d41eb 动态sql是mybatis的主要特性之一.在mapper中定义的参数传到xml中之后,在查询之前mybatis会对其 ...