FunTester測試框架架構圖初探

春節假期響應號召原地過年,抽空看了看一些優秀的工具,選擇了一兩個進行了更深入的使用,其中一個很重要的就是draw.io畫圖工具,之前用的是網頁版的,現在用的Mac desktop版本。順便說一句,現在這個工具的網頁版有了新名字,叫diagrams.net,但是桌面版用的還是老名字,目前好像沒有中文名,團隊起名字就是域名,也挺有意思。

在看了一些資料後,發現自己雖然對FunTester測試框架的功能基本滿意了,但是對於框架的結構還是停留在比較籠統的層面,只能說出來一些比較大概的輪廓,比較分成工具類HTTP協議其他協議支持以及性能測試框架的理解上。如果想要跟其他人講清楚這個框架,語言組織能力還是有帶提高的,在學習了一些系統思考的技巧以後,打算重新整理FunTester測試框架的內容,畫出架構圖。

一週代碼提交

第一次在這種嘗試,難免會有錯誤與不足之處,希望各位有心的看官,能給點意見,主要是哪裏畫的不夠清楚,結構不夠有條理,或者符號化不明所以的都可以。我會持續維護更新這個架構圖。

  • 高清圖:http://pic.automancloud.com/structure.html
FunTester測試框架架構圖

花這個圖大概用了兩天的時間,其中也有一些不斷修改的過程,畫圖幫助我理清楚了框架的結構,糾正了我之前一些錯誤的想法和思路。

  • 框架分爲兩個層面: 功能性能
  • 功能以 HTTP接口測試爲主,拓展的有 SocketdubboRedisMySQL以及 MongoDB,這幾種都是平級,我之前覺得 HTTP要成爲單獨的一塊拿出來的講,因爲這裏我做了很多封裝和優化,但是最近了解越多,越覺得自己渺小,每一種接口協議都是一塊非常大的內容,以後的工作會遇到更多更復雜的其他協議的接口測試,當然也有我未列出的其他協議,等我遇到了,會及時更新的。
  • 功能有大量的基礎方法封裝,主要以各種工具類體現。
  • 功能區中單獨列出來幾個功能模塊的封裝: XML文件解析moco APIJsonPathmessage,之所以單獨列出來是考慮到封裝的功能比較複雜,對於接下來的測試中遇到的需求,有着解決方案的作用,故而單獨列出來。之前的文章都有詳細說明這些功能是解決什麼問題的,有興趣可以翻看。
  • 性能分成三部分 多線程模型執行類輔助功能類,結構簡單,其中 多線程模型輔助類中的 標記類都是一些 接口虛擬類,在業務實踐中有針對不同需求的簡單實現類,而在實際工作中大多數測試場景都需要確定 測試模型測試模式後,手動完成多線程類的編寫,而不是直接使用 業務實踐中的實現。
  • 關於性能測試框架如何使用工作,有興趣的可以翻看以前的文章,這裏就說一下思路,根據不同的需求選擇實現不同的 虛擬類,然後將在 doing()方法中編寫單次運行的業務的接口請求(包括不限於 HTTPdubbo等)。完成性能測試框架會執行相應的測試用例,自動收集相關數據,然後統計運算,最近輸出測試報告(圖形)以及測試結果數據。

FunTester騰訊雲社區欽定年度作者,非著名測試開發er,歡迎關注。

點擊閱讀原文,查看公衆號歷史文章


本文分享自微信公衆號 - FunTester(NuclearTester)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章