性能測試

最近看了一些性能測試方面的東西,發現以前對性能測試有一些理解不太對。我總結了一下我所查看的一些資料,做了一些整理。


性能測試的概念:

性能測試是系統測試的一種,我們需要通過“系統”的視角來分析被測系統,整個系統,包含軟件和硬件。我們可以將其定義爲: 在一定負載情況下,系統的響應時間等特性是否滿足特定的性能需求。


性能測試相關的幾個概念:

負載: 在多終端用戶對系統進行訪問,用戶越多,那麼服務器系統需要處理的客戶請求也就越多,從而就形成了負載,負載的概念包含三點內容.

  1. 系統實際用戶,這個不是負載的問題,而是容量的問題。

  2. 系統在線用戶,這些用戶對系統形成了負載

  3. 併發操作,用戶在線後,形成了負載,但這時候用戶之間的操作並不是併發的。併發會對系統產生很大負載,但多個用戶併發操作某個功能時,服務器必須對請求進行隊列管理,依次處理。

性能測試分類:

  • 負載測試(Load Testing)

  • 是指在一定的軟件,硬件及網絡環境下,運行一種或多種業務,在不同的虛擬用戶數量的情況下,測試服務器的性能指標是否在用戶的要求範圍內,其目的是爲了確定系統所能承載的最大用戶數,最大有效用戶數以及不同用戶數下的系統響應時間及服務器的資源利用率。

    負載測試強調的是在一定環境下,系統能夠達到的峯值指標。

  • 壓力測試(Stress Testing)

  • 是指在一定的軟件,硬件及網絡環境下,模擬大量的虛擬用戶想服務器產生負載, 使服務器的資源處於極限狀態下並長時間連續運行,目的是用來測試服務器高負載情況下是否能夠穩定工作.

    壓力測試強調的是在極端情況下系統的穩定性, 這個時候的處理能力已經不重要了.

  • 容量測試(Volume Testing )

  • 是指在一定的軟件,硬件及網絡環境下, 在數據庫中構造不同數量級別的數據記錄,運行一種或多種業務在一定虛擬用戶數量的情況下, 獲取不同數量級別的服務器性能指標, 以確定數據庫的最佳容量和最大容量.

    容量測試不僅可以對數據庫進行, 還可以對硬件處理能力, 服務器的連接能力等進行,用來測試系統在不同容量級別下是否能達到指定的性能.

    容量和負載測試的區別; 容量關心的how much, 而負載測試則同時關注 how much and how fast.

  • 配置測試

  • 是指在一定的軟件,硬件及網絡環境下, 在數據庫中構造不同數量級別的數據記錄,運行一種或多種業務,在一定虛擬用戶數量的情況下,獲取不同配置的性能指標,由於選擇最佳的設備及參數配置.

    配置測試可以將性能缺陷放大,方便定位行呢瓶頸.

  • 基準測試(Benchmark Testing)

  • 是指在一定的軟件,硬件及網絡環境下, 在數據庫中構造不同數量級別的數據記錄,運行一種或多種業務,將測試結果作爲基線數據. 在系統調優和系統評測過程中,運行相同的業務場景來比較測試結果. 確定調優後的結果是否達到預期效果或者爲系統的選擇提供決策依據.

    基準測試一般基於配置測試, 通過配置測試得到數據, 並將這個數據作爲基準來比較每次調優後的性能是否有所改善.

  • 併發測試

  • 是指通過模擬多個用戶併發訪問同一個應用,存儲過程,或數據記錄以及其他的併發操作。測試是否存在死鎖,數據錯誤等故障。爲了避免數據庫或函數方法在併發下的錯誤,需要專門針對每個模塊進行測試。

性能測試關注的幾個指標:

  • 響應時間

  • 響應時間也就是反應完成某個業務所需要的時間,一般利用事務函數來完成對響應時間的統計, 稱之爲Transaction Response Time

  • 吞吐量

  • 吞吐量反應的是單位時間內能夠處理的事務數目,也稱爲: TPS(Transaction Per Second, 每秒事務數)

  • 服務器資源佔用

  • 服務器資源佔用指的是在負載下資源的利用率,資源佔用率越多,說明系統月越優秀。

    性能測試中,我們需要監控在負載下硬件和軟件上各種資源的佔用情況,例如CPU的佔用率,內存使用率,查詢CACHE命中率等.

    對於終端用戶來說, 最關心的是指標只有響應時間.

自動化測試工具和性能測試工具的區別


QTP 自動化測試工具和LoadRunner 性能測試工具

QTP 是通過錄制用戶行爲並進行回放,可以模擬一個用戶的操作,但是無法在一個電腦上模擬多個用戶,因爲他是由對象識別技術決定的.

LoadRunner迴避了界面,採用協議的方式來模擬用戶行爲,不考慮用戶在客戶端操作了什麼,只關心操作所帶來的最終請求.

所以說協議模擬是性能測試的核心技術.


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