移动测试6.7
移动测试:
测试程序的种类:
1、web
2、小程序
3、App
4、服务 ----推荐
移动测试的对象:
1、小程序(微信和支付宝)嵌套到专门到App
2、App
3、以浏览器的模式可以访问
m.taobao.com
兼容性测试:
每个种类需要考虑的测试点
web:
针对的不同的浏览器(主流的浏览器:Firefox,chrome,edge,safari)
app:
1、针对不同的操作系统
IOS,Android
2、不同分辨率的手机
Android系统主流的分辨率:
800x480,960x640,1280720(720p),1920*1080(1080p),25601440(2k)
3、不同厂商的手机
小米 华为.......
4、不同的网络类型
wifi 2G 3G 4G 5G
美团为例
场景: 需要测试美团这个网站 本来应该在手机浏览器 由于没有那么多的手机 需要在pc上模拟
1、进入谷歌浏览器的调试模式
m.meituan.com
然后右键 -----检查
2、进入到Chrome浏览器的调试模式
3、模拟不同的手机型号和不同的分辨率来测试小程序
如果机型没有找到就需要添加
如何添加新的机型
4、测试不同的网络(测试速度)
1、如何查看耗时
5、模拟不同的网络(设置不同的网络查看加载速度)
弱网络:
所有的移动产品都是需要测试的,比如打开抖音,结果视频信息一直处于加载种。这个时候应该提示:请检查你的网络。
没有网络的测试:
弱网络需要测试以下3种情况:
需要将网络连接不上、无网络、企业服务器错误等各种情况予以考虑并进行细化的测试。建议:
• 网络不稳定,没有的到服务器的反馈-->提示“网络不稳定,请稍后再试”。
• 网络没有连接-->提示“网络目前没有连接,请重新连接网络之后再尝试”。
• 企业服务器或者第三方服务因未知原因出错-->提示“目前无法接收相关数据,我们正在调查,请稍后再试”。
功能测试点:
1、权限操作
2、手机的操作习惯
Home 键 返回键 声音的调整
3、数据保留
4、App的安装与卸载
这个针对不同的操作系统,有不同的操作
针对Android:
开发会给测试一个apk的文件,测试使用adb install apk命令来进行安装
针对IOS:
A、首先需要把苹果的测试手机序列号告诉给开发‘
B、在测试手机下载testflight 的App
C、开发会把测试的app发布到testflight,然后我们通过testflight来安装被测试的app
• 不联网的情况下是否能正常运行,会不会崩溃?
• 在线下载数据不完整,能否再次启动?
• 是否支持断点续传?
• 下载完整之后,再次启动。
• 安装成功后,检查版本号以及相关数据。
增量升级
增量升级也叫做差分升级(Smart APP update)。
优点:用户不必再下载一个完整的Apk进行安装。
1、响应
2、内存
3、cpu
4、FPS (app使用的流畅度)
5、GPU过度渲染 (手机加载资源的过程)
6、耗电
1、进入手机「设置 > 关于手机 > 版本信息 > 版本号」连续点击版本号,(输入锁屏密码),即可打开开发者模式。
3、插入USB线
4、在控制台输入adb devices
全球三大操作系统:
windows:
unix:ios,macos ,高端的小型服务器
开发者写好代码打包成apk文件 我们这边安装到手机上 然后开始测试
apk 的安装
1、控制台进入到需要安装程序的目录(这里放在了桌面)
cd Desktop
2、安装app:
第一种: adb install [APK路径]
adb install com.parkingwang.app.apk
第二种:adb install -r [APK路径]
adb install -r com.parkingwang.app.apk
3、手机点击确认安装按钮
apk 的卸载
adb uninstall [应用包名]
获取应用程序包名的3种方式
获取包名的第一种方式:
1、控制台输入命令
adb shell am monitor
2、手机打开需要卸载的应用(app)
获取包名的第二种方式:
1、打开手机应用程序
2、控制台输入命令
adb shell dumpsys window | findstr mCurrentFocus
获取包名的第三种方式:
1、进入到Android系统的shell模式
adb shell
2、输入命令(获取所有的命令)
pm list packages
一个完整的卸载案例
卸载逻辑:
2、使用adb uninstall 包名来进行卸载
常见的错误日志
空指针:nullpointException
数组越界:ArrayIndexoutof boundsException
多次启动线程:illegalThreadstateException
数字格式化问题 :java.lang.NumberFormatException
内存溢出:java.lang.OutOfMemoryError(超过设定的最大内存数)
发现不了这个文件:java.io.FileNotFoundException
初始化的错误:java.long.InstantiationException
发现不了这个类:java.lang.ClassNotFoundException
错误搜索优先级:
Crash(严重的) > AndroidRuntime(严重崩溃的一种) > Exception>Error 的顺序逐个搜索
adb shell:进入 Android 系统的 shell 模式
进入shell模式后可以用以下3个命令测试下 (由于Android是在Linux基础上进行二次开发的所以它的测试命令也就是Liunx命令)
date:查看当前时间
ls:查看当前目录下的所有文件
adb shell wm size # 查看屏幕分辨率
adb shell service list # 显示当前运行的系统服务
adb shell dumpsys activity top # 显示当前最前端的 Activity
adb shell cat /proc/cpuinfo # 显示设备的CPU信息
adb shell cat /proc/meminfo # 显示设备的内存使用情况
adb shell ps | findstr parkingwang
获取停车王的详细记录 重点查看下pid
adb shell dumpsys meminfo 19562
获取内存信息
adb shell top -n 1 | findstr 19562
获取cpu消耗信息
获取cpu消耗信息
adb shell dumpsys battery
获取电量信息
获取pid
adb shell ps | findstr com.parkingwang.app
获取流量信息
adb shell cat /proc/19562/net/dev
adb logcat(查看(监听)日志)查看所有的日志
2个过滤的方法
2、adb logcat | findstr "com.sina.weibo"
只过滤查看某个具体package的错误信息
重定向定义:
把错误的日志写到一个记事本里面,然后在记事本里面通过关键字的搜索来查询错误信息。把错误日志信息写到其他的文件,这个过程就叫重定向
重定向(查找错误日志)的操作步骤:
衍生的面试题:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!