之前寫了一篇FunTester測試框架架構圖初探的文章,花了一張圖,主要講解了FunTester測試框架的內容,最近閒賦在家沒啥事兒,也一起順着思路花了一個FunTester測試項目的架構圖。
有了上一次的經歷,對於draw.io工具的使用比較熟練了,基本一半天就畫完了,感覺比較粗糙,後期繼續優化,有興趣的歡迎一起交流。
-
高清圖:http://pic.automancloud.com/project.html
主要思路還是依據FunTester測試框架提供的能力,先進行基礎層的封裝,然後功能層,然後測試層,然後再根據不同的上層建築完成其他系統的集成。關於其他系統的集成,這個比較細化,都是對接其他系統,缺乏通共性,暫時沒想到怎麼畫架構圖。
-
項目基礎部分幾個模塊: 單項目、 多項目和 多協議。其中項目通用的包含很多設置項,比如 GET
、POST
請求的傳參格式,通用的參數結構,公參,公共的header
處理,身份驗證的處理,響應初步處理(主要驗證業務code
和響應結構體)。還有測試數據管理,主要是測試用戶、測試接口路徑管理,項目關聯管理、測試工具類管理(加密解密,參數驗籤,測試後門等等)。多協議就是指出去HTTP
協議以外還需要的其他協議的功能,MySQL
、Redis
和Socket
的部分功能,因爲都不是主要協議,所以都是作爲輔助測試定位去做的,除了Socket
做了點項目化的嘗試以外,其他都是腳本化的編寫。 -
業務模塊比較簡單,就是針對不同的模塊設置成一個模塊類,類屬性,類方法(相當於一個接口封裝)以及必要的工具方法,剩下的就是對不同的接口響應進行處理,比如提取必要值和進行簡單業務驗證功能。 -
測試實踐我只畫了一個測試流程,和測試用例的流轉,這個意思可以參考之前的文章: 如何統一接口測試的功能、自動化和性能測試用例。通過編寫功能用例,其中一部分可以用於自動化和性能測試,還有一部分只能用於性能測試。 -
測試數據構造這塊寫得不細,實在是情況多種多樣。沒法寫,這個造數據的功能,主要還是依靠功能接口的封裝和測試後門完成的。 -
這裏面根據需求不同會用到 moco api
和JsonPath
以及貫穿全項目的消息
功能,這個根據不同的具體場景各自分配。
FunTester,騰訊雲社區欽定年度作者,非著名測試開發er,歡迎關注。
本文分享自微信公衆號 - FunTester(NuclearTester)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。