一、app项目测试范围
1.功能测试:业务、单功能模块
2.app专项测试:安装、卸载、升级、兼容性、push消息推送、交叉事件、用户体验
3.性能测试:内存、cpu、电量、流量、启动时间、流畅度、稳定性
二、web测试与app测试的区别
app是C/S架构、web浏览器是B/S架构
相同的是主要都是功能测试,但app测试多了app专项测试
三、app包发布
内测发布
平台:如蒲公英、testlink等
步骤: 1.开发将应用测试包上传到内测分发平台
2.平台可以生成对应的二维码
3.测试扫码进行应用安装
线上发布
平台:安卓:豌豆荚、应用宝、360手机助手、各类手机品牌商城等;
IOS应用:APP store、itools
步骤: 1.开发者账号注册,申请在发布平台(各种应用商店)上架
2.针对不同的发布平台,在软件包中加入对应的平台ID(渠道ID),上传到发布平台
3.平台审核通过后,用户可在应用商店中下载
一般线上发布的过程,由开发人员负责;在软件包加入平台ID后,上传到发布平台时,需要测试人员对核心业务功能进行验证
四、上线发布策略
开发环境->测试环境->(策略:灰度发布)->生产环境
灰度发布:部分用户可用,如有异常则回滚
线上发布:所有用户可用
五、app功能测试
功能测试:对核心业务、单功能验证程序功能符合应用需求。
web和app的流程和方法均一致:
测试流程:
1.需求分析
2.测试计划
3.测试用例设计
4.测试用例执行
5.缺陷管理
6.测试报告
测试方法:
1.等价类:穷举数据选取
2.边界值:长度范围覆盖
3.判定表:多条件之间约束限制
4.流程图:梳理业务流程
六、搜索功能实战测试
需求:
测试点:
搜索成功-汉字
搜索成功-拼音
搜索成功-单词输入
搜索成功-错别字纠正
搜索成功-同音字匹配
搜索成功-数字同音
搜索成功-标点符号
搜索成功-自动补全
搜索成功-匹配分类
搜索成功-匹配标题
搜索成功-匹配商品名称
搜索成功-匹配品牌
搜索成功-匹配厂商
搜索成功-匹配分词
搜索成功-匹配空
七、app专项测试
说明:在不同的移动设备上能持久、稳定的运行app程序
目的:保障主流移动设备能正常使用app应用;
不同的网络环境app应用正常使用;
不同app版本正常使用
测试内容:安装卸载升级、兼容性、push消息推送、交叉事件、用户体验
测试环境:app应用运行所依赖的软硬件
依赖:
1.模拟器
2.app安装包:通过apk安装包进行安装或通过应用平台进行安装。
apk安装:将apk拖入模拟器
7.1安装测试:
7.1.1正常场景:
1.在不同的操作系统版本上安装
2.从不同的安装渠道安装(app商城、手机助手、直接下载apk或ipa文件安装)
3.不同的安装路径(安装到手机上、安装到SD卡上)
4.卸载后安装
5.正在运行时覆盖安装
7.1.2异常场景:
1.安装时出现异常(关机、断网),恢复后能否继续安装
2.安装时存储空间不足
3.安装时手动取消后再次安装
4.低版本覆盖安装高版本
7.2卸载、升级测试:
7.2.1卸载测试:
1.正常卸载(app手动卸载、工具卸载)
2.运行时卸载
3.取消卸载
4.卸载异常中断后卸载
5.卸载后无数据残留(设置是否保留配置后检查一下是否保留了数据)
7.2.2升级测试:
1.从临近版本升级
2.跨版本升级
3.不同渠道升级(应用商城、手机助手)
4.升级提醒成功(可不提醒、可以提示升级、强制升级)
5.应用内升级时非wifi提醒
注意:升级后要观察升级前的数据是否正常(当数据结构改变而开发没有处理好时很容易出现升级前的数据混乱)
7.3兼容性测试:
兼容性:程序能在不同的设备上运行正常。
1.品牌型号(品牌、系统版本、分辨率)
2.网络
3.软件兼容
4.硬件兼容
测试点提取(app正常运行)如:
app运行正常(小米XX)
app运行正常(华为XX)
app运行正常(oppoXX)……
测试方法:
方式1:使用公司已有的真机进行兼容性测试。方法2:使用第三方的兼容性平台进行测试。
7.4push消息
push消息是APP推送的各种通知。如:点赞、评论、关注
push消息推送方式:
pull(拉取)客户端主动获取:客户端固定时间主动向服务器获取消息。
push(推送)客户端被动接受:当服务器有更新消息时,主动发送到客户端。
pull方式消耗客户端和服务器资源;push方式节省客户端和服务器资源。
注:在APP项目中,基于手机电量与流量的考虑。使用的都是push方式进行消息推送,因此又叫push消息。
测试点提取:(收到消息成功、失败及消息提醒位置)
收到消息成功(全部用户)——覆盖:内容、时机、频率、人群
——前置:1.app正在前台使用、2.已经设置好push消息的显示的位置
收到消息成功(部分用户)——前置:app后台运行
收到消息失败(离线)
收到消息成功(离线后再上线)
收到消息失败(关闭手机推送权限)
7.5交叉测试
冲突测试,指一个功能正在执行过程中,另外一个事件或操作对该过程进行干扰的测试。
如:在app前台/后台运行的同时接听来电或者下载文件等。
测试点提取:
应用正常使用-电话干扰
应用正常使用-短信干扰
应用正常使用-推送消息干扰
应用正常使用-蓝牙设备干扰
应用正常使用-接收文件弹窗提醒
应用正常使用-旋转屏幕
应用正常使用-网络切换
应用正常使用-切换相机应用
应用正常使用-切换计算器应用
应用正常使用-切换闹钟应用
应用正常使用-电量警告(5%,10%)
应用正常使用-插拔充电器
7.6用户体验测试
以主观的角度去感知产品或者服务的舒适、易用、友好亲切程度。
关注:UI界面测试、横竖屏测试、易用性测试、关注手机应用上的其他辅助功能
测试点提取:
页面布局与原型设计一致
页面字体、图片、颜色与UI设计一致
分辨率切换成功-横竖屏
必填框判断成功
菜单层级在3极内
操作步骤在5步内
按钮点击范围适中
任意界面导航明确(如退出返回)
八、APP性能测试
测试app使用期间占用硬件资源(cpu、内存、流量、电量)使用情况。
分类:1.app程序运行时占用手机硬件资源情况2.app稳定性
测试app资源性能,说明:
Android:使用工具(solopi、GT)或命令(adb)进行测试
Ios:苹果开发工具xcode
Solopi工具:
关注:内存、cpu、流量、电量、启动速度、流畅度、稳定性
8.1内存监控指标
每个程序运行时都需要将代码和数据放入内存中,内存不足则程序无法正常云兄。
solopi工具中测试主要关注pss(实际使用内存)
内存问题的现象:
内存泄露:申请内存无法释放内存
内存泄露memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后无论多少内存,迟早会被占光。memory leak会最终导致内存溢出。
内存溢出:申请内存时,无内存可用
内存溢出 out of memory,是指程序在申请内存时,没有足够的空间供其使用,出现 out of memory
8.2cpu监控指标
关注:是否长时间90%以上
cpu问题现象:手机发热+耗电量增加+反应变慢+无响应
8.3流量监控指标
流量:操作app会与服务器交换数据,流量就是指这些交互数据的总大小。
solopi工具中流量监控指标:网络
8.4电量监控指标
app应用使用时对电池电量的平均消耗
8.5流畅度
动画播放或图片切换的流畅性
8.6启动速度
app启动速度:从启动app到主页面加载完成的速度。
app启动分类:冷启动、热启动
冷启动:app不在运行,启动app进程
热启动:app已经在运行,将app从后台置于前台。或者:app不同页面的启动,我的页面,购物车页面的启动时间 (很短时间或为0)
九、Android—sdk环境搭建
十、稳定性测试
稳定性:app程序能持久良好的运行。
稳定性测试:在app应用中随意操作,挖掘有可能出现的异常。卡顿、闪退、崩溃、无响应
monkey测试
作用:模拟用户随机(触摸屏幕、滑动、按键)等操作来对程序进行稳定性测试,检测程序异常情况。
需先搭建好sdk环境,测试次数:工作中50w-80w次