学习目标
- 了解App项目的应用架构和项目环境
- 掌握基于敏捷开发的测试流程
- 掌握App测试的要点,熟悉各专项测试项目的关注点
- 熟悉GT工具的使用,能使用GT进行各项性能测试
App应用系统架构
相同点:
1、App和Web使用的后端服务是相同的
2、前后端都使用Http协议进行交互
不同点:
1、App是C/S结构,Web是B/S结构
2、App前后端交互的数据格式以json为主,Web前后端交互的数据格式以Html为主
App测试要点
- UI测试
- 功能测试
- 兼容性测试
- 安装、卸载、升级测试
- 交叉事件测试
- push测试
- 性能测试(CPU、内存、流量测试、电量测试、流畅度测试、启动测试)
- 用户体验测试
- 稳定性测试
兼容性测试
- 手机型号:覆盖市场主流手机型号
- 系统版本:Android、IOS
- 屏幕分辨率: 分辨率(10801920、7201280) 尺寸(5.5、4.7、6.0)
- 网络:4G、wifi
- 应用兼容性: 1)与手机硬件兼容 2)与外部硬件兼容 3)与手机操作系统软件兼容 4)与其他App软件兼容
安装、卸载、升级测试
安装测试关注点
正常场景:
1、在不同的操作系统版本上安装
2、从不同的安装渠道安装(App商城、手机助手、直接下载apk或ipa文件安装)
3、不同的安装路径(安装到手机上、安装到SD卡上)
异常场景:
1、安装时出现异常(关机、断网),恢复后能否继续安装
2、安装时出现存储空间不足
3、安装时手动取消后再次安装
4、正在运行时覆盖安装
5、低版本覆盖安装高版本
6、卸载后安装
卸载测试
1、正常卸载(App手动卸载、工具卸载)
2、运行时卸载
3、取消卸载
4、卸载异常中断
5、卸载后无数据残留
升级测试
1、从临近版本升级
2、跨版本升级
3、不同渠道升级(应用商城、手机助手)
4、升级提醒成功(可不提醒、可提示升级、强制升级)
5、应用内升级时非wifi提醒 升级后观察升级前的数据正常(当数据结构改变而开发没有处理好时很容易出现升级前的数据混乱)
交叉事件测试
交叉测试又叫冲突测试或干扰测试。
是指一个功能正在执行过程中,另一个事件或操作对该过程进行干扰的测试。例如:在App前台/后台运行同时接听来电或下载文件等。
交叉事件测试关注点
如何测试:模拟用户场景(所有可能会影响App正常运行的场景)
1、App运行时接听电话
2、App运行时收发信息
3、App运行时查看应用推送
4、App运行时接上蓝牙设备
5、App运行时接受文件弹窗提醒
6、App运行时旋转屏幕
7、App运行时切换网络(4G、wifi)
8、App运行时使用相机、计算器等手机自带应用)
9、App运行时电量告警、插拔充电器
Push消息测试
App使用push消息的原因:
消息推送场景: 产品角度:功能需要,如:资讯类产品的新闻推送、工具类产品的公告推送等
运营角度:活动运营需要,如:电商类产品的促销活动;召回用户/提高活跃度等
消息推送原理:
pull:客户端定期向服务器发出请求,一有新消息就返回给客户端
push:服务器有消息就把消息推送给客户端(更省资源)
Push消息推送的实质
实际上,是当服务器有新消息需推送给用户时,先发送给应用App,应用App再发送给用户。
push消息推送的方式
1、操作系统级别的消息推送服务
2、调用第三方推送平台
3、自己搭建push服务器(安全、稳定、高效、成本高)
push推送设置
App服务器设置
push消息针对不同的用户群体:全部用户、部分用户、特定用户
手机端设置: push消息推送是否接收通知、提醒位置等
Push消息测试关注点
1、push消息是否按指定业务规则发送
2、当push消息是针对特定用户时,检查收到的push与用户身份是否相符
3、设置不接收推送消息时,用户是否会收到push消息
4、设置push消息的显示位置,是否与配置一致
5、收到push消息,是否能正常打开
6、App在前台使用时,收到push消息如何提示
7、App在后台运行时,收到push消息如何显示
8、App离线,是否能收到push消息
性能测试
App性能测试常见指标
内存、CPU、流量、电量、启动速度、流畅度等
性能测试工具——GT
GT使用时,部分功能需要有root权限
1、进入AUT界面,选择被测程序和测试指标
2、设置参数,点击右上角的“编辑”按钮,然后选中想测试的参数将其拖拽到已关注区域
3、执行测试之前可以打开日志抓取,方便发生问题时定位
4、点击开始监控按钮后,打开被测App应用,悬浮窗会出现在你要测试的应用上面
5、查看数据采集结果
6、查看运行时日志