一、什麼是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時,就有些困難,而借助一些工具可以很好的完成這些任務。以下的這些工具,可以大幅度提公升測試效率,可以說是測試機必備。同時,對於開發的童鞋,這個工具也十分好用,特別是當開發環境,除錯環境很麻煩,這種情...