移动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里添加不同手机型号进行兼容性测试

查看加载响应时间/耗时

 测试模拟不同的网络

 弱网络

弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)

所有的移动产品都是需要测试的,比如打开抖音,结果视频信息一致处于加载中。这个时候应该提示:请检查你的网络。

弱网络提示的三种情况

需要将网络连接不上、无网络、企业服务器错误等各种情况予以考虑并进行细化的测试。建议:

网络不稳定,没有的到服务器的反馈-->提示“网络不稳定,请稍后再试”。

网络没有连接-->提示“网络目前没有连接,请重新连接网络之后再尝试”。

企业服务器或者第三方服务因未知原因出错-->提示“目前无法接收相关数据,我们正在调查,请稍后再试”。

功能测试点

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

C:\Users\EDY\Desktop\android-sdk-windows(解压文件的路径)

 

 2.在path环境变量里新建

%ANDROID_HOME%\tools

%ANDROID_HOME%\platform-tools

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

android -h

 adb 模拟器

 adb: Android Debug Bridge, Android 测开人员的强大工具。用来操作手机设备或模拟器的命令行工具。

通过USB连接到手机设备

1.打开手机Android开发者权限

步骤:打开设置搜索关于手机,在关于手机中点击7次,系统管理里面看到并开启开发者选项及USB调试

3.控制台输入adb devices,连接成功

 adb命令

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

date:查看当前时间 ls:查看当前目录下的所有文件 ls -h :查看当前目录下的所有文件的大小

 APK安装软件

安装两种方式: adb install [APK路径] adb install -r [APK路径]

android安装

开发给测试一个apk文件,测试使用adb install apk命令来进行安装

ios安装

A、把测试该苹果手机的序列号告诉开发

B、在测试手机下载testflight的App

C、开发把测试的app发布到testflight,测试通过testflight来安装

比如:使用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

 方法三:

查看所有包名

进入到:adb shell ,输入命令:pm list packages

 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 的顺序逐个搜索

crash崩溃:ANR是crash的一种。在程序中可能会出现你未捕获到的异常,这就造成了崩溃。

在app中,测试app的ANR和CRASH,使用的是monkey,来测试它的稳定性。

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

2.显示当前运行的系统服务 adb shell service list #

3.查看显示当前最前端的 Activity adb shell dumpsys activity top #

 (面试)场景描述

假设你被测试的app闪退了,此时你会怎么办?

1、再次执行之前出问题的操作步骤

2、执行操作步骤的时候监听日志信息adb logcat,这样下次闪退的时候,我们就能够获取到闪退的错误日志

3、把获取到的错误日志反馈给开发

怎么获取闪退&崩溃&卡死的错误日志?

adb logcat

只过滤查看某个具体package的错误信息 (两种方法)

比如查看新浪微博的错误信息

adb logcat | findstr "weibo"

adb logcat | findstr "com.sina.weibo"

 把错误日志写到记事本里并通过搜索关键字查询错误信息(把日志信息写到其他文件,过程叫重定向)步骤:

1、在XX的目录下创建log.txt的记事本

2、adb logcat > log.txt,然后按下回车键

3、启动app,进行操作

4、操作完成,打开log.txt,里面会有很多的日志信息

比如 在桌面创建log.txt,手机启动微博程序并打开记事本会出现如下

记事本搜索Exception

1.java.io.FileNotFoundException发现不了文件

2.java.lang.ClassNotFoundException: Didn't find class发现不了lang

 显示设备的CPU信息 adb shell cat /proc/cpuinfo #

显示设备的内存使用情况 adb shell cat /proc/meminfo #

 

 Monkey应用

目的是测试app的稳定性,验证是否存在ANR和CRASH的错误,也可以实现很多交互式的操作,比如旋转。。。。

启动monkey adb shell monkey

查询monkey的pid

在手机及电脑上任何运行的一个程序都是一个进程,每个进程都有独立的pid

查询所有进程:adb shell ps 查询具体的进程:adb shell ps | grep monkey 杀掉进程:adb shell kill pid

获取内存信息 adb shell dumpsys meminfo 进程ID 获取cpu消耗信息 adb shell top -n 1 | findstr 进程ID

比如查看停车王的内存信息

1.先查看停车王的进程id

2.获取内存信息

 获取电量信息 adb shell dumpsys battery

 获取GPU信息 adb shell dumpsys gfxinfo 进程ID

获取流量信息 adb shell cat/proc/uid-stat/<uid>/tcp_rcv

怎么获取uid:

1.获取进程ID adb shell ps | grep <被测试程序包名>

2.获取pid

3.获取uid

 

 

 

posted @ 2022-06-07 18:13  Yvonne_26J  阅读(147)  评论(0)    收藏  举报