移动产品研发及测试一般流程
移动端测试类型
接口测试
- 当前互联网下,应用层软件信息传输几乎是基于TCP/IP协议(这篇讲的不错),以使用最多的http为例,web或移动端对基于协议的接口测试都是必要的。根据测试的金字塔模型,IT(Interface Test,接口测试)对尽早发现问题、定位问题,尤其对后端系统的测试显得尤为重要。另一方面,现实里中大型项目越发强调系统性能,目的不仅是提高用户体验,便于推广和市场占有,对系统软硬件资源的充分、高效利用也是极尽追求,毕竟最终这些都和钱挂钩。常规意义的性能测试实现基本基于接口,通过接口模拟请求,实现并发,对系统的负载、压力、容量等测试并优化。
有空单独写篇文章总结接口测试
安装/卸载测试
- 真机 | 模拟机apk包安装、卸载、高版本覆盖安装、低版本覆盖安装、卸载后安装高版本
- 安装关注:版本号、渠道号、数字签名(抓包工具辅助查看)、安装后启动向导、安装过程对意外情况的响应(取消、死机、内存不足、网络环境)、安装提示、验证主要功能流程
- 卸载关注:卸载过程意外情况处理(取消、死机、内存不足、网络环境)、卸载提示
- 在线安装(更新):
- 升级关注:升级提示、取消更新/强制更新、后台更新(自动?)、跨版本升级、升级过程中异常情况处理(取消、死机、内存不足、网络环境)、升级进度
- 第三方软件支持:应用宝、豌豆荚、91助手、小米应用商店、华为助手等
功能测试
- 据SRS、原型图及设计稿测试app各功能
- 公共点
- 注册:关注长度限制、类型限制、重复注册、短信接入、前后台数据一致性
- 登录:正误情况、多设备登录、禁用账户登录、登录超时、登录中断网/网络切换、登录后界面
- 注销:注销后再登录、取消注销
- 应用前后台切换:前后台切换、锁屏解屏、电话/短信中断后回到app、必须处理的提示框处理后回到app、杀掉进程后重新启动app
- 免登录:登录后杀掉进程重新启动app、无网络、切换用户登录、密码更换、退出登录下次启动app、卸载重装
- 数据更新:手动或自动刷新、从后台切换到前台时数据更新、实时更新、定时更新、数据展示的处理逻辑(服务器获取、本地缓存)、更新异常处理(弱网、断网、服务器响应异常、数据为空)
- 定位、相机、语音、蓝牙等系统服务:已开启、未开启根据提示开启、未开启并拒绝开启
- 时间测试:修改时区
- 推送测试:推送消息内容、链接跳转、免打扰或拒接收
- 此外即是基于产品业务的测试
兼容测试
- 关注终端差别:不同操作系统、深度定制款、分辨率、屏幕尺寸
- 分辨率
主流有2340x1080、1080x1920、720x1280、2560x1440等 - 操作系统
android7-9、ios12/13等 - 厂商定制
小米、华为、苹果、oppo等 - 尺寸
6.3寸、6寸、5.5寸等
稳定性测试
- app运行的健壮性
- Monkey结合友盟(指标监测)持续使用数小时统计Crash、ANR率
- 外部事件打扰,如插拔数据线、电话打扰、收发短信、切换网络、蓝牙传送/接收数据、启动相机等
- 多个运行中app切换测试,包括从后台切换
性能测试
- 注:移动端性能测试包含对服务器和本地移动端的性能测试
-
Monkey结合性能测试工具监控cpu、内存、流量、耗电量,性能测试工具如anothermoniter、腾讯的GT
-
收集同类产品性能数据(基线测试);根据系统以往运营数据确定部分性能指标
-
评估典型用户应用场景下,服务器系统资源的使用情况
-
不同网络响应速度、服务器接口压力测试
网络测试
- 断网 | 弱网 | 网络切换 | 外网
- 可参考这个介绍:网络测试
安全测试
- 数据、权限、漏洞。这个话题水深,不展开了