上一篇咱們討論了爲何要開發自動迴歸測試平臺「Quail」,那麼Quail平臺的架構是什麼樣的?平臺的設計理念是什麼?web
應用服務:數組
遠程調試:提供手機的遠程租用功能,實現遠程調試App,提高解決bug的效率。
用例管理:提供了「管理用例」、「錄製腳本」、「導入用例」的功能,此處用例做爲迴歸測試的輸入。
功能測試:提供App的遠程功能測試,並記錄操做過程,一旦測出bug,能夠快速的找到復現步驟。
迴歸測試:選擇用例進行迴歸,自動記錄迴歸過程(包括截圖和性能數據),並自動判斷迴歸結果。
手機資源管理:提供手機物理狀態和業務狀態的各類管理功能,確保業務的正常進行。
消息隊列:不一樣層次之間的服務經過消息隊列進行通信。服務器
服務器:
rDesktop:實現了從web端遠程控制手機的功能,並實時顯示手機屏幕的內容。
Recorder:在rDesktop操做手機屏幕的同時,經過分析用戶操做,將之轉化爲自動化腳本。
Playback Engine:用於解釋Recorder錄製的腳本,並在特定終端進行回放。架構
終端:
rDeskAgent:提供控制手機和抓取終端屏幕視頻流的功能。
Connector:提供管理手機的基礎功能(與O&M平臺配合)。性能
TestServer:用於回放測試腳本。測試
手動操做數據流:用戶操做 => rDesktop => 手機
圖片視頻數據流:手機 => rDesktop => 用戶界面
自動化控制命令流:用戶操做 => Playback Engine => 手機
信息收集數據流:手機 => 應用服務 => 用戶界面
腳本錄製數據流:用戶操做 => rDesktop => 應用服務spa
如圖,用例採用直觀易懂的「線性」模式,同時加入了「數據驅動」,使用例具有了可擴展性,方便Tester靈活處理腳本。這樣的巧妙設計取得了複雜度與靈活性的平衡。設計
要實現這種靈活性,咱們將每一條TestStep分爲三大部分:屏幕構成、操做、結果。調試
屏幕構成:由截屏圖片和Layout組成,經過圖片和Layout相結合肯定屏幕的構成,提高測試結果的準確性。視頻
操做:由「手勢」和「輸入參數組成」,輸入參數能夠是寫死的,也能夠進行靈活配置。
結果:結果依賴於檢查點,「錄製」和「回放」時的屏幕構成決定這TestStep的執行結果。
**
**
經過以上的講解,相信你們對Quail平臺有個大致上的認識,接下來咱們會經過對平臺的使用,讓你更直觀的瞭解Quail。
本文系TestBird產品經理賈銀喜撰寫。想了解更多開發測試相關信息,請訪問 TestBird