1. 程式人生 > 其它 >講解一下上網行為管理的作用

講解一下上網行為管理的作用

首先來看業界用的較早也是經常聽過的一款工具—— Monkey。這是 Android 官方提供的一個工具。谷歌原本設計這款工具是為了對 App 進行壓力測試的。谷歌早期在設計 Android 的時候,Android 需要響應滑動、輸入、音量、電話等事件,早期 activity 設計不完善的時候,谷歌希望測試 activity 的效能,把所有的資料批量化的輸出給 activity,看 activity 一秒鐘可以處理多少資料。所以早期 Monkey 是用來做 Android 的一個壓力測試的工具。

由於 Monkey 在測試過程中的“隨機”性,恰巧可以被用來做自動遍歷測試,但是 monkey 的缺點很明顯,不支援業務行為定製,無法靈活的控制,經常會點到外部的 App 無法迴歸原測試 App;或者點選到登出和退出,造成無法繼續後面的測試;因此 monkey 在經過調研瞭解後沒有成為我們做自動遍歷測試的首選。

Monkey 官方連結:
https://developer.android.com/studio/test/monkey

Maxim 也是一款自動遍歷工具,由國內的 zhangzhao 同學開發,官方給出的定義是:

我們來看看這款工具的優缺點:
優點:

  • 基於Monkey二次開發,執行速度非常快
  • 提供了多種遍歷演算法以提高覆蓋度
  • 提供了定製化功能,可以實現流程控制
    缺點:
  • 因為是基於 Monkey,所以不具備跨平臺性,只能測試 Android,不能測試 iOS,Web 等;
    這是一款很優秀的工具,可在一定程度上進行定製,如果只測試 Android 系統的話,可以考慮選用 Maxim 做自動遍歷。

官方 GitHub 地址:

GitHub

GitHub - zhangzhao4444/Maxim: 高速uiautomator控制元件解析演算法的Android Monkey,...

高速uiautomator控制元件解析演算法的Android Monkey, 每秒10-15個Action Event。實現快速DFS演算法的Android Monkey , 每秒 5個Action Event。 - GitHub - zhangzhao4444/Maxim: 高速uiautomator控制元件解析演算法的Android Monkey, 每秒10-15個Action Event。實現快速D...

   

Fastbot是位元組跳動的Quality Lab團隊開發的一款融合了機器學習與強化學習的基於模型測試的工具。

中文介紹
英文介紹

Fastbot可以理解為MaxIM的升級版,為了增強覆蓋,融合了多種機器學習、強化學習等相關的演算法。他的執行速度很快,並顯著提升了測試覆蓋度。應用的效果也是非常不錯的。

這是來自於作者團隊的效果介紹

官方 GitHub 地址:
https://github.com/bytedance/Fastbot_Android 1

AppCrawler 是由霍格沃茲測試開發學社第一任校長思寒開源的一個專案,官方 GitHub 上對這款工具的解釋是:
這裡順便提一下的是谷歌也釋出了一款自動遍歷的工具,名字幾乎一樣,叫做 App Crawler (差了一個空格),設計的思想也一致。思寒開源的的工具比谷歌早了兩年時間。

下面來看看 AppCrawler 的作用和價值。看看它為何滿足我們的測試需求,它的優缺點又在哪裡。

優點:

  • 跨平臺性:AppCrawler 是基於 Appium 開發的,所以支援 Android、iOS、Web以及GUI
  • 靈活定製:對遍歷的頁面、控制元件、事件、深度等都可自由控制

缺點:

  • 執行速度較慢:AppCrawler 是基於 Appium 開發具備了跨平臺的優點,但是也因為這層封裝造成了執行速度相對較慢,再加上執行過程中加入了截圖(可以在配置中取消,但是取消後不利於結果的檢視),執行起來自然就慢了;
  • 使用門檻高:正因為使用靈活性的問題,也造成了使用門檻的提高,主要基於 YAML 檔案中使用 Appium 的相關技術知識進行配置,這就對使用者有了一定的技術要求;
喜歡軟體測試的小夥伴們,如果我的部落格對你有幫助、如果你喜歡我的部落格內容,請 “點贊” “評論” “收藏” 一鍵三連哦。更多技術文章