互联网测试必须要知道的App稳定性测试

App稳定性测试

稳定性测试就是指软件长时间的持续运行,系统版本是否稳定,是否能否持续的为用户提供服务。

指标:
  异常的次数
  异常的频率

App的稳定性测试如何实施?

首选Monkey

Monkey是向系统发送随机的用户事件流(如按键输入、触摸屏输入和手势输入等),实现对正在开发的应用程序进行稳定性测试。可以更好的模拟用户操作,确保App的稳定性。

Monkey运行流程:

1、Monkey 程序是由 Android 系统自带,使用 Java 语言写成,其本身是安卓系统下的一个monkey.jar文件。在Android文件系统中的存放路径是:/system/framework/monkey.jar;

2、Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;
3、Monkey 启动方式:在 cmd 命令提示符里面输入命令行来启动 monkey 测试。

4、命令行:adb shell monkey——monkey.shell——monkey.jar——安卓进程——设备上执行测试

Monkey原理图:

一、系统环境准备:

Python3.7
Pycharm社区版
SDK 下载网址:http://www.androiddevtools.cn/
雷神模拟器
58同城apk

二、SDK环境搭建:

1、下载 android-sdk,这个是做 android 测试和开发的必备环境

2、解压后,里面有个 SDK manager.exe 双击打开

3.勾选你要现在的 API 版本和对应的 android 版本,后面模拟器会用到,然后坐等下载

在系统变量新建:ANDROID_HOME,对应变量值:
E:\android-sdk-windows(sdk 安装路径)
4.path 添加两个变量,将以下箭头所指的两个文件路径添加到 path 里

path下添加如下两个路径:

E:\android-sdk-windows\tools 和 E:\android-sdk-windows\platform-tools
adb环境

1.因为 adb 是在 D:\androidsdk\android-sdk-windows\platform-tools

这个目录下的,所以上面添加了环境变量后,可以直接在 cmd 里面运行了。

2.在 cmd 输入 adb 可以查看对应版本号

3、连接雷神模拟器—adb connect 127.0.0.1:5555

首先要打开USB调式选项(默认是没有开启调式模式的)

开启调式模式操作步骤:依次打开设置–关于-连击5次版本号,再返到我设置主页就可以看到开发者选项

雷电模拟器:adb connect 127.0.0.1:5555

使用指令:adb devices

连接信息解释
手机设备:显示设备的序列号,即b2355f8a

模拟器:显示ip地址和端口,即127.0.0.1:62001

device:已识别的设备,连接成功

unauthorized:没有授权,需要手机上授权后才能连接

unkown:未识别的设备

offline:离线设备

主流安卓模拟器连接方式:
夜神模拟器:adb connect 127.0.0.1:62001
逍遥安卓模拟器:adb connect 127.0.0.1:21503
天天模拟器:adb connect 127.0.0.1:6555
海马玩模拟器:adb connect 127.0.0.1:53001
网易MUMU模拟器:adb connect 127.0.0.1:7555 MacOS:adb connect 127.0.0.1:5555
genymotion模拟器:adb connect 127.0.0.1:5555
谷歌原生模拟器:adb connect <设备的IP地址>:5555

Monkey相关命令

Monkey命令-事件数
Monkey支持的所有命令

adb shell monkey

必选的命令:

COUNT:事件数
通过事件数量来测试稳定性,如:

adb shell monkey 次数 即,adb shell monkey 50
注:可能小伙伴发现这速度也忒快了,我看都没看清,这人的速度也没这么快,不合理。哈,那接着,控制每一次操作的间隔时间

Monkey命令-事件间隔
–throttle 在事件之间插入固定延迟。通过这个选项可以控制Monkey发送事件的频率。时间单位是ms(毫秒)1000毫秒=1秒

例1:发送10个事件,持续执行时间1分钟

adb shell monkey --throttle 6000 10,即10个事件,做完一个事件就等待6秒后再执行

备注:扯了半天,小伙伴想知道我要去检测公司的app倒 底要怎么整

指定包:

p 此参数指定了一个包,Monkey将只允许系统启动这些包里的Activity

-p -p 如果用此参数指定了多个包,Monkey将只允许系统启动这些包里的Activity
例3:对58同城进行稳定性测试,执行100次事件
adb shell monkey -p com.wuba 100

获取包名:

adb shell pm list packages

知识点:

有可伙伴可能会问,我压根不知道我学习的app的名包叫啥那怎么找呢?
aapt dump badging D:\test\xxx.apk(APK的全名),如手机淘宝.apk

Monkey命令-日志设置
-v Level 0 除启动提示、测试完成和最终结果之外,提供较少信息

-v-v Level 1 提供较为详细的测试信息,如逐个发送到Activity的事件

-v-v-v Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。

例4:对58同城进行稳定性测试,执行100次事件,分别查看不同日志级别记录的信息情况

adb shell monkey -p com.wuba -v 100
adb shell monkey -p com.wuba -v-v 100
adb shell monkey -p com.wuba -v -v -v 100

日志导出到本地:

adb shell monkey -p com.wuba -v-v-v 100 >d:\wuba.txt

Monkey命令-seed值
在Monkey运行过程中,肯定会发现异常、奔溃、无响应等问题,对于此类问题如何进行复现呢?

-s 伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成相同的事件序列。

使用场景:

复现bug,回归测试(验证bug)
adb shell monkey -s 1593077384911 -p com.wuba -v-v-v 100 >d:\wuba4.txt
adb shell monkey -s 100 -p com.wuba -v-v-v 50

在Monkey运行过程中,我们可以通过结束进程的方式来终止Monkey的执行,当然在运行过程中遇到异常、奔溃等情况Monkey也会停止。为了保证执行的事件数执行完整,我们可以通过调试选项的设置来防止在运行过程中Monkey命令的提前结束。

–ignore-crashes 忽略在应用程序出现crash时导致的monkey停止

–ignore-timeouts 忽略在应用程序出现ANR问题时导致monkey停止

–ignore-security-exceptions 忽略应用程序发生许可错误时导致monkey停止

例5:对58同城进行稳定性测试,执行50次事件,忽略过程中遇到的异常,直到50次事件完成

adb shell monkey -p com.wuba --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v-v-v 50

部份参数:

–pct-touch:触摸事件 --pct-trackball :轨迹事件

–pct-motion:动作事件(手势) --pct-nav :基本导航事件

–pct-appswitch:启动activity事件 -pct-majornav:主要导航事件

–pct-rotation:屏幕旋转事件 --pct-syskeys:“系统”按键事件

总结:

1、Monkey是对安卓apk进行随机事件的操作,通过报告来查看apk是否稳定

2、只适用安卓平台

3、根据公司不同产品的特性可设置不同概率来针对性测试或回归(如抖音他的滑动频率高)

作者:茶茶爱喝奶茶ya

原文来源:https://www.cnblogs.com/TFBOYS0806/p/13578005.html

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着移动互联网技术的不断发展和普及,移动应用(App)已经成为人们日常生活和工作中不可或缺的一部分。无论是购物、社交、娱乐还是工作,都可以通过手机App实现。 然而,随着App数量的不断增加,市场竞争也愈发激烈,用户对App的要求也越来越高。因此,为了保证App的质量和用户体验,进行App测试变得非常重要。 App测试是指对App进行全面的功能、性能、兼容性、安全性等方面的测试,以确保App能够正常运行,满足用户需求,并且不会对用户造成任何损害。App测试可以有效地发现和修复App中的漏洞和缺陷,提高App的稳定性和安全性,增强用户对App的信任感和满意度。 App测试的目的主要有以下几点: 1.发现和修复漏洞和缺陷 在开发App的过程中,难免会出现一些漏洞和缺陷。这些漏洞和缺陷可能会导致App崩溃、数据丢失、功能失效等问题,严重影响用户体验。通过App测试,可以及时发现这些问题,并及时修复,保证App的稳定性和可靠性。 2.提高用户体验 用户体验是衡量一个App质量的重要指标之一。通过App测试,可以发现和纠正一些对用户体验不利的问题,如界面设计、交互体验、响应速度等。优化这些问题可以提高用户体验,增加用户满意度和忠诚度。 3.保障App的安全性 随着移动支付、在线购物等功能的普及,App的安全性变得尤为重要。通过App测试,可以发现和修复一些潜在的安全漏洞,如数据泄漏、恶意攻击等。保障App的安全性可以增强用户对App的信任感,减少不必要的风险和损失。 4.提高竞争力 在App市场中,竞争非常激烈。一个质量好、用户体验好、安全可靠的App可以吸引更多的用户,提高用户满意度和忠诚度,从而增加市场份额和收益。通过App测试,可以发现和纠正一些潜在的问题,提高App的质量和竞争力。 总之,App测试是确保App质量和用户体验的重要手段,能够发现和修复漏洞和缺陷,提高用户体验,保障App的安全性,提高竞争力。因此,对于开发者和企业来说,进行App测试是非常必要和重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值