無人值守自動化效能測試平臺

沉默術士發表於2017-07-03
1.背景介紹
  效能測試平臺是一款將效能測試執行、效能監控、資料分析和展示自動化起來的平臺,儘可能的減少人工操作,提高效率。訪問地址:http://qa.hz.netease.com/ptp
  效能測試平臺主要實現幾個目標:
  測試自動化,自動分發測試指令碼、部署環境、執行測試、資料收集、資料集中分析,並生成結果報告。
  資源集中管理,集中控制所有測試伺服器和被測伺服器,合理分配和排程資源,達到最大化利用。
  持續整合,整合效能測試活動中的各個環節,對產品效能測試結果進行持續縱向和橫向對比,關注產品效能變化趨勢。
  2.平臺架構
  主控機
  負責安裝測試工具、分發測試指令碼和測試資料到各個負載機,部署效能測試環境。
  負責安裝監控工具到各個負載機和被測伺服器。
  啟動負載機上的測試工具開始測試,啟動負載機和被測伺服器上的監控工具,進行全面資源監控。
  全程檢測測試是否正常,如果出錯,抓取錯誤日誌進行報警。
  檢測測試是否結束,成功結束後收集業務效能資料和監控資料到主控機。
  對業務效能資料進行處理、繪製圖表,對監控資料進行處理繪製圖表。
  負載機
  作為測試客戶端啟動負載測試工具模擬虛擬使用者對被測服務進行併發測試。
  監控測試執行日誌和資源使用情況。
  被測伺服器
  被測服務環境安裝和部署。
  監控被測服務日誌和資源使用情況。
3.工具支援
  STAF
  Software Test Automation Framework是由IBM開發的開源、跨平臺、支援多語言並且基於可重用的元件來構建的自動化測試框架。STAF 為測試人員提供了一個端到端的自動化測試解決方案。各個服務端點(稱作STAF客戶端)是對等的,從一個端點可直接呼叫另一端點(在另一臺機器執行的程式)提供的服務。服務是一系列功能的集合。STAF 本身是一個後臺程式 (STAFProc),提供一種輕量級的分發機制,負責把請求轉發給這些服務。
  典型服務:
  檔案系統服務(FileSystem Service):內部服務,利用此服務,STAF 可以對檔案系統進行操作,比如複製,刪除,檢視等操作。
  程式呼叫服務(Process Service):內部服務,利用此服務,STAF 可以呼叫外部程式。
  壓縮服務(Zip Service):外部服務,提供了壓縮和解壓的功能。
  Ping服務(Ping Service):內部服務,類似於作業系統的 ping 功能,用於檢測遠端的 STAF 是否執行。
  Grinder
  效能平臺底層負載效能測試工具Grinder。是一個JavaTM負載測試框架,支援分散式測試,且是開源的。官方訪問地址:http://grinder.sourceforge.net/
  優點:
  Jython指令碼擴充套件性好,能模擬絕大多數複雜測試場景。
  多樣化的協議支援,HTTP、JDBC、JavaAPI等。
  良好的效能表現,與Jmeter相比在某些場景下有優勢。
  Perfease
  Perfease是從後臺組blogbench中抽取的一款Linux伺服器資源監控工具,監控全面、輕量級、效能損耗小。
  內網下載地址:http://doc.hz.netease.com/pages/viewpage.action?pageId=16782036
  主要監控工具和指標:
  1. Vmstat:CPU使用率、上下文切換、中斷次數、磁碟IO、記憶體使用情況等。
  2. Iostat:kB_read/s、kB_wrtn/s、avgrq-sz、avgqu_sz、await、svctm、%util。
  3. Top:Load average、Tasks、CPU、Mem、Swap、程式(VIRT、RES、%CPU、%MEM)。
  4. Ksar:  linux,mac and solaris。  官網:http://sourceforge.net/projects/ksar/ 。
最新內容請見作者的GitHub頁:http://qaseven.github.io/


相關文章