ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

移动测试

2022-06-07 19:00:29  阅读:246  来源: 互联网

标签:shell app 获取 adb 测试 手机 移动


一、测试的程序

1、WEB

2、小程序

3、APP

4、服务

 

移动测试对象:

1、小程序(微信和支付宝)嵌套到专门到App

2、App

3、以浏览器的模式可以访问

4、不同网络的类型(2G 3G 4G 5G WIFI)

兼容性测试:

WEB:Firefox,chrome,edge、safari APP:IOS、Android

APP: 1、不同版本的操作系统

2、不同分辨率的手机

android 800x480, 960x640,1280720(720p),1920*1080(1080p),25601440(2k)

3、不同厂商的手机

 

怎么在PC端实现手机端测试

进入到chrome浏览器的调试模式:

 

 

 

 

 

 

 

 怎么查看加载的耗时

 

 模拟测试不同网络

 

 

弱网络:

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

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

建议:

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

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

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

 

 

 二、功能测试点

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版本来修复该issus

你测试的版本发布后,一般会发布几个hotfix的版本 答案:0个 大于0个都有问题

应用安装之后,还要重点查看以下几点: • 不联网的情况下是否能正常运行,会不会崩溃? • 在线下载数据不完整,能否再次启动? • 是否支持断点续传? • 下载完整之后,再次启动。 • 安装成功后,检查版本号以及相关数据。

4.6.1 增量升级 增量升级也叫做差分升级(Smart APP update)。 优点:用户不必再下载一个完整的Apk进行安装。 缺点:不需对发布的所有旧版本和最新版本做差分,很麻烦;如果一部分系统没有拿到内置应用的权限,那么就没有办法进行增量升级。

稳定性测试: app:就是常时间的针对APP进行各种操作和交互的操作,来验证APP是否闪退,崩溃的情况 服务:常时间对服务发送大量的请求,来验证服务是否可以返回客户端想要的数据

 三、移动端安卓环境变量 1、解压下载的安装包到D盘中

 

 

2、右键点击开始窗口编辑环境变量

3、输入变量名ANDROID_HOME,变量值为之前安装的路径 E:\testDev\android-sdk-windows

 

 

 

 4、在系统变量中的Path中添加%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools,也可以分开添加

 

 5、验证是否添加成功,可以输入android -h,出现以下内容表示安装成功

 

 

性能测试

普遍的apk性能测试,主要是以下七类 1、响应 2、内存 3、cpu 4、FPS (app使用的流畅度) 5、GPU过度渲染 6、耗电 7、耗流

adb,即 Android Debug Bridge,它是 Android 开发/测试人员的强大工具。它是一种可以用来操作手机设备或模拟器的命令行工具。

 四、实操通过USB连接到手机设备 开发者权限打开 • 打开设置 • 搜索关于手机 • 在关于手机中点击7次 • 系统管理里面看到开发者选项 • 开启开发者选项和USB调试

1、打开手机开发者权限,每个手机不一样可以去百度查找自己手机怎样开启开发者权限,vivo手机可以输入“*#*#7777#*#*”进入到开发者权限

2、打开手机中的开发者选项,和USB调试

 

 3、打开cmd输入Android -h 和 adb 查看是否下载安装成功

 

 

 

 4、输入adb devices 可以查看手机设备的代码

 

 

 

五、adb操作命令

进入 Android 系统的 shell 模式

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

 

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

 

 adb shell wm size # 查看屏幕分辨率

 

 adb shell service list # 显示当前运行的系统服务 adb shell dumpsys activity top # 显示当前最前端的 Activity

 

 在工作中开发写好一个apk交给我们测试我们该如何测试

1、开发写好代码给我们一个apk的文件,我们下载下来

 

2、进入到下载的目录路径

 

 3、输入adb install -r [APK路径]:

 

 4、现在在手机是进行继续安装

 

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

adb uninstall [应用包名]

那么程序的应用包名怎么获取? 1、在控制台输入:adb shell am monitor,然后打开app,就会获取程序的应用包名 2、adb shell dumpsys window | findstr mCurrentFocus 3、进入到:adb shell ,输入命令:pm list packages

那么程序的应用包名怎么获取? 1、输入adb shell am monitor

2、然后在手机上你点击那个软件 cmd上就实时显示你的软件

 

 

 

 

卸载逻辑:
1、先使用adb shell am monitor等命令获取被卸载的程序包名
2、使用adb uninstall 包名来进行卸载

 

卸载app操作流程

1、先获取到应用包名在控制台输入:adb shell am monitor,然后打开app,就会获取程序的应用包名

2、然后退出 在输入adb uninstall 包名 回车就删除了

 

 

客户端常见的错误:

空指针:nullpointException
数组越界:ArrayIndexoutof boundsException
多次启动线程:illegalThreadstateException
数字格式化问题 :java.lang.NumberFormatException
内存溢出:java.lang.OutOfMemoryError
Crash > AndroidRuntime > Exception>Error 的顺序逐个搜索。

发现不了这个文件:java.io.FileNotFoundException

发现不了这个类:java.lang.ClassNotFoundException: Didn't find class

场景描述:
假设你被测试的app闪退了,此时你会怎么办?
1、再次执行之前出问题的操作步骤
2、执行操作步骤的时候,监听日志信息,这样下次闪退的时候,我们就能够获取到闪退的错误日志
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、打开我们创建的记事本就能看到日志了

 

 

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

 

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

 

 

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

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

启动monkey adb shell monkey

 

 

使用monkey的目的是测试app的稳定性,验证是否存在ANR和CRASH的错误,使用Monkey可以操作很多很多的交互式的操作,比如旋转...

在手机以及电脑上,任何运行的一个程序

查询monkey的pid

adb shell ps | findstr monkey

 

 

adb shell kill 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

获取电量信息 adb shell dumpsys battery

 

 

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

获取流量信息 adb shell cat/proc/uid-stat/<uid>/tcp_rcv 怎么获取uid: adb shell ps | findst <被测试程序包名>--》获取进程ID adb shell cat /proc/&pid/status

标签:shell,app,获取,adb,测试,手机,移动
来源: https://www.cnblogs.com/a894413672/p/16352975.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有