




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、揭開一個神秘穩定性測試工具的面紗.MonkeyMonkey入門介紹Android系列 制作:Mads(吳越欣)那么問題來了,什么是monkeymonkey.1.1.什么是monkeymonkeymonkey是運行在你的程序 模擬器或設備,并生成用戶事件的偽隨機流,例如點擊,觸摸,或手勢,以及若干系統級事件。您可以使用monkey壓力測試應用程序。Monkey 測試,所有的事件都是隨機產生的,不帶任何人的主觀性。帶你進入monkeymonkey的精神世界.2.2.如何操作monkeymonkey1.進入monkey環境1.1首先檢測android真機/模擬器是否已經連接:adb device1.
2、2然后選取一個設備來進入shell:adb -s XX設備 shell,當然如果你只有一個設備,完全可以寫adb shell2.2.進入shell之后monkey help查看monkey的幫助,當然你可以去官網看手冊來進行學習3.查看應用package3.1.aapt dump badging E:apkes3.apk3.2.開發版手機或模擬器UI利器:hierarchyviewer3.Monkey3.Monkey操作的參數解析3.1有關參數p的學習:參數-p用于約束限制,用此參數指定一個或多個包(Package,即App)。指定包之后,Monkey將只允許系統啟動指定的APP。如果不指定包
3、,Monkey將允許系統啟動設備中的所有APP。指定一個包: adb shell monkey -p com.htc.Weather 100說明:com.htc.Weather為包名,100是事件計數(即讓Monkey程序模擬100次隨機用戶事件)。指定多個包:adb shell monkey -p com.htc.Weather p com.htc.pdfreader -p com.htc.photo.widgets 100不指定包:adb shell monkey 1003.2有關參數v的學習:用于指定反饋信息級別(信息級別就是日志的詳細程度),總共分3個級別,分別對應的參數如下表所示:日
4、志級別 Level0 :示例 adb shellmonkey -p com.htc.Weather v 100說明 缺省值,僅提供啟動提示、測試完成和最終結果等少量信息日志級別 Level 1:示例 adb shellmonkey -p com.htc.Weather v -v 100說明 提供較為詳細的日志,包括每個發送到Activity的事件信息日志級別 Level 3:示例 adb shellmonkey -p com.htc.Weather v -v v 100說明 最詳細的日志,包括了測試中選中/未選中的Activity信息3.3參數: -s用于指定偽隨機數生成器的seed值,如果s
5、eed相同,則兩次Monkey測試所產生的事件序列也相同的。Monkey測試1:adb shell monkey -p com.htc.Weather s 10 100兩次測試的效果是相同的,因為模擬的用戶操作序列(每次操作按照一定的先后順序所組成的一系列操作,即一個序列)是一樣的。操作序列雖 然是隨機生成的,但是只要我們指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的,所以這個操作序列偽隨機的;這個-s就是指定了操作的順序!3.4參數:-throttle 用于指定用戶操作(即事件)間的時延,單位是毫秒;示例:adb shell monkey -p com.htc.We
6、ather throttle 3000 1004.4.高級的DemoDemo介紹adb shell monkey -p com.tmall.wireless -v -v -pct-touch 50 -pct-trackball 30 -throttle 300 100用monkey測試天貓的這個包觸摸操作百分之50,軌跡球操作百分之30,其它操作百分之20,總共進行100次隨機點擊,事件之間間隔300ms5.monkey5.monkey的特征5.1.測試的對象僅為應用程序包,有一定局限性5.2Monkey測試使用的事件隨機流是隨機的,不能進行自定義5.3可對MonkeyTest的對象,事件數量
7、,類型,頻率等進行設置Monkey的停止條件:1.如果限定了Monkey運行在一個或者幾個特定包上,那么他會監控測試圖到其它包的操作,并對其進行組織2.應用程序崩潰或接收到任何失控異常3.應用程序不響應4.正常運行結束5.強制停止進程MonkeyMonkey的異常loglog解析.6.Monkey6.Monkey的異常loglog總結6.1Null指針異常空指針異常主要是有NullPointerException異常提示,在Monkey測試過程中,該信息一般記錄在plog.log (locat中也有該信息)中。如果Monkey命令被中斷,說明有異常信息并且有對應的打印信息,可以看到如下信息,說
8、明幾個問題:A、cess.acore該進程出現異常B、異常信息主要是由于NullPointerException引起的,也就是出現了空指針,導致了acore進程進入debugC、具體的可以繼續分析是由哪個函數的那一行導致的,如可以從rollAnimate3dRotate.java文件中的275行查找等。/at com.android.launcher.LauncherAnimator.ScrollAnimate3dRotate.drawFrame(ScrollAnimate3dRotate.java:275)D、可能同一應用中存在多處的空指針異常,所以一旦出現空指異常后,
9、可以分析和對比log信息,如果不一致的話,需要把新的log信息也一同添加到bug中,如果log信息一直的話,則不需要繼續補充沒有必要的log信息。7.2debug異常debug異常主要是由于應用程序本身的錯誤導致的異常。在Monkey測試過程中,該信息同樣記錄在plog.log (locat中也有該信息)中。一般情況下,出現的該問題,很可能在手動測試時也可以測試到。A、 com.android.browser該進程進入debugB、 出現的是IllegalStateException異常,該異常一般多是傳遞的參數非法或被多次調用時出現的異常C、 Bug信息提交時,詳細信息中一般應該包含如下的l
10、og信息,方便開發人員分析和定位。6.3低內存異常低內存異常一般情況下,主要表現在出現OutOfMemoryError異常或者提示Out of memory,其后果同樣表現為拋出OutOfMemoryError異常或者是通過kill process 來殺掉部分進程以釋放內存空間,當然如果被kill點關鍵的進程的話,也就可能導致部分應用會自動的退出。出現該情況時,主要是在進行頻繁的進行大量的操作導致的,所以使用手動的方式也是可能進行重現的。A、 com.android.elastos.backup該進程出現的異常B、 出現的是OutOfMemoryError異常,該異常一般多頻繁的操作(即多次調
11、用某個函數,存在申請變量空間未釋放)導致的C、 Bug信息提交時,詳細信息中同樣應該包含如下的log信息,方便開發人員分析和定位。6.4操作無響應異常操作無響應的問題,主要表現在Monkey運行過程中,出現某功能無響應,提示是否“強制關閉“或“等待“,同時會打印出相應的log信息,如下:A、 可以說明com.android.soundrecorder該進程出現的無響應B、 出現的是TimerOut異常,該異常一般出現時一般都會又keyDispatchingTimedOut提示C、 目前,uPhone手機中經常出現操作無響應的幾個模塊包括:clock、camera、soundrecorder、b
12、roser等,根據開發人員分析其他模塊也是有可能出現操作無響應的,測試過程中,請多注意。D、 出現無響應異常,一般情況下很難被修復,和發送事件的頻率也是有關系的,從質量上來要求的話,要求盡可能的減少出現操作無響應的頻率和時間。6.5其他異常A、 Restart System異常(系統重新啟動),即log信息的最后幾行會看到Restart System的打印信息,說明手機被自動的重啟或斷掉,有幾個方面的原因1、 運行過程中,存在異常手機被自動重啟2、 手機在運行過程中,進入設置中的恢復出場設置,導致手機重啟3、 其他原因,如果手機后蓋移動等B、 RuntimeException等異常,同樣的會在
13、plog.log中可以看到相應的打印信息, java.lang.RuntimeException該問題多出現在操作無響應之后,或者是某應用的服務無法啟動或連接時,需要具體問題具體的分析C、 StaleDataException、readException等異常, 在plog.log中可以看到相應的打印信息,也會有相應的信息: android.database.StaleDataException,該信息說明android的數據庫操作出現異常, 需要具體問題具體的分析D、 IllegalArgumentException等異常,多少情況下為說明向函數傳遞了一個不正確或不合法的參數需要具體問題具體的分析E、 其他,帶補充和分析說明一些好的測試建議.說明幾點:1、 log信息的分析,希望在bug信息的簡述中能夠明確說明清楚出現的是什么異常,具體的log信息要單獨添加到詳細信息描述中,方便相關人員定位和查看。2、 buy的提交,對于Monkey測試出現的問題a、 首先要求分析l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛生學練習題庫(附答案)
- 客戶關系維護協議
- 浙江國企招聘2025浙江省農發集團社會招聘76人筆試參考題庫附帶答案詳解
- 2025福建漳州臺商投資區資產運營集團有限公司招聘勞務派遣人員10人筆試參考題庫附帶答案詳解
- 2025年福建南平綠發集團有限公司招聘28人筆試參考題庫附帶答案詳解
- 2025內蒙古恒正實業集團有限公司招聘10人筆試參考題庫附帶答案詳解
- 藝術民歌考試題及答案
- 高校科技創新路徑探索與實踐方案
- 叉車承包合同協議書范本
- 2024年電解電容器紙項目資金需求報告代可行性研究報告
- 血常規教育課件
- 普通飲片車間共線生產風險評估報告
- 三年制中職旅游管理課程標準 《旅游心理學》課程標準-中職
- 建筑總工程師招聘面試題與參考回答(某大型央企)2024年
- 糖尿病視網膜病變護理
- 解讀智能測試用例生成
- 獸藥GSP質量管理制度匯編
- 【基于單片機的智能送餐配送車設計與實現(論文)11000字】
- 2024年供電營業規則復習題庫含答案解析
- GB/T 18457-2024制造醫療器械用不銹鋼針管要求和試驗方法
- 2024年生態環境執法大練兵比武競賽理論考試題庫-上(單選題)
評論
0/150
提交評論