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