性能測試總體認知

性能測試技能樹

  • 開發語言
  • 操做系統
  • 數據庫
  • 測試工具
  • 網絡知識
  • 業務知識

性能測試的目的

  • 發現性能瓶頸

性能測試的分類

概念

  • 性能測試時一個很是普遍的概念,包括不少方面的測試,也可稱之爲非功能測試。
  • 自動化測試屬於功能測試的範圍,因爲其測試方法要求測試人員擁有必定的代碼能力,因此被單獨分紅一個測試模塊。

具體分類(測試範圍)

  • 負載測試:經過逐步加壓的方法,達到既定的性能閾值的目標,閾值的設定應是小於等於某個值,如 CPU 使用率小於等於80%。
  • 壓力測試:經過逐步加壓的方法,使得系統某些資源達到飽和,甚至失效的狀態,簡單粗暴的解釋就是什麼條件能把系統壓崩潰。
  • 併發測試:在同一時間內,多個虛擬用戶同時訪問同一模塊、同一功能,一般的測試方法時設置集合點。
  • 容量測試:一般是指數據庫層面的,目標是獲取數據庫的最佳容量的能力,又稱之爲容量預估。具體測試方法時在必定的併發用戶,不一樣的基礎數據量下,觀察數據庫的處理能力,即獲取數據庫的各項性能指標。
  • 可靠性測試:又稱之爲穩定性測試或疲勞測試,是指系統在高壓狀況下,長時間的運行系統是否穩定。如 CPU 使用率在80%以上,7*24小時運行,系統是否穩定。
  • 異常測試:又稱之爲失敗測試,是指系統架構方面的測試。如在負載均衡架構中,要測試宕機、節點掛掉等狀況系統的反應。

性能測試的工做流程

需求分析 -> 性能指標制定 -> 腳本開發 -> 場景設置 -> 監控部署 -> 測試執行 -> 性能分析 -> 性能調優 -> 測試報告android

常見系統應用分層架構

  • 顯示層(view):web、android、ios、H5
  • 邏輯控制層(controller):API
  • 數據存儲層(model):MySQL、mongodb、redis

性能測試指標定義

  • 事務:從客戶端發起一個或多個請求(這些請求組成一個完整的操做),到客戶端接收到從服務器返回的響應。
  • TPS(Transaction Per Second):每秒鐘系統可以處理的事務數。
  • 請求響應時間:從客戶端發起的一個請求開始,到客戶端接收到從服務器返回的響應,整個過程所耗費的時間。
  • 事務響應時間:事務多是由一個或多個請求組成的,事務響應時間主要是針對於用戶的角度而言,好比轉帳。
  • 併發定義:沒有嚴格意義上的併發。併發總有前後,不管差距是1毫秒或者是1微秒,總有一個時間差。因此併發講的是一個時間範圍內,好比1秒內。
    • 併發舉例:
      • 多用戶在系統上進行同一操做,好比雙十一時,你們都針對同一種商品進行秒殺;
      • 多用戶在系統上進行不一樣的操做,好比雙十一時,你們針對不一樣的商品進行秒殺,或者是你們有進行其餘不一樣的操做,好比商品瀏覽。
  • 併發用戶數:同一時間內,對 系統發起請求的用戶數量。
  • 吞吐量:一次性能測試過程當中給網絡上傳輸的數據量的總和。
  • 吞吐率:單位時間內網絡上傳輸的數據量。
    • 吞吐量 = 吞吐量/傳輸時間
  • 點擊率:每秒鐘用戶像服務器提交的請求數。這個指標是web應用程序特有的一個指標,能夠想象爲每秒鐘用戶總共在頁面上進行多少次點擊動做,可是須要注意的是一次鼠標單擊的操做後,客戶端有可能像服務器發送了屢次請求。
  • 資源使用率:對不一樣的系統資源的使用狀況,如CPU、IO、內存。

性能測試的需求分析

分析的目的

  • 明確測試指標
  • 明確測試場景

分析場景

  • 新系統
    • 同行業比較
    • 業務預期
  • 老系統
    • 對比以往的用戶使用行爲以及用戶量

性能測試工具對比

經常使用工具

  • LoadRunner
  • JMeter

對比

相關文章
相關標籤/搜索