【测试】APP测试
长期更新,建议关注、收藏。
目录
- APP概述
- 功能测试🌟
- 兼容性测试🌟
- 安装、卸载、升级测试🌟
- 交叉事件测试🌟
- PUSH测试🌟
- 性能测试
- CPU
- 内存
- 流量🌟
- 电量
- 流畅度
- 启动速度
- 用户体验测试🌟
- 稳定性测试
- app 项目环境与web项目环境的异同
1.后端服务器相同;
2.部分app用socket交互,多数用http协议交互
3.app是c/s架构,web是b/s架构
4.app前后端交互数据格式以JSON为主,web是JSON、HTML均有 - app软件包类型
Android-.apk
IOS-.ipa - app内部发布平台
应用内测分发平台,如蒲公英、Testlink
将测试包上传到平台,生成对应二维码,应用安装 - app线上发布平台
注意标注版本号,(名字和配置文件中都要修改好) - 测试过程有什么不一样 与web相比
先看目录,之后总结。
APP概述
功能测试🌟
兼容性测试🌟
- 覆盖主流机型、系统版本、分辨率、屏幕(刘海屏、水滴屏、曲面屏、折叠屏)、尺寸、网络(尤其是网络切换):可以查看百度流量研究院、使用雷电模拟器、云测平台
- 应用兼容性(手机硬件、外部硬件、操作系统、其他APP)
手机硬件:home键、电源键、音量调节等
外部硬件设备:耳机、蓝牙
操作系统:WLAN设置(WLAN =Wireless Local Area Network)、系统时间调节、LBS定位(Location-Based Services)
其他app兼容:后台播放音乐时,点击其他音频播放
安装、卸载、升级测试🌟
- 安装
- 不同操作系统版本
- 不同安装渠道(app商城、直接下载.apk&.ipa安装)
- 不同安装路径(手机 or SD卡)
- 安装时关机/断网,恢复后看是否能继续安装
- 存储空间不足
- 手动取消安装/暂停安装后再次安装
- 正在运行时覆盖安装(后台运行/前台运行)
- 低版本安装覆盖高版本
- 卸载后安装(卸载后是否会清除数据)
- 卸载
- 正常卸载 通过app或手机卸载
- 后台运行时卸载
- 取消卸载(第三方软件、二次弹窗确认取消)
- 卸载异常中断(突然关机)
- 卸载后无数据残留(需要用户提示确认)
- 升级
- 从临近版本升级(上一次发布的版本)
- 跨版本升级(当前版本为n 则n+1,n+2,n-1,n-2)
- 不同渠道升级
- 升级后提醒 以及 升级前是否提醒 (强制升级)
- 应用内升级时非Wi-Fi提醒
- 升级后观察升级前的数据是否正常
- 验证当前版本是否能升级
交叉事件测试🌟
又称干扰测试 冲突测试。
app运行时接打电话、收发信息、查看应用推送、接上蓝牙设备、接受文件弹窗提醒、旋转屏幕、切换网络、使用手机自带应用、电量告警、插拔充电器。
PUSH测试🌟
就是消息推送。
一般都是客户端被动的方式即push,当服务器有更新信息时主动发送到客户端,基于长连接,更节省资源。
服务器有更新信息->推送服务器->客户端app->用户
- 常见推送服务器分类
1.操作系统级别的消息推送服务器。
IOS:APNs(Apple Push Notification service)
Android:C2DM(Cloud toDevice Messaging)
2.自己搭建推送服务器,性能强、安全性高、成本高
3.第三方推送平台:手机厂商类、第三方平台类、BAT大厂平台推送
手机厂商类:小米推送、华为推送。
第三方平台类:友盟推送、极光推送、云巴(基于MQTT)
BAT大厂的平台推送:阿里云移动推送、腾讯信鸽推送、百度云推送 - 设置内容
app服务器设置:推送内容、推送时机、推送频率、推送人群(全部用户/部分用户)
手机端测试:是否接收通知,提醒位置 - 关注点
-
- app服务器
是否按指定业务规则发送
指定特定用户时检查收到的用户是否身份相符
- app服务器
-
- 手机端设置
设置不接收后能否接收到push消息
设置显示的位置是否与配置一致
收到push消息,是否能正常打开跳转
- 手机端设置
-
- 其他
前台使用时,push消息如何提示
后台运行时,如何提示
app离线,能否接收到push消息
- 其他
-
- 接收时设置
接收消息但不提醒
接收消息且提醒(静音/震动/响铃)
接收消息但不显示消息内容
- 接收时设置
性能测试
运用SoloPi,无线化、非侵入式的安卓自动化工具。
支持录制回放、性能测试、一机多控。
- 一机多控:操作一台主机设备控制多台从机设备,提升兼容性测试的效率。
- 性能测试:还可以实现性能加压。
安装:.apk版本 拖入模拟器即可安装
- 使用说明
选择测试应用,勾选监控指标,手机屏幕上出现悬浮窗
终端输入adb tcpip 5555即可连接上 - 重点关注
CPU、内存占用情况
流畅度
电量、流量消耗情况
启动时间是否过长
是否能长时间稳定运行
CPU
- 多个程序都在抢占cpu,那怎么运行?
通过时间片分配 - cpu图像
异常情况:长期在80%以上徘徊,导致手机发烫、卡顿、电量消耗大
清空后台进程即可恢复
正常情况:
- 这个基线要看具体的基线要求是多少,如果没有基线,默认90%
内存
程序运行时数据和代码都放入内存中,当内存不足时程序无法正常运行。
- SoloPi工具提供的监控指标
-
- 私有内存Private dirty
进程独占内存,进程销毁时可以回收这些量
- 私有内存Private dirty
-
- 实际使用内存PSS
加入跨进程共享页,按比例计算PSS,准确得到进程占用的实际物理内存。
- 实际使用内存PSS
跨进程共享页(shared memory page)是操作系统中一种允许不同进程之间共享内存区域的技术。通过跨进程共享内存,进程能够直接访问彼此的内存数据,而无需经过操作系统的常规通信机制(如管道、消息队列、套接字等)。这种共享机制通常用于高效的数据传递或通信,尤其是在需要频繁交换数据的多进程环境中。
- 常见问题
-
- 内存泄漏
memory leak 申请内存后无法释放已申请的内存空间,导致最终用尽内存。
- 内存泄漏
-
- 内存溢出
out of memory申请内存时发现没有足够内存可用
两者之间的联系:memory leak最终会导致out of memory
- 内存溢出
- 表现
PSS持续增长,有可能就是内存泄漏。
程序出现崩溃crash,可能是内存溢出。内存持续增加突然降为0,可能是应用停止运行。
正常的曲线应该是一个波浪但平稳的。
流量🌟
电量
流畅度
启动速度
用户体验测试🌟
UI界面测试(原型和UI图设计)
易用性测试(空数据提示/层次是否过深/操作步骤是否过多/按钮位置)
横竖屏测试(内容显示是否异常,特别是有表格的情况)
其他辅助功能(盲人模式/放大模式)
tips:真人体验 目标群体,新人群体