一站式的開源持續測試平臺---MeterSphere

【轉載請註明出處】:https://blog.csdn.net/huahao1989/article/details/107827383前端

在咱們實際的項目迭代過程當中,基本上會經歷過的幾個問題:vue

  • 測試用例不規範,有些甚至沒有測試用例文檔
  • 文檔隨我的喜愛隨便使用,word、excel、xmind...
  • 沒有專門的人去管理這些文檔,時間長了就丟失了
  • 測試用例和測試腳本很凌亂,基本都是測試我的保管

之前的公司,包括如今的公司都自研過本身的測試平臺,可是都不盡人意,直到看到MeterSphere讓人眼前一亮,產品的廠家和JumpServer的廠家是同一個,比較靠譜,從發佈到如今差很少7個月的時間,star已經超過了1.4k,很是活躍。node

image.png

爲何要持續測試?

傳統 QA 團隊和實踐難以知足數字業務的需求mysql

image.png

數字業務的要求
  • 縮短交付時間
  • 快節奏交付
  • 從質量保障到質量協助
傳統 QA 的不足之處
  • 人工測試耗時長
  • 「部門牆」和「交接」仍然存在
  • Bug 發現和解決成本高

什麼是 MeterSphere ?

MeterSphere 是一站式的開源企業級持續測試平臺,涵蓋測試跟蹤、接口測試、性能測試、團隊協做等功能,兼容JMeter 等開源標準,有效助力開發和測試團隊充分利用雲彈性進行高度可擴展的自動化測試,加速高質量軟件的交付。git

總體定位

持續測試是企業 DevOps 實踐中的關鍵環節github

image.png

測試跟蹤

image.png

測試用例管理
  • 樹狀用例管理結構
  • 在線編輯用例
  • 快速導入用例
測試計劃跟蹤
  • 基於已有用例發起測試
  • 在線更新用例執行結果
  • 自定義測試報告模板

接口測試

image.png

測試腳本
  • 在線編輯測試內容
  • 支持參數化測試
  • 支持斷言、變量提取
  • 經過瀏覽器插件快速錄製
測試報告
  • 自動生成測試報告
  • 屢次測試結果對比
  • 查看請求及響應詳情
  • 測試報告內容導出

性能測試

image.png

測試腳本
  • 徹底兼容 JMeter 腳本
  • 在線調整壓力參數
  • 分佈式、多平臺測試資源池
  • 經過瀏覽器插件快速錄製
測試報告
  • 自動生成測試報告
  • 屢次測試結果對比
  • 豐富的報告展現詳情
  • 測試報告內容導出

團隊協做

image.png

多租戶支持
  • 多級租戶體系
  • 支持多種租戶角色
  • 租戶資源隔離
測試資源管理
  • 性能測試資源池
  • 測試報告模板
  • 第三方系統對接

MeterSphere 的優點

  • 全生命週期
    可以覆蓋從測試計劃到測試執行、測試報告分析的不一樣階段
  • 自動化 & 擴展性
    支持接口和性能的自動化測試,可充分利用雲彈性實現超大規模的性能測試
  • 持續測試
    可以與持續集成工具無縫集成,支撐企業實現測試左移
  • 團隊協做
    支持不一樣規模的測試團隊,小到幾我的的測試團隊,大到數百人的測試中心

技術棧

總體架構

image.png

  • Frontend:
    MeterSphere 的前端工程, 基於 vue.js 進行開發
  • Backend:
    MeterSphere 的後端後稱, 基於 Sprint boot 進行開發, 爲 MeterSphere 的功能主體
  • Chrome plugin:
    瀏覽器插件, 錄製 web 訪問請求生成 JMeter 腳本並導入到 MeterSphere 中用於接口測試及性能測試
  • Node controller:
    爲性能測試提供獨立節點類型的測試資源池, 接收來自系統的性能測試任務, 動態的啓動 JMeter 容器完成性能測試
  • MySQL:
    MeterSphere 項目的主要數據均存儲在 MySQL
  • Kafka:
    接收 JMeter 產生的性能測試結果數據
  • Data streaming:
    從 Kafka 中獲取性能測試結果數據進行處理後存入 MySQL 數據庫
  • Docker engine:
    爲 Node Controller 提供 JMeter 容器運行環境

各個組件間的關係可參考下圖web

image.png

管理模型

image.png

MeterSphere 提供了多租戶、多角色的管理模型, 用戶可根據所在團隊的實際狀況進行靈活的租戶體系映射算法

  • 系統:
    每一個獨立部署的 MeterSphere 即稱爲一套系統
  • 系統級角色:
    角色的權限範圍爲整個體統, 常見的角色如系統管理員, 可管理整個系統內的租戶、用戶即測試資源, 同時可變動修改系統級配置參數
  • 組織:
    MeterSphere 中的一級租戶, 可映射爲一個公司下的不一樣部門
  • 組織級角色:
    角色的權限範圍限定在某個組織當中, 常見的角色如組織管理員, 可管理整個組織內的成員、工做空間及成員等
  • 工做空間:
    MeterSphere 中的二級租戶, 可映射爲一個部門下的不一樣團隊、項目組
  • 工做空間級角色:
    角色的權限範圍如今在某個工做空間當中, 常見的角色如工做空間管理員及普通用戶, 可在工做空間中建立項目、發起測試、查看測試報告等

安裝部署

環境要求
  • 操做系統: CentOS 7.x
  • CPU/內存: 4核8G
  • 磁盤空間: 50G
  • 可訪問互聯網
一鍵安裝

以 root 用戶執行以下命令一鍵安裝 MeterSphere:spring

curl -sSL https://github.com/metersphere/metersphere/releases/latest/download/quick_start.sh | sh
手動安裝

請自行下載 MeterSphere 最新版本的在線安裝包,並複製到目標機器的 /tmp 目錄下sql

安裝包下載連接: https://github.com/metersphere/metersphere/releases

以 root 用戶 ssh 登陸到目標機器, 並執行以下命令

cd /tmp
# 解壓安裝包
tar zxvf metersphere-release-v1.0.3.tar.gz

在安裝包解壓後的目錄,編輯修改安裝參數, 若是無特殊需求能夠不進行修改採用默認參數安裝

cd metersphere-release-v1.0.3
vim install.conf

安裝腳本默認使用 /opt/metersphere 目錄做爲安裝目錄,MeterSphere 的配置文件、數據及日誌等均存放在該安裝目錄

執行安裝腳本

cd metersphere-release-v1.0.3
# 運行安裝腳本
/bin/bash install.sh
# 等待安裝腳本執行完成後,查看 MeterSphere 狀態
msctl status

安裝成功後,經過瀏覽器訪問以下頁面登陸 MeterSphere

地址: http://目標服務器IP地址:8081
用戶名: admin
密碼: metersphere`
升級

按照本文檔前述步驟, 下載新版本安裝包並上傳解壓後, 從新執行安裝命令進行升級

# 進入項目目錄
cd metersphere-release-v1.x.y
# 運行安裝腳本
/bin/bash install.sh
# 查看 MeterSphere 狀態
msctl status

操做手冊能夠參考官網
https://metersphere.io/docs/user_manual/system_management/

image.png

image.png

image.png

image.png

歡迎關注 「後端老鳥」 公衆號,接下來會發一系列的專題文章,包括Java、Python、Linux、SpringBoot、SpringCloud、Dubbo、算法、技術團隊的管理等,還有各類腦圖和學習資料,NFC技術、搜索技術、爬蟲技術、推薦技術、音視頻互動直播等,只要有時間我就會整理分享,敬請期待,現成的筆記、腦圖和學習資料若是你們有需求也能夠公衆號留言提早獲取。因爲本人在全部團隊中基本都處於攻堅和探路的角色,搞過的東西多,遇到的坑多,解決的問題也不少,歡迎你們加公衆號進羣一塊兒交流學習。

【轉載請註明出處】:https://blog.csdn.net/huahao1989/article/details/107827383

image

相關文章
相關標籤/搜索