概念
基于移动互联网软件硬件环境的应用软件。
APP中找出bug,通过各种手机和工具,判断app系统是否满足预期标准。
移动app,由于增加了终端,外设和网络等多项元素,而测试内容和项目也增加了。
app类型
native app 原生应用,sdk开发兼容性差
web app,h5基于移动浏览器webkit开发,开发快,兼容好,性能低
hybrid app,混合应用,结合上面两种方式将web应用的内嵌浏览器组件插入到标准app中,具备直接调用底层接口能力
运行效率,兼容性都高于前两种
测试范围
功能测试
等价类边界值、场景法、流程图,根据需求找到测试点编写测试用例
适配测试
兼容性测试
不同软件环境下是否正常运行
-
不同品牌机型
-
不同操作系统
-
不同尺寸
-
不同分辨率
-
不同网络:2G、3G、4G、5G、wifi、
弱网测试, 通常单独拿出来测试,网络延迟高,fiddller工具可实现
1、Fiddler→Performance→勾选Simulate Modem Speed
2、Fiddler→rule->Customize Rules
chrome浏览器自带功能,network里 -
不同软件
-
数据来源:腾讯移动分析、百度研究院(埋点技术)
购买大量机型
云测试testin
适配测试
不同硬件环境是否正常运行
- 不同平台:MTK、高通、展讯
- 不同组件:屏幕、接口、听筒
- 不同外设
- 不同可选项:内存、cpu等
性能测试
效率测试
- 启动时间
- 响应时间
- 界面流畅度
极限测试
- 在各种压力满载的情况下如电池、存储空间、网速等验证app功能是否正常正确响应
- 内存满时装app
- 运行时断电
- 运行时断网
压力测试
- 反复、长期操作下系统是否占用异常
- 反复安装卸载
- 其他功能反复使用
指标
- 内存
- cpu
- 流量
- 电量
- 启动速度
- 响应速度
- 界面切换速度(界面流畅度)
关注点
-
app启动时间是否过长
-
app对cpu、内存占用情况
-
app使用时电量流量消耗情况
-
反复长期的操作情况下,系统资源使用情况
稳定性测试
https://www.cnblogs.com/yindada/p/9845032.html
在一定的负载情况下长时间运行后的应用表现
-
指标
异常的次数 (同类型软件的数据、前一次测试结果的数据)
异常的频率 -
实施 monkey
monkey是向系统发送随机的用户事件流(按键输入、触摸屏输入、手势输入等),
实现对正在开发的应用程序进行稳定性测试,可以更好地模拟用户操作,确保app的稳定性。 -
monkey运行原理
命令:adb shell monkey–monkey.shell–monkey.jar–安卓进程号–设备上执行
pc端使用了adb shell monkey命令 断开了 monkey依然继续执行
电脑关机、运行时奔溃monkey停止工作
专项测试
安装卸载升级测试
一、安装测试
类型:apk、ipa
安装测试点
- 正常安装是否成功
- 覆盖测试
- 回退测试
- 不同手机型号、系统、屏幕大小、分辨率上进行安装
- 安装成功后是否正常启动app
- 安装成功后重启手机是否正常启动app
异常情况
- 安装时内存不足
- 安装过程中意外情况(断电、断网、来电话、查看信息)等
- 是否能取消安装
二、卸载测试
卸载关注点
- 用自己的卸载程序是否,检查是否卸载干净
- 第三方工具卸载,是否卸载干净
- 不同系统、硬件环境、网络环境下卸载
- 卸载后再次安装,是否正常使用
异常情况
- 卸载过程中(关注、内存、没电) 程序是否还能运行
- 卸载后是否残留,能否再次安装
- 是否可以取消卸载,软件恢复使用
三、升级测试
关注点
- 更新版本时提醒用户
- 是否考虑强制卸载
软件存在严重缺陷(如软件安全漏洞必须强制升级)
软件不能向前兼容 (软件只支持android8.0以上版本,系统是5.0则系统必须升级到8.0才能使用软件) - 是否支持跨版本升级
从5.0直接到7.0 ,跳过6.0 有的软件不支持
断点续传
下载到一半断网了,下次下载时在发生异常的点继续开始下载
电量电流测试 or 耗电测试
- 正向耗电测试(直接测试耗电量)
- 逆向耗电测试(系统资源占用情况分析)
- 后台耗电情况
交叉事件测试
又叫冲突测试、干扰测试。app在使用中时,另一个事件或操作对该过程造成干扰。
测试关注点
- 拨打/接听电话
- 接收/发送短信
- 耳机插拔
- 网络切换(wifi到4g)
- 弹出微信对话框
- 后台应用切换
- 权限弹出对话框
push推送消息测试
push即为消息推送测试,主要目的是为了唤醒或提醒用户。
推送对象
- 全部推送
- 部分推送
- 精确推送
消息形式
- 弹窗
- 消息通知栏
测试关注点
- push消息应该按设定规则发送特定用户
- app在后台运行时,能正常接收到push消息
- 设备锁屏时能正常接收push消息
- 设备网络断开了再一次连接时能收到push消息
- 系统设置不接收通知消息,用户不接收push消息
推送原理
- ios:苹果公司APNs服务器负责推送,第一次使用服务器会记录设备id,只有数据会先推送到APNs服务器,再推送你用户
- android:三方推送服务提供商,百度云推送,信鸽,极光推送
流量测试
流程占用
后台流量
权限测试
摄像头
蓝牙
相册
联系人
内存泄漏测试
- 内存溢出 out of memory
是指程序在申请内存时,没有足够到内存提供使用
- 内存泄漏 memory leak
程序在申请内存时,无法释放已申请内存,一次内存泄漏可以忽略,但是多次内存泄漏堆积后果将非常严重
将最终把所有内存耗光
memory leak 最终导致out of memory
其他测试
用户体验
- 界面美观性
- 保持登录(账户绑定手机app)
- 页面层级关系4层
网络专项
蓝牙专项
SIM卡专项
T卡专项
安全性测试
- 应用程序安全
数据和业务的访问 - 系统级别安全
系统的登录或远程访问
app发布
开发环境 --》测试环境 --》生产环境
app内测分发平台
1.开发打包上传到内测分发平台
2.内测分发平台生成唯一二维码
3.测试扫描二维码安装下载
内测分发平台
- 蒲公英
- fir.im
线上发布平台
android
- 应用商城
- 豌豆荚
- 360手机助手、应用宝
iso - app store
有着一定审核过程、审核周期
敏捷开发模式
scrum 框架
Fiddler手机抓包
使用fiddler弱网测试,自己百度
Appium实施APP自动化
adb命令
https://www.wanandroid.com/blog/show/2310
查看连接设备
adb devices
查看设备信息
adb -s 设备名称 shell getprop
指定appiumServer端口 TCP协议
adb -p 端口号
指定appium和手机连接socket端口
``adb -p 端口号 -bp 端口号`
逍遥模拟器连接 这种方式是wifi
adb connect 127.0.0.1:21503
查看包名appPackge 查看appActivity
aapt dump badging 目录
运行原理
一个AppiumServer控制一个手机,多要进行多个手机同时进行测试则需要启动多个AppiumServer,便需要用到多线程技术