【Android】【MonkeyDemons】針對性的進行穩定性測試
前言
目前大部分的Monkey測試的方式大都無法對獨立的模組進行穩定性測試,而每個業務線的入口在測試階段很難通過原生的Monkey測試(隨機性較強)來發現自己模組內crash的問題,針對這個問題,這個工具設計開發的初衷就是為了能夠縮小測試範圍,在測試階段指定業務模組內發現和暴露更多的穩定性相關的問題。
工具介紹:
Demons(守護程式)是自主研發的一套獨立於monkey測試之外的 手機內單個應用監聽守護的 jvm程式。
解決的問題:
整合到優酷之後我們需要對App內的單個業務模組進行穩定性測試。由於原生的Monkey傳送的是全域性的隨機事件,不支援對某幾個Activity進行定製測試,Demons的出現就為了解決了這個問題。
工具原理:
原理其實就是有一個後臺任務可用定時巡檢PC上所連的每個裝置當前執行在哪個頁面,如果發現裝置已經crash或者當前頁面不在我們指定的白名單頁面,那麼Demons會自動處理當前程式的資料並初始化回到主入口。
工具優勢:
Demons可以在每次越界之後隨機分配回到一個主入口 進行初始化。
Demons與Monkey執行模組是分離的,這樣可以防止相互影響。
Demons可以運用在原生的Monkey還是其他的修訂過的遍歷工具。
工具結構:
執行流程:
使用效果:
目前試用一個版本 10小時內 保持一直停留在指定頁面,丟擲來的指定模組的Crash次數佔總次數的30%左右,剩餘的crash大部分都是主客相關的crash
上手使用:
下載工具地址:
http://yunpan.taobao.com/s/2kxUUA0xNQK (提取碼:Xqbqoj)
環境準備:
1,本地AndroidSdk環境必須要有
2,至少一臺裝置必須連線電腦(也可以用無線ADB)
執行方式:
1,將工具下載下來放到本地目錄下
2,配置工作目錄config.xml檔案
3,執行monkey命令
4,然在工作目錄下執行 java -jar Demons.jar
FAQ:
檢視當前頁面Activity
adb shell dumpsys activity | findstr “mFocusedActivity”
驗證主入口是否有跳轉許可權
adb shell am start -n 包名/Activity名
主入口如果配的有問題會出現以下錯誤,原因是Activity 沒有呼叫許可權
相關文章
- App穩定性測試APP
- 軟體穩定性測試的測試點
- Android穩定性測試-- Monkey原始碼分析Android原始碼
- app穩定性測試-iOS篇APPiOS
- 智慧支付穩定性測試實戰
- 伺服器穩定性測試方法伺服器
- 伺服器如何測試穩定性伺服器
- Android穩定性測試-- Monkey二次開發Android
- 軟體測試中伺服器穩定性測試方法伺服器
- 軟體測試中伺服器穩定性測試幾種方法伺服器
- Appium自動化(15) - 針對 webview 進行自動化測試APPWebView
- 伺服器穩定性的測試方法,1分鐘搞定伺服器
- 用Robotium對android進行自動化測試的探索Android
- 提高GUI自動化測試穩定性解決方案GUI
- Windows10 10176 RTM分支穩定性測試Windows
- TDD學習筆記【三】---是否需針對非public方法進行測試?筆記
- ORALCE的執行計劃穩定性
- Kafka 的穩定性Kafka
- Forrester:針對預測分析能力進行架構規劃REST架構
- ORALCE的執行計劃穩定性(zt)
- 進行app效能和安全性測試的重要性APP
- 伺服器的穩定性怎麼檢測?伺服器
- 如何提高nodejs程式的穩定性,健壯性NodeJS
- 實用測試技能分享:APP壓力穩定性測試之Monkey入門實戰APP
- 針對網路服務的滲透測試
- 排序穩定性排序
- iOS 11.4.1測試版釋出:修復小Bug 提升穩定性iOS
- 精通中介軟體測試:Asp.Net Core實戰指南,提升應用穩定性和可靠性ASP.NET
- iOS App 穩定性指標及監測iOSAPP指標
- Android單元測試-對Activity的測試Android
- Android單元測試-對View的測試AndroidView
- 【穩定性】穩定性建設之依賴設計
- [譯]對 React 元件進行單元測試React元件
- 如何對你Mac進行壓力測試?Mac
- 使用ab對nginx進行壓力測試Nginx
- 用mysqlslap對MySQL進行壓力測試MySql
- 針對mdadm的RAID1失效測試AI
- 軟體相容性測試怎麼進行?相容性測試有什麼作用?