app測試工具monkey

2022-08-30 23:00:21 字數 2450 閱讀 7431

一、什麼是monkey

顧名思義,monkey就是猴子,  monkey測試,就像乙隻猴子, 在電腦面前,亂敲鍵盤在測試。  猴子什麼都不懂, 只知道亂敲

通過monkey程式模擬使用者觸控螢幕、滑動trackball、 按鍵等操作來對裝置上的程式進行壓力測試,檢測程式多久的時間會發生異常

二、monkey 用來做什麼

monkey測試原理:monkey是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流(如按鍵輸入、觸控螢幕輸入、手勢輸入等),實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性、健壯性的快速有效的方法。

三、測試準備

1、首先需要將手機連線到pc,測試連線是否正常,可在cmd裡輸入adb devices來進行驗證;

(不確定包是否已安裝,可以用adb shell pm list packages [options] 來進行確認,它的含義是列舉出所有包含的package。    e.g. adb shell pm list packages com.taobao.taobao)

四、monkey 例項

adb shell monkey –p com.shjt.map –-throttle 100 –-pct-touch 50 –-pct-motion 50 –v –v 1000 >c:\monkey.txt
五、monkey 檢視包名手機中安裝apk包名檢視器  

原始碼下的androidmanifest.xml檔案檢視  

aapt命令檢視  

六、monkey  日誌分析

正常情況,  如果monkey測試順利執行完成, 在log的最後, 會列印出當前執行事件的次數和所花費的時間; // monkey finished 代表執行完成\

異常情況

monkey 測試出現錯誤後,一般的分析步驟

看monkey的日誌 (注意第乙個swith以及異常資訊等)

1. 程式無響應的問題: 在日誌中搜尋 「anr」

2. 崩潰問題:在日誌中搜尋 「exception」   (如果出現空指標, nullpointerexception)  肯定是有bug

monkey 執行中斷, 在log最後也能看到當前執行次數

七、monkey引數型別

-p 《允許的包名列表》         

指定乙個包:adb shell monkey -p com.shjt.map 100   

指定多個包:adb shell monkey -p fishjoy.control.menu  –p com.shjt.map  100  

-v        

用亍指定反饋資訊級別(資訊級別就是日誌的詳細程度),總共分3個級別,分別對應的引數如下 表所示: 

level 0  :  adb shell monkey -p com.shjt.map -v 100               // 預設值,僅提供啟動提示、測試完成和最終結果等少量資訊   

level 1  :  adb shell monkey -p com.shjt.map -v  -v 100          // 提供較為詳細的日誌,包括每個傳送到activity的事件資訊

level 2  :  adb shell monkey -p com.shjt.map -v  -v  -v 100     // 最詳細的日誌,包括了測試中選中/未選中的activity資訊

-s(隨機數種子)            

用亍指定偽隨機數生成器的seed值,如果seed相同,則兩次monkey測試所產生的事件序列也相同的。  示例:

monkey測試1:adb shell monkey -p com.shjt.map –s 10 100                

monkey測試2:adb shell monkey -p com.shjt.map –s 10 100  

--throttle 《毫秒》            

用亍指定使用者操作(即事件)間的時延,單位是毫秒;如果丌指定這個引數,monkey會盡可能快的 生成和傳送訊息。 示

例:adb shell monkey -p com.shjt.map --throttle 3000 100   

八、必須重視crash

雖然monkey測試有部分缺陷,我們無法準確地得知重現步驟, monkey測試所出現的nullpointexception,  都是可以在使用者使用時出現的, 何時出現只是時間問題

理論上來說,  monkey所有的crash 都需要在發布前修復掉

APP測試工具

專項測試 a 相容性測試 手工測試 作業系統,解析度,rom,網路型別 雲平台 testin,指令碼編寫,android。b 流量測試 android自帶的流量管理,ios自帶的network tcpdump抓包 wifi 抓包 fiddler 流量節省方法 壓縮資料,json優於xml webp優...

自動化測試工具monkey

monkey是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流 如按鍵輸入 觸控螢幕輸入 手勢輸入等 實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性 健壯性的快速有效的方法。a 測試的物件僅為應用程式包,有一定的侷限...

app測試工具推薦

對於部分測試的童鞋,技術方面可能不太精通,對於一些技術效能指標測試,或者是協助開發進行除錯,修復bug時,就有些困難,而借助一些工具可以很好的完成這些任務。以下的這些工具,可以大幅度提公升測試效率,可以說是測試機必備。同時,對於開發的童鞋,這個工具也十分好用,特別是當開發環境,除錯環境很麻煩,這種情...