学习目标
- 掌握APP专项测试要点
- 了解APP应用内测发布环境
- 了解APP应用线上发布环境
- 掌握APP应用测试流程
APP专项测试要点
兼容性测试
安装,卸载,升级
交叉事件
PUSH消息推送测试
性能测试
其他类型
兼容性测试
手机型号
系统版本 安卓 (版本4.4开始兼容) IOS(版本9.x开始兼容)
屏幕尺寸,分辨率
网络状态 4G ,WIFI
统计平台 百度流量院 https://mtj.baidu.com
品牌
机型
分辨率
系统
联网
优先兼容机型。
兼容性测试的注意点:
功能测试之后,进行兼容性测试
兼容性测试关注页面展示:是否重叠,是否显示完整,页面的布局,对齐方式
进行测试时可以把手机排放在一起,同时进行测试。
安装,卸载,升级
在不同的设备上进行安装/卸载
安装过程中出现异常,可以继续安装或者卸载后再安装
卸载过程中出现异常,可以继续卸载或者进行再次安装
软件有版本升级时,用户能够看到新版本的提示
跨版本升级,能够从老版本直接升级到最新的版本
升级后的软件,保存在设备上的软件的数据能够继续使用
卸载时可以选择是否删除软件的数据
交叉事件测试
冲突测试,干扰测试
APP运行时接听电话
APP运行时接收信息
网络切换/断开,4G/WIFI
手机自带应用的干扰,相机,计算器,日历
APP运行时,插拔充电器/插拔耳机
APP运行时,回到桌面,锁屏,语音助手
PUSH消息测试
按照业务制定规则进行推送
按照推送对象进行推送,具体的单个用户,部分用户群体,全部用户
用户设置不接受通知消息时,推送消息应该不再显示
用户账号注销时,在账号再次登录时,应该能够收到之前的推送内容
用户手机断网再次连接时,应该能够收到之前的推送内容
消息再阅读后,消息的显示应该取消
手机在前台后后台运行时,消息的展示应该不同
性能测试
APP性能主要体现在CPU,内存,电量,流量,启动速度,界面切换
APP的启动时间,
热启动:软件从后台运行进行唤醒
冷启动:软件从完全关闭的状态进行启动
关注APP的CPU和内存的占用
内存溢出:申请的内存大于剩余的内存
内存泄漏:使用后的内存没有释放
APP的耗电量和消耗的流量
APP的长时间使用时,软件的流程和手机的系统资源占用
APP优化性能:
图片进行压缩剪裁
图片进行缓存
信息进行“下拉刷新”,相当于对信息进行分页展示
其他类型测试
用户体验,极限情况(边界),设备权限
界面的整齐,美观
APP在运行内存/储存内存将要用完时,进行软件的安装/使用
APP在低电量使用过程中,突然断电关机
APP在没有配置摄像头权限的情况下,功能使用到摄像头的情况
更多的权限:相册,电话,定位,上网,录音
设备的特殊使用,屏幕向左滑动,3D-touch,屏幕横竖屏的切换
APP项目环境
开发环境
测试环境
控制环境中的代码保持稳定,不能随意修改
控制环境的使用者,避免测试数据随意改动
生产环境/线上环境
按阶段:
开发(开发环境:用于代码集成和开发人员自测)----测试(测试环境)-----上线(生产环境)
测试人员是否要在生产环境进行测试?需要测试
软件升级过程,有可能出错(代码,数据库,配置文件)
生产环境和测试环境存在不同
硬件环境不同
网络环境不同
网站数据不同,数据量级别不同
服务器中的配置文件不同
测试技巧:
生产环境预留测试专用账号和数据,
如果允许,在内部测试过程中,切断生产环节与互联网的连接。在测试完成后,恢复生产环境的数据状态。
在测试环境与生产环境之间加入一个测试环境,用来模拟生产环境(尽量接近)
预发布环境,准生产环境
使用生产环境近期的某个数据状态作为数据库进行测试
硬件环境,网络环境,配置文件尽量接近生产环境的状态
步骤:测试环境---准生产环境-----生产环境(挑选重要功能,风险比较大的功能进行测试,确保升级过程正确)
APP内测
安装包:安卓 apk IOS ipa
内部分发平台
蒲公英:账号登录后,上传应用,发布后生成二维码,扫码下载安装
fir.im
APP线上发布
安卓:应用宝,360手机助手,豌豆荚,各大手机品牌应用商店
IOS:APP Store
敏捷开发模式概念
概念:以用户需求为核心,采用迭代,循序渐进的方式进行软件开发
互联网产品特点:
以快吃慢
需求高度不确定
新的需求,新的方向
需要尽量规避项目风险,快速试错,快速拿到反馈
敏捷开发模式的四个价值观
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
Scrum中的三种角色
产品负责人 Product Owner
确定需求,形成待办列表backlog,并排定优先级
确定产品的发布日期
项目经理 Scrum Master
管理任务的顺利进行,保持团队生产效率
保护团队不被别的事情干扰
确保团队成员具备完成任务的相关能力
开发团队(5-9) Dev Team:实现需求,完成功能
测试
开发
界面
Scrum开发过程
产品经理收集整理需求,确定产品功能列表
计划会议:产品经理,项目经理,开发团队一起讨论确定迭代任务
每日立会:开发团队沟通遇到的问题,当日工作计划,任务细分
评审会:产品经理,项目经理,开发团队,市场相关人员对工作成果进行最后的确认。
评审通过,推向市场
评审不通过,继续进行修改调整
反思会:项目经理,开发团队对一次迭代周期中好的实践,需要改进的工作进行讨论总结,以便帮助下一次迭代任务的完成。
敏捷看板