-
兼容性测试
-
安装,卸载,升级
-
交叉事件
-
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开发过程
-
产品经理收集整理需求,确定产品功能列表
-
计划会议:产品经理,项目经理,开发团队一起讨论确定迭代任务
-
每日立会:开发团队沟通遇到的问题,当日工作计划,任务细分
-
评审会:产品经理,项目经理,开发团队,市场相关人员对工作成果进行最后的确认。
-
评审通过,推向市场
-
评审不通过,继续进行修改调整
-
-
反思会:项目经理,开发团队对一次迭代周期中好的实践,需要改进的工作进行讨论总结,以便帮助下一次迭代任务的完成。
敏捷看板
-
工作透明化
-
清晰表示需求/工作的进展状态
每日例会,围着看板进行介绍自己的工作内容。
APP测试流程
-
需求评审:计划会议
-
测试计划:确定迭代任务
-
测试用例:迭代周期的每日工作
-
测试执行与BUG跟踪:迭代周期的每日工作
-