移动APP测试
移动测试对象
小程序:如微信 支付宝 嵌套到专门App
Web:以浏览器模式访问
APP
兼容性测试对象
WEB:Firefox,chrome,edge,safari APP:IOS,Android
(面试:APP与WEB的区别)例如:APP测试手机
答:1、不同版本的操作系统 2、不同分辨率的手机 3、不同厂商的手机 4、不同的网络类型(2-5g,WiFi)
android 手机分辨率:800x480,960x640,1280720(720p),1920*1080(1080p),25601440(2k)
例如:访问浏览器美团网站切换到手机模式来伪造不同的手机型号 测试手机的分辨率

(面试) 没有那么多的手机 你怎么做
在分辨率edit里添加不同手机型号进行兼容性测试

测试模拟不同的网络

弱网络
所有的移动产品都是需要测试的,比如打开抖音,结果视频信息一致处于加载中。这个时候应该提示:请检查你的网络。
弱网络提示的三种情况
需要将网络连接不上、无网络、企业服务器错误等各种情况予以考虑并进行细化的测试。建议:
• 网络不稳定,没有的到服务器的反馈-->提示“网络不稳定,请稍后再试”。
• 网络没有连接-->提示“网络目前没有连接,请重新连接网络之后再尝试”。
• 企业服务器或者第三方服务因未知原因出错-->提示“目前无法接收相关数据,我们正在调查,请稍后再试”。
功能测试点
1、权限测试(比如地址等权限)
2、手机操作习惯 Home键、返回键,声音调整
3、数据保留
4、APP安装与卸载 热修复
android
开发给测试一个apk文件,测试使用adb install apk命令来进行安装 ios
A、把测试该苹果手机的序列号告诉开发
B、在测试手机下载testflight的App
C、开发把测试的app发布到testflight,测试通过testflight来安装被测试的app
(面试)issue生产环境出现问题需要提单,开发说提交一个issue
针对该issue需立刻解决,紧急发布叫hotfix版本来修复该issue
(面试)测试版本发布后一般会发布几个hotfix的版本?
答:0个,原因大于0个都有问题
应用安装之后,还要重点查看以下几点
• 不联网的情况下是否能正常运行,会不会崩溃?
• 在线下载数据不完整,能否再次启动?
• 是否支持断点续传?
• 下载完整之后,再次启动。
• 安装成功后,检查版本号以及相关数据。
增量升级
增量升级也叫做差分升级(Smart APP update)。
优点:用户不必再下载一个完整的Apk进行安装。
缺点:不需对发布的所有旧版本和最新版本做差分,很麻烦;若一部分系统没有拿到内置应用的权限,就没法进行增量升级。
稳定性测试
app:长时间针对APP进行各种及交互操作,来验证APP是否闪退,崩溃的情况
服务:长时间对服务发送大量的请求,来验证服务是否可以返回客户端想要的数据
搭建node-v环境变量
1.下载node-v14.17.3-x64到桌面
2.在C盘进入文件夹program再进入nodejs
3.复制C:\Program Files\nodejs到path里
4.cdm输入 node-v 验证环境是否搭建好


搭建android的SDK环境变量
1.新建环境变量并输入如下
ANDROID_HOME

2.在path环境变量里新建
%ANDROID_HOME%\tools

3.重新打开控制台输入,android环境设置成功
android -h

adb 模拟器

adb: Android Debug Bridge, Android 测开人员的强大工具。用来操作手机设备或模拟器的命令行工具。
1.打开手机Android开发者权限
步骤:打开设置搜索关于手机,在关于手机中点击7次,系统管理里面看到并开启开发者选项及USB调试
3.控制台输入adb devices,连接成功

adb命令
adb shell:进入 Android 系统的 shell 模式

APK安装软件
安装两种方式: adb install [APK路径] adb install -r [APK路径]
android安装
比如:使用APK安装软件安装停车王
adb install com.parkingwang.app.apk
adb install -r com.parkingwang.app.apk

程序的应用包名怎么获取?
两种方法 如:获取新浪微博
adb uninstall [应用包名]
1、控制台安装新浪微博
adb install com.sina.weibo_12.5.3_5613.apk
2、控制台输入adb shell am monitor ,然后打开APP就会获取程序的应用包名

1、控制台安装新浪微博
adb install com.sina.weibo_12.5.3_5613.apk
2、打开应用程序后控制台输入
adb shell dumpsys window | findstr mCurrentFocus

方法三:
查看所有包名

APK卸载软件
adb uninstall 包名 卸载逻辑
1、使用adb shell am monitor等命令获取被卸载的程序包名
2、使用adb uninstall 包名来进行卸载
比如:卸载新浪微博和停车王
adb uninstall com.sina.weibo

错误提示
空指针:nullpointException
数组越界:ArrayIndexoutof boundsException
多次启动线程:illegalThreadstateException
数字格式化问题 :java.lang.NumberFormatException
内存溢出:java.lang.OutOfMemoryError Crash > AndroidRuntime > Exception>Error 的顺序逐个搜索
ANR(Application Not Response)指在Android上,应用程序响应不够灵敏时系统会向用户显示的一个对话框。
查询手机屏幕分辨率
adb shell wm size #

显示当前运行的系统服务
adb shell service list #
查看显示当前最前端的 Activity
adb shell dumpsys activity top #
比如查看新浪微博运行的系统服务和当前最新的activity
1.下载新浪微博 adb install com.sina.weibo_12.5.3_5613.apk
3.查看显示当前最前端的 Activity adb shell dumpsys activity top #

(面试)场景描述
假设你被测试的app闪退了,此时你会怎么办?
怎么获取闪退&崩溃&卡死的错误日志?
adb logcat
只过滤查看某个具体package的错误信息 (两种方法)
比如查看新浪微博的错误信息
adb logcat | findstr "weibo"
adb logcat | findstr "com.sina.weibo"

把错误日志写到记事本里并通过搜索关键字查询错误信息(把日志信息写到其他文件,过程叫重定向)步骤:
1、在XX的目录下创建log.txt的记事本
2、adb logcat > log.txt,然后按下回车键
3、启动app,进行操作
比如 在桌面创建log.txt,手机启动微博程序并打开记事本会出现如下
记事本搜索Exception
1.java.io.FileNotFoundException发现不了文件
2.java.lang.ClassNotFoundException: Didn't find class发现不了lang

Monkey应用
启动monkey adb shell monkey

查询monkey的pid
在手机及电脑上任何运行的一个程序都是一个进程,每个进程都有独立的pid
查询所有进程:adb shell ps 查询具体的进程:adb shell ps | grep monkey
获取内存信息 adb shell dumpsys meminfo 进程ID 获取cpu消耗信息 adb shell top -n 1 | findstr 进程ID
比如查看停车王的内存信息
1.先查看停车王的进程id
2.获取内存信息


2.获取pid
3.获取uid


浙公网安备 33010602011771号