app用户体验测试/专项测试
1.app启动性能分析
1.1 启动流程
调起app,创建白窗口,启动进程application process
冷启动:1.app被杀死后重新启动;2.app刚安装完,启动时就是冷启动;3.app历史数据被清理后,重新启动时,也叫冷启动 (建议启动时间不超过5s) ---对应图中的other stuff前面的部分
热启动:app在后台运行,然后重新进入app时,叫做热启动 (建议启动时间不超过1.5s)
暖启动:比热启动稍微冷一些,比如app在后台驻久了,内存会自动杀死app的进程,此时再重启app时,由于原来的object和初始化、渲染等会保留在手机上,所以重启时会更快些 (建议启动时间不超过2s)
首屏启动:就是加上other stuff这部分的启动,就是其他动态加载
1.2 app启动性能的监控工具
常用的是前种
1.2.1使用adb logcat监控
adb logcat只能看到首屏启动之前的时间,不准确
下面在git bash里执行
-S启动前先停掉app,保险起见
-W等待activity加载完
1.2.2使用录屏+视频拆帧监控
ffmpeg是拆帧工具,可对视频裁剪或加水印
下面在cmd里执行,拆完后是一张张图片,然后手工数,下面命令的单位是s
10帧:每秒的视频拆成10副图,即每0.1秒截一副图
2.接口性能分析
3.Webview性能分析
webview:手机上内嵌的浏览器,可以加载页面,主要是用html
1.不加载缓存,从零载入
2.所有的动态和静态资源
3.动态资源
4.蓝色线:dom出现 xpath
5.红色线:图片等资源加载完 css selecter
上面是对于web页面的性能分析,如果是app的话,也可以对webview或者app的浏览器进行分析,使用chrome自带的工具:chrome://inspect, 但是需要FQ
1. inspect有bug,可以用chrome 62版本
2.模拟器自动开启了webview
怎么使用:
4.H5性能分析
w3c标准:
5.卡顿分析
cpu、内存、网络等都有可能导致卡顿
遇到的坑1
遇到的坑2
、
6.系统资源分析
6.1 CPU统计
driver: 就是中间件view,CPU将view放入缓存队列
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
打开开发者选项,找到GPU
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
蓝色就是GPU拿到view之前的工作,就是CPU将view放入缓存,或者中间件处理的过程,就是蓝色
6.2内存统计:adb shell dumpsys procstats --hours 3
共享库:比如俩个app之间需要交换数据,就需要有一个共享内存,即共享库
先要连上模拟器
多个版本对比
6.3 网络流量分析
adb shell dumpsys netstats,直接连模拟器时,会报空指针错误,所以要连真机
adb shell dumpsys package com.xueqiu.android | findstr userId ----找到标识userid 如果为10051,再找网络信息
adb shell dumpsys netstats | findstr 10051
主要是:rb,rp, tb,tp
7.耗电量测试
安装battery-historian工具
setup.go编译版本用稳定版本:20190513
主要要安装golang语言,且需安装python2.7
最好都在真机上测试,并且长达几小时的长时间操作,否则抓不到数据
8.弱网测试
设置电脑
9.健壮性测试
只是个概念:比如一个模块异常或者响应慢时,不影响其他模块的加载
10.兼容性测试