【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
- 軟體穩定性測試的測試點
- 使用EVOLVEpro對蛋白質熱穩定性進行定向進化
- app穩定性測試-iOS篇APPiOS
- 智慧支付穩定性測試實戰
- 伺服器如何測試穩定性伺服器
- 伺服器穩定性測試方法伺服器
- 軟體測試中伺服器穩定性測試方法伺服器
- Appium自動化(15) - 針對 webview 進行自動化測試APPWebView
- android測試常用的adb命令以及進行Monkey測試Android
- Kubernetes 穩定性保障手冊 -- 可觀測性專題
- 軟體測試中伺服器穩定性測試幾種方法伺服器
- 伺服器穩定性的測試方法,1分鐘搞定伺服器
- 被忽視的問題:測試環境穩定性治理
- 如何針對服務是否有重新連線資料庫的能力進行測試資料庫
- 提高GUI自動化測試穩定性解決方案GUI
- 演算法穩定性測試如何設計測試方案,在有限的時間內。演算法
- 針對mdadm的RAID1失效測試AI
- 無GPU情況下對cuda程式進行功能性測試GPU
- Kafka 的穩定性Kafka
- 穩定性
- 進行app效能和安全性測試的重要性APP
- 伺服器的穩定性怎麼檢測?伺服器
- iOS 11.4.1測試版釋出:修復小Bug 提升穩定性iOS
- 實用測試技能分享:APP壓力穩定性測試之Monkey入門實戰APP
- 使用springboot對各層的程式碼進行測試!Spring Boot
- 如何進行裝置的非對稱效能測試
- 【穩定性】穩定性建設之依賴設計
- 精通中介軟體測試:Asp.Net Core實戰指南,提升應用穩定性和可靠性ASP.NET
- [譯]對 React 元件進行單元測試React元件
- 針對 “測試用例最佳實踐” 的說明
- 如何針對海外不同地區進行音視訊自動化測試?丨Dev for Dev 專欄dev
- 軟體相容性測試怎麼進行?相容性測試有什麼作用?
- 如何對Mac進行基礎檢測和速度測試Mac
- 第 83 期對 Go 程式進行可靠的效能測試Go
- 如何對Spring MVC中的Controller進行單元測試SpringMVCController
- Golang 專案中如何對 API 進行測試?GolangAPI
- 如何對 ElasticSearch 叢集進行壓力測試Elasticsearch
- 使用python對oracle進行簡單效能測試PythonOracle