閱讀1015 返回首頁    go 阿裏雲 go 技術社區[雲棲]


【Android 】【Monkey Demons】 針對性的進行穩定性測試

前言

目前大部分的Monkey測試的方式大都無法對獨立的模塊進行穩定性測試,而每個業務線的入口在測試階段很難通過原生的Monkey測試(隨機性較強)來發現自己模塊內crash的問題,針對這個問題,這個工具設計開發的初衷就是為了能夠縮小測試範圍,在測試階段指定業務模塊內發現和暴露更多的穩定性相關的問題。

工具介紹:

Demons(守護程序)是自主研發的一套獨立於monkey測試之外的 手機內單個應用監聽守護的 jvm程序。

解決的問題:

集成到優酷之後我們需要對App內的單個業務模塊進行穩定性測試。由於原生的Monkey發送的是全局的隨機事件,不支持對某幾個Activity進行定製測試,Demons的出現就為了解決了這個問題。

工具原理:

原理其實就是有一個後台任務可用定時巡檢PC上所連的每個設備當前運行在哪個頁麵,如果發現設備已經crash或者當前頁麵不在我們指定的白名單頁麵,那麼Demons會自動處理當前進程的數據並初始化回到主入口。

工具優勢:

Demons可以在每次越界之後隨機分配回到一個主入口 進行初始化。
Demons與Monkey執行模塊是分離的,這樣可以防止相互影響。
Demons可以運用在原生的Monkey還是其他的修訂過的遍曆工具。

工具結構:

screenshot.png

執行流程:

screenshot.png

使用效果:

目前試用一個版本 10小時內 保持一直停留在指定頁麵,拋出來的指定模塊的Crash次數占總次數的30%左右,剩餘的crash大部分都是主客相關的crash

screenshot.png

上手使用:

下載工具地址:
https://yunpan.taobao.com/s/2kxUUA0xNQK (提取碼:Xqbqoj)

環境準備:

1,本地AndroidSdk環境必須要有
2,至少一台設備必須連接電腦(也可以用無線ADB)

運行方式:

1,將工具下載下來放到本地目錄下
2,配置工作目錄config.xml文件
screenshot.png

3,執行monkey命令

4,然在工作目錄下執行 java -jar Demons.jar

FAQ:

查看當前頁麵Activity

adb shell dumpsys activity | findstr "mFocusedActivity"

驗證主入口是否有跳轉權限

adb shell am start -n 包名/Activity名

主入口如果配的有問題會出現以下錯誤,原因是Activity 沒有調用權限

screenshot.png

最後更新:2017-04-19 11:30:40

  上一篇:go DockerCon 2017 Day 1 - Keynote 速記
  下一篇:go Pure PostgreSQL實現推薦係統