APP稳定性测试_APP测试

APP稳定性测试_APP测试APP稳定性测试概念指软件长时间的持续运行,系统版本是否稳定,是否能否持续的为用户提供服务测试指标异常的次数异常的频率测试工具MonkeyMonkey是向系统发送随机的用户事件流(如按键输入、触摸屏输入和手势输入等),实现对正在开发的应用程序进行稳定性测试。可以更好的模拟用户操作,确保App的稳定性。  通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常Monkey原理Monk.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

APP稳定性测试

概念

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

测试指标

异常的次数

异常的频率

测试工具

Monkey

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

  通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常

Monkey原理

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

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

https://img2020.cnblogs.com/blog/2051133/202008/2051133-20200815165510907-999201119.png

Monkey支持的参数

基础参数

 

 

Key

参数含义

示例

-v

日志级别

-v Level0,除启动提示、测试完成和最终结果外,提交较少信息
-v -v Level1,提交较为详细的测试信息
-v -v -v Level21,最高日志级别

-s

指定伪随机数生成器的seed值

-s 8888

–throttle

动作间隔时间

–throttle 300

-p

包名

-p com.yingsoft.ksbao.Activity

-c

入口

 

>d:\wuba.txt

管道符输出日志到目录

 

发送的事件类型(注意:各事件类型的百分比和不能超100%) 

Key

参数含义

示例

–pct-touch

触摸事件百分比

–pct-touch 30

–pct-motion

滑动事件百分比

–pct-motion 25

–pct-appswitch

Activity启动事件百分比

–pct-appswitch 10

–pct-majornav

主要导航事件百分比

–pct-majornav 10

–pct-nav

基本导航事件百分比

–pct-nav 10

–pct-trackball

轨迹球事件百分比

–pct-trackball 5

–pct-pinchzoom

缩放事件百分比

 

–pct-flip

键盘翻转事件百分比

 

–pct-syskeys

系统事件百分比

 

–pct-anyevent

其他事件百分比

 

调试选项

Key

参数含义

示例

–hprof

在发送事件序列的前、后,生成性能分析报告

 

–ignore-crashes

忽略崩溃

 

–ignore-timeouts

忽略超时

 

–ignore-security-exceptions

忽略程序发生许可异常

 

–kill-process-after-error

杀死出错进程

 

–monitor-native-crashes

监控本地崩溃

 

APP稳定性测试_APP测试

示例命令

adb shell monkey -p com.yingsoft.ksbao.Activity -s 2000 -v 5000 –pct-touch 100 –pct-motion 0 –pct-trackball 0 –pct-nav 0 –pct-majornav 0 –pct-syskeys 0 –ignore-crashes –ignore-timeouts –monitor-native-crashes >monkey.log

ADB命令

1.查看adb设备,当前打开的应用包名/activity

adb shell “dumpsys activity | grep -i run”

adb shell dumpsys activity | grep -i run

2.查看设备当前页面的Acitvity

adb shell “dumpsys activity | grep “mFoc””

adb shell dumpsys activity | grep “mFoc”

3.在com.yingsoft.ksbao.Activity中,随机执行2000个动作

adb shell monkey -v -v -v -s 8888 –throttle 300 –pct-touch 30 –pct-motion 25 –pct-appswitch 0 –pct-majornav 0 –pct-nav 0 –pct-trackball 0 -p com.yingsoft.ksbao.Activity 2000 –ignore-crashes –ignore-timeouts –monitor-native-crashes >monkey.txt

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195604.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 连表查询的介绍_连接表

    连表查询的介绍_连接表1、连表查询的原因(1)如果查询结果不在一个表中,在多个表中,那就需要将表关联,进行连表查询。(2)连表查询大多数都作用在外键得基础上。—表与表之间有关联。2.1表与表之间存在的关系(1)一对多:在多的一方添加外键列(2)多对多:需要创建一个中间表,该表中至少有两个外键列2.2连表查询2.3内连接内连接演示—结果都是一样,只是语法不同。看个人习惯用哪个?1.查询每一个员工的姓名,及关联的部门的名称〔隐式内连接实现)2.查询每一个员工的姓名,及关.

    2022年9月14日
    0
  • Android开发规范「建议收藏」

    1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,名字中每个单词首字母都为大写(第一个单词首字母除外),其他都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下LayoutView:lvRela

    2022年3月9日
    34
  • httprunner(9)运行测试用例的方式总结「建议收藏」

    httprunner(9)运行测试用例的方式总结「建议收藏」前言用过pytest的小伙伴都知道,pytest的运行方式是非常丰富的,可以说是你想怎么运行怎么运行,想运行哪些运行哪些,那httprunner是否同样可以呢?运行用例的各种方式运行指定路径的用

    2022年7月30日
    6
  • 「mac版」支持flash的浏览器,谷歌浏览器Chrome、火狐浏览器Firefox

    「mac版」支持flash的浏览器,谷歌浏览器Chrome、火狐浏览器Firefox谷歌浏览器的苹果系统版V87,最后一版支持flash一共两个版本,一个英特尔的处理版,一个苹果M1处理器版。下载官网:https://www.google.cn/chrome/v87.0.4280.66英特尔处理器版网盘下载黑苹果的下载这个链接:https://pan.baidu.com/s/1ZvNw-qV-_s8mYn2RGDH5cw提取码:87vfhttps://loadream.lanzouo.com/ii4lfil6l7ihttps://cloud.189.cn/t/VFz

    2022年6月1日
    78
  • java8 小技巧保证分组groupingBy后排序不变

    java8 小技巧保证分组groupingBy后排序不变问题:遇到一个小问题,查询出来一组数据后,按照其中的属性进行groupBy分组,分组后要保证顺序不变。排查首先去api中查找解决//一个参数publicstatic<T,K>Collector<T,?,Map<K,List<T>>>groupingBy(Function<?superT,?ex…

    2022年8月21日
    8
  • 基础SQL语句学习

    基础SQL语句学习最近老发牢骚,写了一些跟技术无关的东西,有点跑题了。以后还是注意多写技术性的东西。不知道有没有同学跟我一样,我一开始学sql语句的时候就觉得这个东西很无趣,不爱学,而且当时不知道从哪了解到数据库管理员都是一些年纪比较大的程序员在做。那时候觉得会WIN32,会编写算法,会设计模式很牛,都是一些看的见摸得着的东西,做起来很hight。反过来,操作数据库,这些都是别人给你做好了的,底层你都不了解

    2022年10月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号