app测试笔记
文章目录
- 一、概念
- 1.测试范围
- 2.发布
- 二、专项测试:
- 1.安装卸载升级
- 2.兼容性测试
- 3.Push消息推送测试
- 4.交叉测试
- 5.用户体验测试
- 三、性能测试
- 1.工具
- 2.内存
- 3.流量
- 4.电量
- 5.流畅度
- 6.稳定性
- 6.启动速度
- 7.使用AI协助完成测试
- 注
一、概念
1.测试范围
(1)功能测试: 业务测试、功能模块测试
(2)专项测试: 安装卸载升级、push消息推送、交叉事件测试、用户体验测试、兼容性测试。
(3)性能测试: CPU、内存占用,启动速度,流量、电量消耗,流畅度、稳定性。
2.发布
(1)内部发布步骤:
蒲公英、Testlink等
1.开发上传
2.平台生成二维码
3.测试扫码安装
(2)上线发布策略:
1.开发阶段:开发环境。
2.测试阶段:测试环境->[策略:灰度发布:部分用户可用]。
3.上线发布阶段:生成环境:所有用户可用,服务器集群。
二、专项测试:
依赖软硬件:
mum模拟器、App安装包。
https://pan.baidu.com/s/1dlq7Unfyq0QRdl7FuDmJfQ?pwd=av2n
1.安装卸载升级
安装:版本、渠道、路径、异常后安装等。
卸载:正常卸载、运行时卸载、取消后卸载等。
升级:临近版本、跨版本、不同渠道等。
2.兼容性测试
品牌型号(品牌、系统版本、分辨率)、网络、软硬件兼容。
app应用兼容性:
(1)与手机硬件兼容:音量调节、home键、电源键。
(2)与外部硬件设备兼容:耳机、蓝牙、数据线。
(3)与操作系统软件兼容:wlan设置、系统时间调节、LBS定位等。
(4)与其他APP兼容。
3.Push消息推送测试
(1)Pull:
客户端主动获取,客户端固定时间主动向服务器获取消息,消耗客户端与服务器资源。
(2)Push:
客户端被动接受,当服务器有更新消息时主动发送到客户端,节省客户端和服务器资源。
(3)推送流程:
服务器有更新消息—>推送服务器(操作系统级别+自己搭建+三方推送)—>APP—>用户。
(4)推送的设置:
1.app服务器设置:推送内容、时机、频率、人群。
2.手机端设置:是否接收通知、提醒位置等。
4.交叉测试
关注点:
(1)APP运行时接打电话
(2)APP运行时收发消息
(3)APP运行时查看应用推送
(4)APP运行时接上蓝牙设备
(5)APP运行时接收文件弹窗提醒
(6)APP运行时旋转屏幕
(7)APP运行时切换网络
(8)APP运行时使用手机自带应用
(9)APP运行时电量和插拔充电器提示
5.用户体验测试
UI界面、横竖屏、易用性、其他辅助功能。
三、性能测试
1.工具
(1)SoloPi: Android自动化工具。
(2)下载: https://www.pgyer.com/solopi
2.内存
(1)Solopi内存监控指标:
Private dirty(私有内存):进程独占内存,进程销毁时可收回的内存容量。
PSS(实际使用内存):加上了跨进程共享页。
(2)内存问题:
1.内存泄漏:memory leak,指申请的内存没有释放,最终会导致内存溢出。
2.内存溢出:out of memory,指程序在申请内存时,没有足够的内存空间供其使用。
(3)CPU监控指标:
1.全局占用CPU:整机CPU使用水平。在Linux系统下,CPU利用率分为用户态、系统态和空闲态。(CPU使用率=CPU执行非系统空间进程时间/CPU总的执行时间)
2.应用进程CPU:表示自开机以来,应用程序消耗的CPU时间总数。
(4)CPU问题现象:
手机发热、耗电量增加、反应变慢、无响应。
3.流量
是指APP与服务器交换数据的总大小。
(1)上/下行消息:
上行消息是APP发送给服务器的数据,下行消息是APP接收的服务器的数据。
(2)流量优化策略:
压缩数据、采用不同数据格式、控制访问的频次、只获取必要的数据、缓存机制、设置不同访问策略。
4.电量
APP应用使用时对电池电量的平均消耗。
(1)常见耗电量最大的场景:
定位、网络传输、屏幕亮度、wake_locker(锁屏-解锁)。
(2)电量监控的方法:
系统自带接口、硬件检测、软件工具检测。
通过与基准数据对比和竞品对比进行结果分析。
5.流畅度
(1)监控指标:
帧率FPS:CPU在一秒内绘制的帧数,即一秒内呈现给用户的图片数。
每秒24帧是流畅,60是最佳。
6.稳定性
(1)稳定性测试:
在app应用中随意操作,挖掘有可能出现的异常。
(2)Monkey工具:
1.模拟用户随机操作。
2.Android系统自带工具,位置:/system/framework/monkey.jar。
3.步骤:
3.1执行命令,执行结果写入日志
adb shell monkey -p 包名 -v 次数 > 结果文件
参数:
-p:指定包名
-v:log详细程度,'-v-v-v'最详细
次数:要执行随机操作的次数
>:重定向日志
获取包名:adb shell dumpsys windows|grep usedApp
3.2检查日志中是否有异常关键字,提取相关日志发给开发。
常见关键字:
无响应:"ANR"或timeout
崩溃:"NullPointerException"或Exception
闪退:memory out、memory Leak
错误:error
6.启动速度
从启动app到主页面加载完成的速度,分为冷启动(启动app进程)、热启动(将app从后台置于前台)。
7.使用AI协助完成测试
注
内容学自黑马程序员。