安卓专项测试

APP性能测试指标如下:
1、资源消耗
2、内存泄露
3、电量功耗
4、耗时
5、网络流量消耗
6、移动终端相关资源利用率
7、帧率
8、渲染等等....
测试流程概况起来包括但不限于以下几点:
组件初始化时间(业务方埋点)
APP启动时间(冷启动、热启动)
CPU占用(活动、静默状态)
PSS内存占用(活动、静默状态)//不能root手机,所以没有取USS电池温度变化(活动、静默状态)FPS硬件渲染掉帧数单帧渲染平均时间单帧检测处理时间(业务方埋点)
OS版本:4.4、5.0、5.1、4.2、4.3、6.0、4.0
品牌覆盖:华为、小米、Nexus、VIVO、奇酷、酷派、三星、锤子
分辨率覆盖:1920X1080、2560X1440、1280X720、854X480
业务场景:针对业务特点进行设置的测试场景,在此不表。
FPS测试:
1、概念: FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅。
卡顿人体感觉标准:帧率不高于16ms,针对Android系统。 此时在命令输出中会有一个矩阵数据,计算矩阵中帧率大于16的点所占比例,即为卡顿比。
方案如下:
1. 通过命令: dumpsys SurfaceFlinger | grep "|....|" 获取当前置顶窗口名称
2. 历史记录127行数据,按60帧算可记录2.12S数据,从而不用频繁获取。(最终考虑设定1.6S间隔刷新数据。)
3. 定期清零重新记录,避免如何分清哪些数据是上次的。命令: dumpsys SurfaceFlinger --latency-clear
4. 有刷新则计算帧率,无刷新则不输出数据,有时候取到的fps为1,就是这个原因
5. 每次采样数据大于等于1帧则计算FPS,丢帧率,最大帧间隔
6. 针对业务需求,增加了单帧平均渲染时间的统计
内存测试:
内存测试中的测试子项:
1)空闲状态下的应用内存消耗情况
2)中等规格状态下的应用内存消耗情况
3)满规格状态下的应用内存消耗情况
4)应用内存峰值情况
5)应用内存泄露情况
6)应用是否常驻内存
7)压力测试后的内存使用情况
内存问题现象:
1)内存抖动
2)大内存对象被分配
3)内存不断增长
4)频繁GC

内存数据获取:
1、各种linux命令(top、free、meminfo…)
2、通过dumpsys
adb shell dumpsys meminfo [pakagename | pid]
3、通过/system/xbin/procrank工具
adb shell procrank
5. android检查内存泄露步骤:
1、运行Monkey进行压力测试:
adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000 -s 100 -v -v 50
2、监控内存值,如果出现过大等递增异常则保存HPROF文件(hprof文件是Java 虚拟机的Heap快照)用于分析查看应用内存的命令:
adb shell dumpsys meminfo cn.microinvestment.weitou(进程名)
如果发现内存过大,则保存HPROF文件:adb shell am dumpheap <进程名> <保存路径>
3、分析hprof文件
用工具MAT来查看,首先还要这个HPROF文件转换成MAT可读的文件
在Android SDK tool里面有个hprof-conv命令:
hprof-conv <原HPROF文件路径> <转换后的HPROF路径>
hprof-conv a.hprof b.hprof
4、用MAT工具打开转换后的HPROF文件
一般选择Leak Suspects Report(通过SQL语句来查询对象有没有被释放掉,如果有多个相同的对象,则会存在内存泄露的问题)

转载于:https://www.cnblogs.com/LinxiHuang/p/9246748.html

不多说废话,看题目,本教程适合练手,会python+android基础的人群,文件较大,上传乃是下载链接,下面上目录: 1-1 课程导学 2-1 如何学好Android App性能测试? 2-10 详解【电量】监控值的获取方法 \' D, l" p) d6 d. K9 [7 p 2-11 详解【电量】监控脚本实现和数据分析 O, e4 X& K0 S% h8 v8 V9 ? 2-12 详解【内存】监控值的获取方法 k! e6 e# C" K% z9 k- l 2-13 详解【内存】监控脚本实现和数据分析0 d; e- S% G6 r3 H: g 2-14 详解【FPS&过度渲染】的概念和监控方法 - 分析页面卡慢的方法# G! _2 O9 T* j" K s3 v6 C0 l 2-2 工欲善其事必先利其器-性能测试环境准备 2-3 详解【启动时间】监控值的获取方法0 n( p* l; g C 2-4 详解【启动时间】监控脚本实现% B2 z( C( E& S: n r1 e 2-5 详解【启动时间】数据分析 2-6 【启动时间】时间戳差值监控方法概要介绍 2-7 详解【CPU】监控值的获取方法、脚本实现和数据分析 2-8 详解【流量】监控值的获取方法7 r7 ~/ D5 |+ h9 m9 i6 p) b: Y 2-9 详解【流量】监控脚本实现和数据分析2 [9 {# {$ c9 k/ T, `/ t" \ 3-1 为什么需要使用框架实现自动化测试? 3-10 UnitTest框架之TestCase,TestSuite,TestRunner简介3 A2 {1 F2 @; K 3-11 UnitTest框架之TestSuite,TestRunner自动化测试 3-12 数据驱动框架DDT简介 3-13 数据驱动框架DDT的使用方法 3-14 数据驱动框架DDT实战; 3-2 准备一个被测APP 3-3 工欲善其事必先利其器-自动化测试环境准备 3-4 Android App自动化测试(一) 3-5 Android App自动化测试(二) 3-6 Android App自动化测试(三) 3-7 UnitTest框架之TestFixture简介 3-8 UnitTest框架之TestFixture自动化测试(一) 3-9 UnitTest框架之TestFixture自动化测试(二) 4-1 如何学好Android App API接口测试? 4-10 Fiddler构造HTTP Get请求 4-11 Fiddler构造HTTP Post请求 4-12 Fiddler抓取手机上的网络数据包 4-13 为什么使用PostMan做API接口测试 4-14 工欲善其事必先利其器-PostMan工具准备 4-15 PostMan测试HTTP Get请求 4-16 PostMan测试HTTP Post请求 4-17 数据驱动DDT实现API接口自动化测试简介) 4-18 Python requests测试HTTP中的Get、Post请求 4-19 数据驱动DDT实现API接口自动化测试(一) 4-2 什么是API 4-20 数据驱动DDT实现API接口自动化测试(二); 4-3 抓包神器Fiddler简介 4-4 Fiddler抓包原理解析 4-5 Fiddler修改客户端发出的请求(一) 4-6 Fiddler修改客户端发出的请求(二) 4-7 Fiddler修改服务器端返回的内容 4-8 Fiddler实现会话的过滤、对比及请求的编解码 4-9 Fiddler实现Host的配置 5-1 测试工程师为什么需要掌握持续集成? 5-2 持续集成的概念、流程和意义 5-3 讲解持续集成工具Jenkins3 5-4 Jenkins工具密码的修改 5-5 Jenkins工具的配置说明 5-6 Jenkins工具系统配置和Job配置 5-7 Jenkins工具手动持续集成实战 5-8 Jenkins工具自动化持续集成实战 6-1 Native App自动化测试及Appuim框架介绍 6-2 自动化测试环境、元素识别工具、脚本设计原则-LOVE原则的讲解 6-3 Native App自动化脚本的实现 6-4 Appium自动化测试框架API讲解与案例实践(一) 6-5 Appium自动化测试框架API讲解与案例实践(二) 6-6 Appium自动化测试框架API讲解与案例实践(三) 6-7 Appium自动化测试框架API讲解与案例实践(四) 6-8 Appium自动化测试框架API讲解与案例实践(五) 6-9 Appium自动化测试框架API讲解与案例实践(六) 7-1 Hybrid App自动化测试概要 7-2 Appium基于Sele
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值