掌握这些移动测试技巧,棘手的问题也能游刃有余解决了

news/2024/4/19 16:49:33/文章来源:https://blog.csdn.net/GDYY3721/article/details/130342181

目录:导读

引言

一、测试的程序

 二、功能测试点

 三、移动端安卓环境变量

性能测试

 四、实操通过USB连接到手机设备

五、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

写在最后

今天的文章就先到这里了,希望大家有所收获吧,如果可以请给个三连支持一下吧!!

努力了不一定有回报,但不努力是一定不会得到回报的。人类的幸福和快乐在于奋斗,而最有价值的是为理想而奋斗。要努力,不放弃,为了自己的理想,为了美好的明天。有梦就去追啊,愣在原地做什么。无论明日,有多落魄,至少今天,没有蹉跎。 生前何必久睡,死后自会长眠。如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我的学习群(321255410),大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_102819.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重塑元宇宙体验!元宇宙实时云渲染解决方案来了

元宇宙作为人工智能、云计算和数字孪生等前沿技术的结合体&#xff0c;近年来越发受到各大企业重视。 元宇宙的应用场景层出不穷&#xff0c;不仅包括营销推广场景&#xff0c;还有品牌活动和电商销售&#xff0c;能有效提升品宣和商业转化效果。 元宇宙也具有极大的建设价值…

10种黑客类型,你知道几种?

黑客一般有 10 种类型 1、白帽黑客 白帽黑客是指通过实施渗透测试&#xff0c;识别网络安全漏洞&#xff0c;为政府及组织工作并获得授权或认证的黑客。他们也确保保护免受恶意网络犯罪。他们在政府提供的规章制度下工作&#xff0c;这就是为什么他们被称为道德黑客或网络安全…

setup,ref,reactive

初识setup 1.理解:Vue3.0中一个新的配置项&#xff0c;值为一个函数。 2.setup是所有Composition API(组合API)“表演的舞台”。 3.组件中所用到的:数据、方法等等&#xff0c;均要配置在setup中。 4.setup函数的两种返回值: 1.若返回一个对象&#xff0c;则对象中的属性、…

软件测试,想找一份20k以上的工作需要掌握哪些知识?

都知道IT行业是高薪人员的聚集地&#xff0c;但想要成为高薪程序员却并不容易。月薪20k是测试工程师的一个门槛&#xff0c;想要突破就必须掌握更多的技能。 因为程序员职业发展很快&#xff0c;即使是相同起点的人&#xff0c;经过几年的工作或学习&#xff0c;会迅速拉开极…

[网络原理] 详解Cookie与Session

做好准备,迎接所有的成功吧 文章目录 1. Cookie的概念2. Session的概念3. Cookie与Session的关联与区别3.1 关联3.2 区别 4. Cookie与Session中的核心方法 1. Cookie的概念 Cookie是用户首次登陆网站成功之后,对应页面的服务器会返回给用户一个身份标识,被保存在用户主机的硬盘…

自动驾驶方案及相关对标

华为&#xff1a; 2021年4月18日&#xff0c;在华为智能汽车解决方案BU新品发布会上&#xff0c;华为智能汽车解决方案BU总裁王军表示&#xff0c;华为要持续加大对汽车行业的投入&#xff0c;今年在研发上的投资将达到10亿美元&#xff0c;未来每年保持30%左右增长&#xff0…

工程化:vite4+vue3里面的less预处理的mixin,when和伪元素的使用研究

本文的起因 项目的重构,之前的语法是scss,新项目选型选的less,两种基本的使用是差不多的,细节方面有很大的差异,今天拎出来重点的细说。。。 区别 *.scss *.less mixin .bg-dp(@number: 0) {

一文讲清莱迪斯 LCMXO2-4000HC-4BG256I 可编程逻辑FPGA 特性及运用领域

一文讲清lattice莱迪斯深力科 LCMXO2-4000HC-4BG256I 可编程逻辑FPGA 特性及运用领域 适用于低成本的复杂系统控制和视频接口设计开发&#xff0c;满足了通信、计算、工业、消费电子和医疗市场所需的系统控制和接口应用。 瞬时启动&#xff0c;迅速实现控制——启动时间小于1m…

AI数字人产品“世优BOTA”发布会落幕,世优科技纪智辉演讲回顾

4月20日&#xff0c;世优科技式发布了新一代AI数字人产品——“世优BOTA”。在会上&#xff0c;世优科技创始人纪智辉介绍了数字人技术、驱动形式、数字人应用、“世优BOTA”的前世今生及未来。 以下是纪智辉的演讲内容概要&#xff1a; 各位嘉宾、各位朋友&#xff1a;大家下…

【 Spring Mybatis 复杂的查询操作 】

文章目录 引言一、参数占位符 #{} 和 ${}二、SQL 注入三、like 模糊查询四、返回类型&#xff1a;resultType 和 resultMap五、多表查询 引言 前面我们已经学会了使用 Mybatis 进行增&#xff0c;删&#xff0c;改操作&#xff0c;也实现了简单的查询操作 &#xff01;下面我们…

mysql主从复制搭建--待实践完善

一、什么是mysql主从复制 参考链接&#xff1a;MySQL主从介绍_rain_yunlx的博客-CSDN博客 Linux下搭建Mysql主从复制详细步骤&#xff08;Mysql版本5.7.35&#xff09;_linuxmysql主从_Direct_的博客-CSDN博客 Linux环境MySQL数据库主从复制保姆级教程_linux主从复制_小学生…

【SWAT水文模型】ArcSWAT输入准备:土地利用/土壤/气象数据

ArcSWAT输入准备&#xff1a;土地利用/土壤/气象数据 1 土地利用数据的处理1.1 数据下载 2 土壤库建立2.1 数据下载 3 气象数据库参考 1 土地利用数据的处理 1.1 数据下载 下载地址如下&#xff1a; 中科院1km土地利用数据 清华大学高精度土地利用数据 2 土壤库建立 SW…

如何将pdf图片文字转换成word 文字word图片怎么转换pdf

如今大家在工作中常常会运用到电脑来办公&#xff0c;电脑的运用大大提高了我们的工作效率&#xff0c;在带来机会的同时同样也带来了新挑战。 pdf图片怎么转换成word文档&#xff1f;PDF格式是一种常用的文档格式&#xff0c;它可以保持文档内容和格式的完整性&#xff0c;但是…

【UE】制作简单的山脉地形

在上一篇博客中&#xff08;【UE】使用Quixel Bridge下载免费贴图&#xff09;&#xff0c;介绍了如何下载免费贴图&#xff0c;本篇博客介绍如何使用这些贴图制作地形贴图。 1. 创建地形 2. 用雕刻工具绘制地形 3. 新建两个材质函数&#xff0c;分别命名为“GrassAuto”、“R…

离散数学期末复习第一章 数理逻辑

离散数学 离散数学是研究各种各样的离散量的结构及离散量之间的关系一门学科&#xff0c;是计算机科学中基础理论的核心课程。 什么是连续变量&#xff1f; 在一定区间内可以任意取值的变量叫连续变量&#xff0c;其数值是连续不断的&#xff0c;相邻两个数值可作无限分割&a…

在线问诊小程序系统方案以及价值

方案价值zlzwgz0127 1.扩大医院流量 a.预约到院 在线展示专家的介绍&#xff0c;更能彰显实力&#xff0c;吸引患者来院就医&#xff0c; 用户可选择在线问诊和预约到院 b.社区团购导流 与我们合作社区团购给医院的体检产品导流 c.专家直播导流 通过专家直播吸引潜在患者…

观察者设计模式(Observer Design Pattern)[论点:概念、组成角色、相关图示、示例代码、框架中的运用、适用场景]

文章目录 概念组成角色相关图示示例代码框架中的运用适用场景 概念 观察者设计模式&#xff08;Observer Design Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种对象间的一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象&#xff0c;当…

机器学习 Rider数据集分析和预测

介绍数据集 ride_id&#xff1a;乘车ID rideable_type&#xff1a;乘车类型 started_at&#xff1a;开始日期 ended_at &#xff1a;结束日期 start_station_name&#xff1a;开始站的名字 start_station_id&#xff1a;开始站的ID end_station_name&#xff1a;结束站的名字 …

内网渗透之横向移动rdpwinrmwinrsspnkerberos

0x00 准备 环境&#xff1a;god.org cs上线 win2008web 提权利用ms14-058 抓取hash和明文密码(当获取到其他主机就重复提权和抓取密码) 扫描存活主机&#xff0c;扫描端口 代理转发-转发上线&#xff0c;生成反向连接木马&#xff0c;绑定监听器&#xff0c;上传至web根目录(方…

中小企业真的需要CRM吗?

如果你的企业没有CRM客户关系管理系统&#xff0c;企业主需要问问自己&#xff0c;他们将利用什么来扩展业务。福布斯进行的研究恰当地表明&#xff0c;充分利用CRM系统的企业可以将销售额提高29%。 中小企业定期产生大量客户&#xff0c;这可能会难以管理。这正是CRM系统在有…