app測試2 monkey穩定性測試

2021-09-26 04:34:46 字數 2337 閱讀 4207

一、monkey基礎

1、為什麼要進行monkey測試

monkey測試是為了測試穩定性和健壯性

crash:崩潰、閃退

耗時操作有:在主線程中請求網路操作、資料庫的查詢、

2、monkey簡介

是android中附帶的乙個工具

它向系統傳送偽隨機的使用者事件流(如按鍵輸入、觸控螢幕輸入、手勢輸入等),實現對應用程式進行穩定性和健壯性測試

3、monkey工作原理

monkey執行的時候,生成偽隨機事件流,並把他們發給系統,同時monkey還對測試中的系統進行監測,並進行特殊處理

如果應用程式崩潰或接收到任何失控異常,monkey將停止並報錯

如果應用程式產生了應用程式不響應的錯誤,monkey將會停止並報錯

按照選定的不同級別的反饋資訊,在monkey中還可以看到其執行過程報告和生成的事件

二、monkey的使用

1、開始-執行-cmd

usb連線手機,輸入adb shell monkey 命令

adb monkey shell -p com.tencent.mm -v 500

2、日誌的獲取

為了方便分析問題,可以將日誌資訊重定向到檔案中

格式:monkey -p com.tencent.mm -v 1000 >1.log --乙個》是覆蓋

monkey -p  com.tencent.mm -v 1000 >>1.log  --兩個》是追加
adb shell

monkey -p com.tencent.mm -v 1000 >d:/1.txt --不正確,因為adb shell 後進入了手機,手機沒有d盤,正確的指令是:

adb shell monkey -p com.tencent.mm -v 1000 >d:/1.txt

如果進行monkey測試時,遇到anr或crash的情況,在抓取log的同時需要提供traces.txt(在/data/anr/下)

adb shell cd /data/anr

lsmonkey命令列引數 :

-pmonkey -p com.tencent.mm -p com.aotuyidongzhifa.cn -v 100

-v -vv -vvv

-s 用於指定偽隨機事件生成器的seed值,如果seed相同,則兩次monkey測試所產生的事件序列也是相同的

-throttle《毫秒》用於指定使用者操作間的延遲,單位是毫秒

–ignore -crashes 應用程式即使發生崩潰,也會執行直到計數完成

adb shell monkey -p com.tencent.mm --ignore -crashes -v 500

–ignore - timeouts 應用程式即使發生anr錯誤時,monkey依然會傳送事件,直到事件計數完成

adb shell monkey -p com.tencent.mm --ignore -timeouts

adb shell -> cd system/bin ->ls 可以看到很多linux命令,包括

adb shell monkey -p cn.com.pyc 200

adb shell monkey -p cn.com.pyc -v 500

adb shell monkey -p cn.com.pyc -s 12345 -v 500 >e:\1.txt

–開啟monkey測試的日誌檔案,搜尋error、exception、crash、anr

adb shell monkey -p cn.com.pyc -v -s 1234567 --throttle 300 200 >e:/1.txt

–如果想讓多一點觸控事件

adb shell monkey -p cn.com.pyc -v -s 11709 --throttle 300 --pct-touch 50 200 >e:/1.txt

–如果測試的過程**現crash異常,提供monkey日誌的同時還要提供monkey指令,還要附上響應的crash截圖

–如果測試過程**現anr異常,需要另外提供traces檔案 adb shell->cd data/anr ->ls ->traces.txt

monkey執行結果分析

開啟日誌檔案,查詢關鍵字"anr",「fatal」,「crash」,「exception」,「androidruntime」,「out of memory」, "null pointer"若存在,則說明發生異常。

開啟日誌檔案,查詢關鍵字"finished",若存在,則證明monkey正常結束

收集出錯相關資訊,發給研發

執行後的手機截圖

monkey手機的日誌檔案

monkey的測試結果

被測試手機資訊

App測試 Monkey測試App穩定性

一,前提搭建android studio的環境中 二,cmd進入到androidsdk platform tools路徑下 輸入adb shell 這個提示就是表示手機未連線 三 連線安卓手機,手機的usb模式必須開啟 四 輸入指令 monkey p 安裝包名字 v 100 表示執行100次隨機操作...

android 穩定性monkey測試

本篇針對應用記憶體洩漏測試,簡單介紹一下記憶體洩漏的危害,記憶體洩漏指程式中己動態分配的堆記憶體由於某種原因程式未釋放或無法釋放,造成系統記憶體的浪費,導致程式執行速度減慢甚至系統崩潰等嚴重後果。簡單來說就是如果存在記憶體洩漏的話,應用會越用越卡,最後導致應用崩潰。前提準備條件 1 手機root許可...

app測試 穩定性測試

穩定性測試的概念有2種,一,穩定性測試,對應於異常性測試,即發生異常情況時,系統如何反應的測試。包含 1 互動性測試,被打擾的情況,如來電,簡訊,低電量等。這些其實在上章的功能測試中有提到。2 異常性測試,斷網,斷電,伺服器異常等情況 二,穩定性測試指的是效能測試,壓力測試 1 基準效能測試,通過壓...