19 用户体验测试/专项测试
文章目录
- 19-1 app启动性能测试
- 1)adb logcat方法
- 2)使用ffmpeg拆帧
- 19-2 接口性能测试
- 19-3 PC浏览器的性能数据获取与分析
- 1)关键选项
- 2)时间线关键信息
- 19-4 系统资源分析
- 1)cpu统计
- GPU渲染工具
- 2)mem统计
- 查内存命令procstas
- 也可以用meminfo命令
- 提示
- 3)网络流量分析
- 显示网络流量命令
- 指定应用UID命令
- 19-5 耗电量测试
- 安装环境
- clone代码
- 19-6 健壮性测试
19-1 app启动性能测试
android设计理念,利用activity降低模块耦合度
- 1)
- 1、调起app
- 2、创建白窗口
- 3、启动进程(绿色外窗口)
- 2)创建object android 调用写的方法
- 3)main thread主线程:加载main activity ->初始化,渲染,数据的初始化,对象的创建;开始渲染页面,渲染完成进入displayed time
- 4)displayed time 与空白窗口对调,用户真正能控制app的时间就在这个时间开始
- 5)other stuff 动态加载过程,页面已经显示,但未加载完全(例如雪球app的内页广告)
- 冷启动:app完全q掉,完全启动,从开始到displayed time
- 热启动:app在后台,直接启动
- 暖启动:app在后台驻久了,内存被杀掉,用户此时重启app,有一些object会被保留,比热会慢一点
- 首屏启动:加上stuff time(自己加的概念)
- adb logcat 只能计算首屏启动之前的时间
- 需要手工进行,比较耗时
- 每个200ms打印pagesource
- 硬埋点:开发在app启动时间之前加一个埋点,app启动完成之后结束埋点,数据回传到服务器,这个方法最准确,也可解决不同机型测试,但需要开发配合
1)adb logcat方法
清除缓存,停止进程,进行冷启动
-S 启动前先停掉
-W 等待activity启动完成
totaltime即为冷启动时间
2)使用ffmpeg拆帧
adb pull . 拉到本地
ffmpeg 工具可进行视频拆解
-r 10 1秒拆成10帧(1帧相当于0.1秒)——通过拆帧时间推算出每个启动用了多长时间
frames_%03d.jpg 格式化命名拆帧图片——frames开头,后面3个长度,0代表不够三个长度用0补充
19-2 接口性能测试
19-3 PC浏览器的性能数据获取与分析
- webview:手机内嵌浏览器,可以加载小型页面,android4.4后直接采用Chrome浏览器,webview主要用来加载html
- h5:就是html5,就是html的技术
- webview通常采用的技术是h5,h5依托webview加载
- 蓝线 :dom加载完全时间(图片,动图,视频等可能都没加载完全)
- 红线:所有资源加载完全
- disable cache:清除缓存(相当于移动端冷启动)
- all:动态资源,静态资源全部加载
- XHR :只加载动态资源
1)关键选项
- 蓝线代表数据的dom出现的时间,到蓝线代表dom加载完全,可以对dom进行点击,sendkeys,但图片,动图,视频未加载完全
- 红线后代表资源加载完全
- Disable cache:每次刷新时,从0开始,清除缓存,相当于移动端的冷启动
- XHR:加载动态资源,图片,CSS静态资源不会出现在悬框里
selenium中
- xpath方式定位是在dom中查找,dom加载后即会查找
- css方式定位是在css加载完成后查找(图片等加载完成)
- 使用css 定位更稳定
2)时间线关键信息
双击项目即可点击时间线
- Queueing:排队时间(数据传输过程中排队过程,队列排队0.91ms)
- Stalled:资源在排队过程中被丢弃的时间(在队列排队中请求停止请求0.25ms)
- Waiting(TTFB):等待服务器响应的时间(发出了一个请求,等待了25.72ms收到服务器的响应)
- Content Download:下载资源的时间
鼠标选定拖动后可以只显示选中内容
Explanation——官网字段详细解释
Chrome62版本webview比较稳定
19-4 系统资源分析
1)cpu统计
cpu处理图形,完成后,GPU拿到图形进行绘制
中间经过Graphics中间件绘图处理工具
cpu处理过快,GPU处理过慢,出现缓存(绿色方块,队列),进行码队
如果GPU显示完整,GPU渲染过程平缓,队列也好,那么cpu一定也也没问题
因此可以借助GPU绘制工具,反观CPU状态
GPU渲染工具
- 每个竖条都是1帧,每1帧代表一个画面
- 绿线:看电影时fps通常为24,1s绘制24帧,android规定绘制1帧时间不要超过16ms,绿线代表16ms,超过绿线代表超过16ms,超过16ms时现象:发生卡顿
GPU拿到view之前的工作,CPU放入队列中,中间件处理的过程即为蓝色
onDraw:对图形进行绘制的函数,绘制的基础:Convert类似画布,在画布上调各种函数,比如画三角,画圆圈,而convert和绘制过程要放到ondraw函数中,如果ondraw过于负责,蓝线可能会飙高
OpenGL或其他中间件处理displaylist
较高:负载过重
页面是多层的,0,1,2,3层,反复提交某一层,可能造成view重复提交,红线过高
可到android官网查看
2)mem统计
手机room即为内存
所有RSS 相加大于实际使用的物理内存(不按比例分配)
所有PSS相加等于实际使用的物理内存
共享内存: 交互数据存放在共享内存中
查内存命令procstas
process stats进程状态
– hours 仅看3小时内的
*进程名,用户名,版本号:
- Total综合内存情况:100%代表3个小时内完全占据了内存,说明应用在3个小时内一直在启动,没有中断过
- Persistent长驻内存:期间一直长驻的时间
- Imp Fg是否前台显示
- Service是否以服务形式驻留内存
- Top目前最高级别
也可以用meminfo命令
如果不指定包名,默认以PSS进行排序
提示
- 同一时间total有好几个100%,同一时间有多个占内存应用,测试内存不准确,做版本对比才有意义,而不是看应用本身内存大小
3)网络流量分析
显示网络流量命令
活动接口和活动UID接口在android中未做区分,为统一数据
type:网络类型
subType:子网类型
networkID:网络ID
流量抓控以ident为单位
指定应用UID命令
指定包,过滤userID
直接输入命令报空指针异常(模拟器无效,需连接真机)
- rb:receive bytes 接收字节数
- rp:receive package 接收包数
- tb:transport bytes 传输字节数
- tp:transport package 传输包数
网络信息的内容建议查阅AndroidStuio官网或Android Developer官网进行扩展
19-5 耗电量测试
1、clone项目
2、进入目录
3、安装golang语言;编译,拉取;-d -u不运行只编译和拉取
4、go run 运行
清空
电量录制
左边:常见内容指标
黑线:所有走势代表整体耗电量变化(时间较短时看不到黑线,小时以上才能看到黑线)y轴:电量情况
x轴:时间维度
battery_level电量百分比
screen屏幕亮度
安装环境
1、下载golang
2、环境变量设置golang
3、python版本设置2.7(history依赖2.7,3.7会报错)
clone代码
不建议docker安装,项目比较老,未更新,建议手动编译
修改版本为20190513(最稳定)
注意⚠️:正常测试应使用真机,不用模拟器,(演示使用模拟器&不清除数据)
19 用户体验测试/专项测试相关推荐
- 用户体验与可用性测试_可用性作为用户体验的原则
用户体验与可用性测试 Every UX Designer has his views and best practices. We all have a guide book created thro ...
- 怎么进行用户体验与可用性测试?
一.以用户为中心的设计概论 UX & UCD User Experience用户体验:是指用户在使用或预计要使用某产品,系统及服务时,产生的主观感受和反应.由 战略层.范围层.结构层.框架层. ...
- 功能测试(八)—— APP之专项测试、性能测试、性能测试工具SoloPi
目录 APP测试要点 目标 一.APP专项测试 1.1 兼容性 1.2 安装 1.3 卸载 1.4 升级 1.5 干扰测试(交叉事件测试) 1.6 Push推送 1.7 用户体验 二. 性能测试工具 ...
- houseparty不流畅_重新设计Houseparty –用户体验案例研究
houseparty不流畅 Houseparty has become very popular during the COVID-19 period because it helps you con ...
- 利益相关者软件工程_如何向利益相关者解释用户体验的重要性
利益相关者软件工程 With the ever increasing popularity of user experience (UX) design there is a growing need ...
- 什么是软件兼容性测试,怎么分类,做兼容性测试的测试机构有哪些?
一.什么是兼容性测试? 很多人都知道兼容性测试,但是却很少能准确理解兼容性测试,大多都只会想到浏览器的兼容:实际兼容性还有其他内容,包括web 兼容和APP 兼容:那么下面咱们先说说什么是兼容性测试: ...
- 用户体验——尼尔森十大交互原则
测试-用户体验合理性? 用户体验? 好的文章: https://www.360kuai.com/pc/95bab86be14e98bd4?cota=4&tj_url=so_rec&si ...
- APP测试与Web测试的测试工具不同
不管是APP测试http://alltesting.cn/news/249.html,还是Web测试,对于测试而言,测试流程.测试思路都没有大区别.由于测试环境不一样,测试涉及的工具不同,测试方法考虑 ...
- 用户体验测试UE测试 User experience test
网站体验,指的是利用网络特性,为客户提供完善的网络体验,提高客户的满意度,从而与客户建立起紧密而持续的关系. 网站体验的分类 1.感官体验:呈现给用户视听上的体验,强调舒适性. 2.交互体验:呈现给用 ...
最新文章
- Perl 教学 子程序
- Java入门系列-16-继承
- 三种常见字符编码简介:ASCII、Unicode和UTF-8
- 3.1 cat:合并文件或查看文件内容
- 汇总下最近没时间更新的机器学习,五一后更起来
- (72)Verilog HDL系统函数和任务:$display
- Git LFS的使用
- android 查看文件格式,Android-选择并查看任何类型的文件
- js 返回上一页面_pdf.js实战,含水印、电子签章解决方案
- java 开源im_开源IM项目-InChat登录接口设计与实现(基于Netty)
- js如何获取php中的变量的类型,js获取变量的类型
- android词根词缀,词根词缀记忆字典 - 好担心你们因为它的界面丑,而错过这款背单词神器 - Android 应用 - 【最美应用】...
- [Python]经纬度转换
- C++实现图片格式转换
- SAP Business One(SAP B1):供应商和客户如何分类
- Windows下使用chkdsk修复移动硬盘/磁盘
- “穿的越少越好”在夏天说和在冬天说是不一样的
- 反思学习,做更好的自己
- 美眉都是可爱的…… (美图)
- 自由 stm32f103c8t6芯片学习原理图+中文数据手册pdf
热门文章
- 本地电脑搭建SFTP服务器,并实现公网访问
- rrt算法 c语言,未知环境下改进的基于RRT算法的移动机器人路径规划
- STM32 网页服务器 LWIP websever ajax实时刷新 (一)
- ArcGIS基础:栅格分区转矢量再裁剪面图层【重分类】【栅格转面】
- 基于SSM+SpringBoot+Vue前后端分离的高校大学生毕业设计管理系统
- 【python+Selenium】Selenium使用步骤解析
- AdminLTE快速入门和使用(网页模板快速入门使用)
- StringBoot中String转JSON,JSON转Map或List
- ASCLL码表的区域划分
- JavaScript 模块化编程规范