軟件測試學習筆記丨App壓力測試

2024年2月6日 21点热度 0人点赞

一、app壓力測試

  • monkey是谷歌提供的一款用於app穩定性和壓力測試的命令行工具
  • monkey可以運行在模擬器或真機設備中
  • monkey會向系統發送偽隨機的用戶事件,對app應用進行穩定性和壓力測試

monkey基本用法

  1. 連接設備
  2. 獲取被測包名
  3. 發送命令:adb shell monkey [參數] [隨機事件數]
adb shell monkey 100

三、monkey常用選項

  • -v:用於指定反饋信息級別,總共分三個等級-v -v -v
    • adb 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 級別的測試管理大咖量身打造職業規劃。