功能测试(八)—— APP之专项测试、性能测试、性能测试工具SoloPi
如果没有基线,可以和竞品对比测试。能使用solopi完成APP的性能测试(CPU、内存、流畅度、流量、电量、启动速度、稳定性)能够实现APP的专项测试(兼容性、安装卸载升级、干扰测试(交叉)、Push推送、用户体验)能独立说出常用的APP命令格式(内存、CPU、安装、卸载、流量、启动时间、抓取日志)基线:如果有基线要求,CPU曲线图是否存在长期超过基线的现象(min)下图 : 蓝色曲线是问题曲线(
目录
APP测试要点
目标
能够实现APP的专项测试(兼容性、安装卸载升级、干扰测试(交叉)、Push推送、用户体验)
能使用solopi完成APP的性能测试(CPU、内存、流畅度、流量、电量、启动速度、稳定性)能独立说出常用的APP命令格式(内存、CPU、安装、卸载、流量、启动时间、抓取日志)
能使用命令测试APP客户端的稳定性(monkey)
一、APP专项测试
1.1 兼容性
- 手机型号不同品牌商,不同机型(华为P30)
- 操作系统版本:
- 安卓:根据在线统计平台数据获取
- iOS
- 分辨率
- 屏幕
- 尺寸:5.1. 5.5 4.7
- 类型: 刘海屏 水滴屏 曲面屏 折叠屏
- 网络: 移动数据 和 WiFi
- 应用兼容性
- 手机硬件: 手机上的物理按键(音量键 home键 电源键)
- 外部硬件: 蓝牙设备 有线设备
- 操作系统设置: wlan 时间 定位
- 其他APP: 具有后台播放功能的APP,例如音乐
如何做兼容性测试:
使用不同的机型打开软件操作,无异常即可
若公司没有太多机型,可参考云测平台或者模拟器如何选择品牌、 机型、 系统、 分辨率网络?
查看线上排名网站( 流量研究院: https://mtj.baidu.com/data/mobile/device)
1.2 安装
- 正常场景
- 从不同渠道安装
- 不同操作系统安装
- 不同的路径安装(手机\SD卡)
- 异常场景
- 中断安装(关机 断网),中断之后能否恢复安装
- 存储空间不足安装
- 安装时手动取消或暂停.恢复之后是否能正常安装
- 正在运行时能否覆盖安装(后台运行\前台运行:需要考虑是否会打断用户操作)
- 低版本覆盖高版本
- 卸载后再安装(卸载后是否会清除数据)
1.3 卸载
- 正常卸载(手机卸载\使用第三方软件卸载)
- 运行时卸载(后台运行)
- 取消卸载(第三方软件\二次弹窗确认时取消)
- 中断卸载(关机)
- 卸载后数据残留(给用户提示确认,如果用户同意残留,可以保留数据;如果用户拒绝残留,不可以保留数据)(如果不做任何确认提示,默认需要清空残留数据)
1.4 升级
- 从临近版本升级(上一次发布的版本)
- 跨版本升级(历史发布过的版本)
- 当前版本是n: n-2 升级n
- 从不同渠道升级
- 升级成功提醒(红点提示\消息提示)
- 升级前是否提醒(消息推送提示升级\强制升级不提醒)
- 自己自研升级系统(日常升级\强制升级)
- 使用第三方(日常升级\强制升级)
- 当前版本是否具有升级能力(n升级n+1,升级规则)
1.5 干扰测试(交叉事件测试)
- 接打电话
- 收发短信
- 音视频电话
- 查看应用推送(其他软件的推送\当前软件的推送)
- 连接蓝牙设备
- 接收文件弹窗提醒(确认接收\拒绝接收)
- 旋转屏幕
- 切换网络(移动数据和WiFi自动切换)
- 手机自带应用(打开相机\手电筒\计算器)
- 低电提醒
- 插拔充电器(充电动画)
1.6 Push推送
- 推送服务器(是否按照规则去推送)
- 推送内容
- 推送的时间
- 推送频率
- 推送的对象
- 手机端
- 不接收消息,将不会收到任何推送
- 接收消息
- APP在前台运行时,消息如何显示
- APP在后台运行时,消息如何显示
- APP离线,消息如何显示
- 消息能否打开
- 接收时设置
- 接收消息但不提醒:手机提醒不会触发
- 接收消息且提醒: 接收消息的同时触发提醒 (结合手机模式:静音模式\震动模式\;铃声)
- 接收消息但不显示消息内容(例如:微信发来一条消息)
推送平台在哪里?推送的用户是谁?
1.7 用户体验
- UI界面测试(原型图设计是否合理)
- 横竖屏测试(内容展示是否异常)
- 易用性测试(空数据提示\菜单层次是否过深\业务操作步骤是否过多\按钮位置是否适中)
- 手机上的辅助功能(色盲模式\盲人模式)
真人体验
- 可以针对目标用户去找符合条件的人
- 可以找小白用户体验(公司内部其他团队未接触过该项目的人)
二、 性能测试工具
2.1 APP性能测试工具介绍 —— SoloPi简介
SoloPi: 是一个无线化、 非侵入式的 Android 自动化工具, 具备录制回放、 性能测试等功能。
作用如下:
- 基础性能测试: 能够记录待测应用的各项指标, 可以在悬浮窗中观察实时更新的数据, 也可以对性能数据进行录制, 在录制结束后查看图表; 同时, 还支持性能加压, 能够对CPU、 内存与网络环境进行限制, 复现应用在性能较差、 网络环境不佳场景下的表现。
- 录制回放: 通过SoloPi执行用例步骤, 能够将用户的操作记录下来, 支持在各个设备上进行回放, 这一切都能够在手机上独立完成。
- 一机多控:支持通过操作一台主机设备来控制多台从机设备, 不需要在各个设备上分别进行重复冗杂的兼容性测试, 能够极大提升兼容性测试的效率。
SoloPi安装:
- 可独立安装的 SoloPi( APK, IOS无该版本) , 像普通APP一样安装。
2.2 APP性能测试工具 —— SoloPi使用
注意事项: SoloPi使用时, 需要申请悬浮窗权限, adb权限, 读写权限
资料分享:
- 打开SoloPi, 选择性能测试
- 选择被测应用, 勾选监控指标, 勾选后悬浮窗会出现在手机屏幕上
- 点击开始监控, 随后打开被测APP应用, 开始测试
- 结束监控,保存录制数据,查看数据采集结果
- 结果展示
可下拉选择其他性能项
三、APP性能测试
性能: 是衡量APP质量的一个重要指标
常见的性能指标有: 内存, CPU, 流量, 电量, 启动速度, 流畅度、 稳定性等
性能指标描述: 一定是某种时间内某种条件执行某种操作,性能指标如何
性能测试可以考虑和稳定性结合,monkey测试时使用性能监控工具监控性能数据.
例如: 2小时内持续刷新操作,性能如何?
持续运行8小时,性能如何
3.1 CPU
基线:如果有基线要求,CPU曲线图是否存在长期超过基线的现象(min)
如果没有基线,行业默认90%
CPU占用过高时可能出现的问题:
手机发烫
页面卡顿
电量消耗严重
快速恢复:清空后台运行的进程
下图 : 蓝色曲线是问题曲线(长时间超过基线),红色曲线是正常曲线
3.2 内存
内存泄露:内存的曲线持续增长(增的远比减的多)
内存溢出:一定是因为有内存泄露才会出现.内存持续增加突然降为0 (应用停止运行)
异常曲线图:
正常曲线图
3.3 流量
- 使用了多长时间,消耗了多少流量
- 测试怎么测: 例如: 1小时持续刷新,查看流量消耗
- 流量优化方法:
- 数据的压缩
- 不同数据格式的采用
- 控制访问的频次
- 只获取必要的数据
- 缓存机制
- 针对不同的网络类型设置不同的访问策略
3.4 电量
- 使用了多长时间,消耗了多少电量
- 测试怎么测: 例如: 1小时持续刷新,查看电量消耗
- 常见的电量消耗较大的场景
- 定位,尤其是调用 GPS 定位。
- 网络传输,尤其是非 Wi-Fi 环境。
- 屏幕亮度
- CPU 运算:复杂的运算逻辑、死循环等会直接导致CPU负载过高,会导致耗电;
- wake_locker(锁屏-解锁)时间和次数
注意: 公司是否有基线要求,如果有要求,那么我们需要去检验产品是否达标;如果没有基线,可以和竞品对比测试
3.5 启动速度
冷启动: APP离线的状态下启动; 时间长
热启动: APP后台运行的状态下启动. 时间短
命令获取: adb shell am start -W 包名/activity名
3.6 流畅度
- 帧率(FPS): 每秒切换多少帧
- 60fps为最佳
3.7 稳定性(monkey)
- 注意性能数据监控
- 注意日志收集
3.8 模拟器使用常见异常处理
问题1: devices offline (设备离线)
解决方案:重启模拟器
问题2: devices not found (找不到设备)
解决方案:重启模拟器
问题3: more than one devices emulater(连接了多个设备)
获取设备列表: adb devices
断开不需要的设备: adb disconnect 手机ip
更多推荐
所有评论(0)