导图社区 手机app测试总结思维导图
手机测试总结思维导图,包含分类、APP与PC端区别、Android与iOS、App分类、App端的专项测试等。
编辑于2023-11-03 10:53:19手机测试
分类
硬件测试
整机测试
抗摔性测试
高温低温测试
高湿度测试
百格测试
翻盖测试
扭矩测试
静电测试
按钮测试
沙尘测试
软件测试
系统测试
定制化系统,特指Android
华为EMUI
小米MIUI
OPPO Color OS
VIVO Funtouch OS
魅族Flyme
一加氢OS
APP测试
功能测试
界面
功能
易用性
国际化
配置
安全性
......
性能测试
负载
压力
容量
并发
可靠性
......
APP和PC端区别
屏幕大小不同(屏幕适配)
PC
屏幕较为统一且屏幕不可切换,对应用的影响不大
移动端
屏幕尺寸繁多且可以切换,对应用的影响很大
系统资源限制(内存、电量、CPU、信号、网络)
PC
基本不受系统资源的限制
移动端
资源有限,受多方面制约
操作方式不同(触摸式、重力感应等)
PC
通常传统的键盘鼠标式操作
移动端
触摸式及各种感应器来操作
多点触摸
应用的复杂度和关注点不同
PC
可以有很复杂的应用,关注应用的完整性
移动端
通常是很小的应用,注重应用的移动便捷性
操作系统不同
PC
Linux、Windows......
移动端
Android、iOS
应用类型
PC
Client和Web
移动端
native app、web app和混合app
界面布局
PC
操作界面和流程复杂
移动端
操作界面少,流程简单
功能
PC
支持全部功能
移动端
强调主要功能和用户常用功能
设备网络连接方式
PC
有线和WIFI
移动端
主要是2G/3G/4G/WIFI等
应用设备限制
PC
存储空间相对比较大,带宽也较宽,连接一般比较稳定,各种安全软件齐全
移动端
存储空间小,连接不稳定,带宽小,流量费用限制,移动互联网的风险等
用户使用习惯
PC
用户一般在固定的地点使用PC应用
移动端
移动用户随时随地会使用软件应用,便携
Android与iOS
Android
版本与发行时间
Android 7.0
2016.8.22
Android 8.0
2017.8.22
Android 9.0
2018.5.9
Android 10.0
2019.9.3
Android 11.0
2020.9.9
系统架构
应用
Application(应用程序层)
应用框架
Application Framework(应用程序框架层)
函数库
Libraries(库)
Linux内核
四大组件
基本框架
Activity活动
Service服务
Broadcastreceiver广播接收器
Content Provider内容提供者
开发语言
Java
Kotlin
iOS
版本与发行时间
iOS 11
2017
iOS 12
2018
iPhone XS/iPhone XS Max
iOS 13
2019
iPhone 11
系统架构
可触摸层
Cocoa Touch layer
媒体层
Media layer
核心服务层
Core Services layer
核心操作系统层
Core OS layer
越狱
获取iOS设备的root权限
优缺点
优点
获取更高的权限
修改和管理系统文件
安装一些未经认证的应用,如一些破解版
更换主题、图标等
便于测试!如openssh、display recorder,一些命令行工具
缺点
系统不稳定
易中毒
有一定的失败概率
升级后失效
无法获取苹果保修
开发语言
Swift
Objective-C
运行机制
Android
Linux为核心
谷歌
应用程序一般采用Java
采用虚拟机
iOS
Objective-C
苹果
沙盒
美观与安全
Android
更多样化
辅助工具更多
安全隐患更多
兼容性需要考虑的更多
iOS
版本迭代
Android
可升、可降
iOS
只能升级(除越狱)
App分类
分类
native app(原生app)
web app
多数采用h5标准开发
hybrid app(混合app)
native app中内置浏览器
如京东的某些营销页面
优缺点分析
native app
优点
提供最佳用户体验,最优质的用户界面,流畅的交互
可以访问本地资源
可以调用移动硬件设备,比如摄像头、麦克风等
缺点
开发成本高。每种移动操作系统都需要独立的开发项目,针对不同平台提供不同体验
发布新版本慢。下载是用户控制的,很多用户不愿意下载更新,需要继续维护旧版本的 API
应用商店发布审核周期长。安卓平台大概1~3天,而iOS平台需要的时间更长
web app
优点
不需要安装包,节约手机空间
整体量级轻,开发成本低
不需要用户进行手动更新,由应用开发者直接在后台更新,推送到用户面前的都是全新版本,更便于业务的开展
基于浏览器,可以跨平台使用
缺点
页面跳转费力,不稳定感更强。在网速收到限制时,很多时候出现卡顿或者卡死现象,交互效果收到限制
安全性相对较低,数据容易泄露或者被劫持
hybrid app(混合app)
优点
在实现更多功能的前提下,使得app安装包不至于过大
在应用内部打开web网页,省去了跳转浏览器的麻烦
主要功能区相对稳定下,增加的功能区采用web形式,使得迭代更加方便
总结
hybrid app更接近native app,但是和web app区别较大。
只是因为同时使用了网页语言编码,所以开发成本和难度比native app要小很多
因此,hybrid app兼具了native app的所有优势,也兼具了web app使用HTML5跨平台开发低成本的优势
启动方式
冷启动
热启动
温启动
App端的专项测试
兼容性测试
屏幕兼容性
屏幕尺寸
像素密度
dpi(每英寸的点数)
分辨率
2560*1440
1920*1080
1280*720
960*640
800*400
异性屏幕
横竖屏
语言、文化
平台版本
Android原生版本
iOS
不同厂家的ROM
网络
WIFI
5G
4G
3G
2G
联通、电信、移动
Top X原则
选主流机型测试
百度设备统计
艾瑞移动设备分析
腾讯移动分析
云测
testin云测
https://www.testin.cn/
百度MTC
http://mtc.baidu.com/
阿里MQC
mqc.aliyun.com
众测
wetest腾讯众测
https://wetest.qq.com/
mtc百度众测
http://mtc.baidu.com/
bugly腾讯
https://bugly.qq.com/v2/
testbird成都中云天下
https://www.testbird.com/
网络测试
分类
无网
弱网
网络切换(注意热点、wifi等)
关注点
超时处理
恢复网络再次请求
多次请求后恢复网络
提交文案
弱网模拟
iOS
开发者选项-->Network Link Conditioner
选择一个profile进行测试,常见的有3G/高延迟/低速率等
Android
qnet
搭建弱网环境简单快捷
支持自动化弱网测试
网络协议抓包
真实的全球网络和弱网场景
衡量网络好坏的标准
带宽(吞吐量)
bps
丢包
时延
抖动
乱序
网络术语
上/下行带宽
kbps---千比特每秒
上行速率不等于下行速率
下行与上行带宽的比率可达到10:1
上/下行丢包率(%)
上/下行延迟(ms)
1-30ms
极快,几乎察觉不出有延迟
31-50ms
良好,没有明显的延迟情况
52-100ms
普通,能感觉出网络有明显延迟
大于100ms
差,有卡顿,丢包并掉线现象
性能测试
流量
电量
内存
根据前后台分
前端性能
web页面
原生app
后台接口性能
根据维度
及时性
响应速度
掐表
打点计时:日志
web的话:抓包工具如HTTPWatch/fiddler等
录屏:如display recorder
流畅度FPS
稳定性
随机测试的稳定性
资源占用
内存
流量
电量
硬件(耗电量测试仪/安捷伦)
GSam Battery Monitor Pro(Android)
工具
Solopi
安全测试
安装包测试
能否反编译
安装包是否签名(Android)
jarsigner
apksigner
md5校验
权限是否合理
敏感信息
数据库信息
如账号的密码是否是明文
日志信息
配置文件
数据通信安全
组件安全
服务端接口安全
SQL注入
XSS跨站脚本攻击
CSRF跨站请求伪造
越权访问
干扰测试
分类
收到电话
短信
其他应用的通知类消息
系统提示(电量低于...)
断电
异常重启
采用前提
先评估下功能本身和干扰的关联性再去测试
处理方式
可暂停的软件(或软件部分)
立即暂停,切回后自动或手动恢复
不可暂停
权限测试
其他
存储
空间
对需要读写、保存文件的应用
存储空间极少
存储空间满的清空
SD卡
多SD卡
模式
飞行模式
省电模式
系统时间
第三方依赖
定位测试
传感器
光线
自动调节背光
距离
重力
横竖屏
加速度
计步
磁场
指南针
陀螺仪
体感
摇一摇
指纹
霍尔
心率
GPS
血氧
紫外线
安装
升级
卸载
adb
基础
Android调试桥接(Android Debug Bridge)
C/S架构的命令行工具
作用
PC可以通过adb来操作手机
主要功能
运行设备shell(命令行)
管理模拟器或设备的端口映射
计算机和设备之间的数据传输
将本地apk文件安装到模拟器或Android设备
本质
客户端--服务器端
客户端
PC端的
服务器
手机端
环境搭建
通用
下载Android studio
配置环境变量
安装驱动
模拟器
夜神
下载夜神模拟器
配置环境变量
将安装目录下的bin目录添加到PATH下
cmd中输入adb version
配置端口
夜神默认端口:62001
命令基础
基本格式
adb [-e|-d|-s <设备序列号>|...] <子命令>
全局选项
-e
使用TCP/IP设备
如果多个设备就报错(一般模拟器)
adb -e shell
连接到模拟器执行shell
-d
只运行在真实设备中
adb -d shell
如果有连接2个-d会找到真机进入
-s
<SERIAL -NUMBER>
指定设备
adb -s emulator -5554 shell
进入指定设备的shell
全局命令
devices [-l]
列出连接设备,-l显示长格式
一般只有3种状态
device表示正常连接
offline
device not found
version
查看adb版本号
help
查看adb帮助
connect命令
adb connect 127.0.0.1:62001
连接到夜神模拟器
Android Studio的模拟器不需要手工连接
执行adb devices就自动连接
命令
安装卸载
adb install 包名.apk(安装包路径所在的绝对路径,带盘符)
adb uninstall 包名
adb -k uninstall 包名
如果希望卸载后保留数据需要加上-k参数
uninstall的包名,可以用adb shell pm list packages来查询
-s
只输出系统的包
-3
只输出第三方的包
-e “xxx”
设置过滤条件,模糊查询
上传下载
adb push 电脑文件路径 手机存储路径
adb pull 手机存储路径 电脑文件路径
屏幕截图
adb shell screencap /sdcard/screen1.png
adb shell screencap /sdcard/pictures/screenshots/screen1.png
adb shell linux
Android目录结构
adb shell然后pwd,ls查看
/system/app
系统应用
/system/bin
系统组件(命令)
ps top ping netstat cp mv pwd touch mkdir rm cd ls
/data/app
用户安装的app
/data/data
用户安装的app的信息
/data/system
手机的各项系统信息
dumpsys
用户系统诊断
运行在设备上,并提供系统服务状态信息
命令的格式
adb shell dumpsys [system service]
adb shell dumpsys -l
-h
对于大多数的服务,可以添加-h看到文本的帮助
dumpsys meminfo -h
-c
对于一些服务,可以添加-c查看数据会更友好
网络相关
connectivity
网络连接
adb shell dumpsys connectivity
netpolicy
网络策略
adb shell dumpsys netpolicy
netstats
网络状态
adb shell dumpsys netstats
network_management
网络管理
adb shell dumpsys network_management