Application的缩写,APP指智能手机的应用程序,如微信、支付宝等
APP测试分类
业务功能测试
APP专项测试
兼容性测试
安装、卸载、升级测试
交叉事件测试
Push消息推送测试
性能测试
其他测试
用户体验
极限、边界
权限
业务功能测试
概念
按照用户的需求(需求说明书、原型等)去检验开发的代码实现是否满足用户的功能性需求。
测试对象
功能点(单独模块)==》单元测试
多模块==》集成测试
业务流程==》系统测试、验收测试、冒烟测试
测试方法
测试理论阶段与测试用例设计方法等即适用于WEB产品,也适用于APP产品。
理论阶段设计测试用例8大方法:
等价类
边界值
因果图
判定表
场景法
流程图
正交法
错误推测法
项目阶段适用的测试用例设计方法:
等价类与边界值组合
需求==》测试点==》测试用例(一个测试点就是一条测试用例)
基于场景与业务流程设计测试用例
概念
APP产品在不同的软件环境与硬件环境上都有很好的可移植性(都能正常工作)。
测试关注点
手机型号
参考在线统计数据:
腾讯移动分析:https://mta.qq.com/mta/data/device
百度研究院:https://mtj.baidu.com/data/mobile/device/
操作系统
Android
4.X
5.X
6.X
7.X
8.X
9.X
iOS
11.X
12.X
屏幕分辨率、尺寸
屏幕分辨率
1080x1920
720x1280
IOS
2208*1242
1334*750
尺寸
4.7
5.5
参考网站:http://www.woshipm.com/screen/
网络环境
wifi
2G
3G
4G
5G
测试机的选取原则
一定要在一定数量的真机上进行测试
借助testin等云测平台(https://www.testin.cn/business/landing/machine.htm)
模拟器
Genymotion(http://www.genymotion.net/)
Xcode
信息的获取渠道(扩展)
第三方在线统计排名(腾讯移动分析、百度研究院等)
官方数据(android、ios的官网)
埋点技术(技术手段)
概念
交叉测试又叫冲突测试或者干扰测试。
是指一个功能正在执行过程中,另外一个事件或操作对该过程进行干扰的测试。
测试的关注点
拨打/接听电话
接收/发送短信息
插拔耳机
网络切换
系统自带应用(摄像头、计算器等)
安装类型
Andriod:.apk
ios: .ipa
安装渠道
Andriod
应用商城(小米、华为、vivo等)
豌豆荚
应用宝、360手机助手等
ios
APP Store
安装测试测试关注点
正常情况
正常安装测试,检查是否安装成功
APP版本覆盖测试
回退版本测试
在不同型号、操作系统、屏幕大小、分辨率上的手机进行安装
安装完成后,能否正常启动应用程序
安装完成后,重启手机能否正常启动应用程序
异常情况
安装时内存不足
安装过程中的意外情况(强行断电、断网、来电话了、查看信息)等等
能否取消安装
卸载测试关注点
正常情况
用自己的卸载程序进行卸载,检查是否卸载干净
用第三方工具,检查是否卸载干净
不同系统、硬件环境、网络环境下进行卸载
卸载后再次安装,是否正常使用
异常情况
卸载中出现异常情况能否恢复(比如手机关机,内存、没电等),程序是否还能运行
卸载后是否有残留,是否能够再次进行安装
是否可以取消卸载 软件恢复使用
更新版本需要提示用户
考虑是否进行强制升级
软件存在严重缺陷
软件不能够向前兼容
是否能够跨版本升级
V5.0 ==》 V6.0 ==》 V7.0
断点续传
程序下载中间断开(断网,关机),恢复后,能够接着原来的内容继续下载。
概念
push即为消息推送测试,主要目的就是为了唤醒或提醒用户
对象
全部推送
部分推送
精确推送
消息形式
弹窗
消息通知栏
测试关注点
Push消息应该按设定规则发送特定用户
APP在后台运行时,应能正常收到其Push消息
设备锁屏状态下,应能正常收到APP的Push消息
设备网络断开后再一次建立连接时,应能收到Push消息
系统设置不接收该APP通知消息时,用户应该不再收到Push消息
性能测试指标
内存
CPU
流量
电量
启动速度
界面切换速度
测试的关注点
APP的启动时间是否过长;
APP使用时对CPU、内存的占用情况;
APP使用时,电量流量的消耗情况;
反复长期的操作情况下,系统资源的使用情况。
面试题(扩展)
内存溢出与内存泄漏
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;
内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光;
二者的关系:memory leak会最终会导致out of memory!
冷启动与热启动
指app被后台杀死后,在这个状态打开app,这种启动方式叫做冷启动;
热启动:指app没有被后台杀死,仍然在后台运行,通常我们再次去打开这个app,这种启动方式叫热启动。
用户体验
测试关注点
界面的美观性
保持登录(APP)
页面层级关系在4层左右
边界(极限测试)
测试关注点
电量不足(<5%)
内存不足
权限测试
测试关注点
摄像头权限
相册权限
位置权限
通讯录权限
APP的兼容性测试尤为重要:由于手机厂商生产的手机型号及相关软硬件存在千千万万的差异性,进而APP端需要着重考虑分辨率、系统版本、尺寸、主流机型等等;
APP性能测试指标不一样:除了需要和web一样考虑APP客户端的性能外,我们还需要考虑电量、流量的消耗、GPU渲染等;
APP网络测试场景的复杂性:如2G、3G、4G、5G、wifi、弱网环境等
APP基于手机载体存在的交叉事件测试、前后台切换、安装/卸载/升级测试
APP基于手机载体特有的一些用户操作习惯类测试,如横竖屏切换、多点触控、事件触发区域等
APP的项目环境
开发环境==》开发工程师
测试环境==》测试工程师
生产/线上环境==》运维工程师
APP项目环境与项目流程的对照关系
开发(开发环境)》测试(测试环境)》上线(生产/线上环境)
内测分发平台
工作流程
开发将打好的程序包上传到内测分发平台上
内测分发平台基于上传的安装包生成唯一的二维码
测试扫描此二维码即可进行下载、安装并测试
常见的内测分发平台
蒲公英(https://www.pgyer.com/)
fir.im(https://fir.im/)
线上发布平台
Andriod
应用商店(华为、小米)
豌豆荚
360手机助手等
ios
APP Store
注意:需要一定的审核过程、审核周期。
前置基础
瀑布模型
快速原型
互联网的特点
追求创新
需求的高度不确定性
移动互联网的解决方案
快速的反馈机制
快速试错
思考:瀑布模型能解决移动互联网的痛点吗?
Scrum
角色
产品负责人(PO):主要是负责整理需求,需求的呈现形式为用户故事
Scrum Master(SM):负责带领团队完成相关任务
开发团队(Dev Team)
开发
测试
UI/UE
输出物
产品待办列表(用户故事)
迭代待办列表
产品增量(可工作的软件)
5个活动
迭代(冲刺)sprint
迭代计划:确定迭代待办列表内容
每日站会
评审会
回顾会
敏捷测试流程(一次迭代)
需求分析与评审
编写测试计划(测试方案)
设计测试用例与评审
执行测试用例与缺陷跟踪
编写测试报告
作者:一醉南柯
原文链接:https://blog.csdn.net/dpl12/article/details/104426556#comments_14970879