写点什么

软件测试学习笔记丨 App 压力测试

作者:测试人
  • 2024-01-30
    北京
  • 本文字数:1008 字

    阅读完需:约 3 分钟

一、app 压力测试

  • monkey 是谷歌提供的一款用于 app 稳定性和压力测试的命令行工具

  • monkey 可以运行在模拟器或真机设备中

  • monkey 会向系统发送伪随机的用户事件,对 app 应用进行稳定性和压力测试

monkey 基本用法

  1. 连接设备

  2. 获取被测包名

  3. 发送命令:adb shell monkey [参数] [随机事件数]

adb shell monkey 100
复制代码

三、monkey 常用选项

  • -v:用于指定反馈信息级别,总共分三个等级-v -v -vadb shell mokey -v -v -v 100

  • -s:用于指定伪随机数生成器的种子 seed 值 adb shell monkey -s 123 100

  • –throttle:每个事件结束的间隔时间 adb shell monkey --throttle 500 100

  • -p:用于约束限制,指定一个或多个包 adb shell monkey -p com.android browser 100

  • –ignore-crashes:忽略崩溃

  • –ignore-timeouts:忽略超时

  • –ignore-security-exceptions:忽略安全异常

  • –ignore-native-crashes:忽略本地代码导致的异常

  • –monitor-native-crashes:跟踪本地方法的崩溃问题

四、monkey 事件选项

  • –pct-touch:触摸事件

  • –pct-motion:滑动事件

  • –pct-appswitch:activity 之间切换

  • –pct-pinchzoom:缩放事件

  • –pct-rotation:屏幕旋转事件

  • –pct-flip:键盘事件

  • -pct-anyevent:任意事件

  • 注意:以上所有类型事件比例加起来不能超过 100

五、压力测试实战

5.1、雪球 app 压力测试

  • 确定测试 app 的包名:

  • adb shell dumpsys activity | grep mFocusedActivity

  • 执行 8 小时:

  • 需要跑的时间/命令之间的时间间隔=要执行的次数 8*60*60*1000/300 = 96000

  • 日志级别:3 个 v

  • 确定雪球中常用的操作类型和比例:滑动、触摸、键盘、系统按键、activity 切换

  • 确定 seed 值:-s 12345

  • 确定调试选项:

  • --ignore-crashes --ignore-timeouts --ignore-security-exceptions

  • 重定向日志到文件中 >

5.2、压力测试脚本

adb shell monkey -p com.xueqiu.android --pct-touch 30 --pct-motion 30 --pct-syskeys 10 --pct-appswitch 20 --pct-flip 5 --pct-anyevent 5 -s 12345 --throttle 300 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 1000 >monkey_xueqiu.log
复制代码

六、日志分析

  1. 程序无响应:在日志中搜索 ANR

  2. 程序崩溃:在日志中搜索 crash

  3. 其他问题:在日志中搜索 Execption

霍格沃兹的测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供 1v1 私教指导,BAT 级别的测试管理大咖量身打造职业规划。


发布于: 刚刚阅读数: 4
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨App压力测试_软件测试_测试人_InfoQ写作社区