FunTester測試框架架構圖


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

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

一周代碼提交

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

FunTester測試框架架構圖

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM