性能測試用戶模型

發表于:2015-09-06來源:uml.org.cn作者:不詳點擊數: 標簽:性能測試
在性能測試過程中,很重要的一個部分就是評估待測系統在一定壓力下的性能表現。比如系統上線后,真實的性能到底如何?兩年后系統的使用用戶增加后,性能又如何?這些都是性能測試

  概述

  在性能測試過程中,很重要的一個部分就是評估待測系統在一定壓力下的性能表現。比如系統上線后,真實的性能到底如何?兩年后系統的使用用戶增加后,性能又如何?這些都是性能測試中,項目相關人最關心的問題。

  所謂的性能表現,說的更直觀一些,其實就是用戶體驗。用戶不會在乎系統的處理能力是多少、吞吐量是多少,他們能夠感受到的只是系統能否處理他們的請求、處理的速度有多快。

  這里提到的一個關鍵詞是“一定壓力”,這個壓力指的是系統在預期的線上場景中所承受的壓力。只有準確的定義和模擬預期的壓力,才有可能獲取到實際場景中真實有價值的用戶感受,而不是那些只存在理論意義的數據指標。

  壓力是由用戶產生的,那么如何準確的定義和模擬用戶的行為,也就成了問題的關鍵。

  以往的性能測試中,用戶的具體行為是由性能測試人員敲定的。性能測試以外的人員,大概只能了解性能測試會模擬多少個用戶,針對哪些模塊或者功能做測試,更進一步的還會明確虛擬用戶的工作量和所需的時間。這些內容一般也就是性能測試方案中所描述的測試場景。

  但這些信息仍然無法準確的對壓力進行描述。比如同是100個虛擬用戶,每個人需要在1小時內完成一定量的工作,如果這些用戶在時間分布上是一個接一個的使用系統,那么對服務器來說,可能就和單個用戶沒有區別。再比如同是100個用戶在線,每個人間隔30秒操作一次和間隔60秒操作一次,壓力可能就會相差一倍。而這些直接影響到測試結果和有效性的細節,測試執行人以外的人員一般無法了解,有時恐怕性能測試人員自己都不明確,完全靠制作腳本過程中發揮,導致測試過程比較隨意,測試結果的有效性也大打折扣。

  有可能對測試結果產生影響的因素主要包括:活躍用戶數量、用戶活躍時間、用戶操作頻率(思考時間)、用戶操作路徑、系統訪問量隨時間分布、各頁面訪問量(工作量)分布等等。對這些因素考慮的越準確,測試的結果才會越有效。

  本文正是試圖對上述內容進行標準化的描述,制定一種規范的分析方法。通過此方法,讓測試人員更準確的設計測試場景,讓其他人員有機會了解到具體的測試過程,并且能對其進行監督和檢查。最終達到“不同測試人員應該測出相同的測試結果”這一目的,也就是獲得準確有效的性能測試結果。

  本方法無法取代數據分析,而是應該作為其的一個應用,可以直觀有效的對用戶行為以及系統的壓力做出描述,測試人員、開發人員、管理者和業務人員等所有項目相關人都會從其中受益。

  術語定義

  虛擬用戶(Vuser)

  性能測試中模擬的用戶,用戶的行為由測試腳本定義。

  在線用戶(或活躍用戶)

  一個時間段內,與服務器保持交互的用戶,也稱為活躍用戶。需與論壇或者QQ上常見的“在線人數”定義區分,該類系統的在線用戶不一定是活躍用戶,在線只是一種狀態。但在業務類系統中,一般只考慮活躍用戶,可認為與在線用戶通用。

  相對并發用戶

  類似活躍用戶,表示單位時間段內與服務器保持交互的用戶,這些用戶在理論上有同一時刻(即絕對并發)進行操作的可能(對這種可能性的度量稱為并發度)。相對并發的說法主要是為了區分絕對并發,盡量避免使用“并發”這個容易引起歧義的術語。

  絕對并發用戶

  同一時間點(嚴格的說是足夠短的時間段內)與服務器進行交互的用戶,一般通過測試工具提供的并發控制(如LR的集合點)實現。

  并發度

  在一個時間點上,可能與服務端進行交互的用戶的數量,它表達的是“絕對并發”的一種可能性。

  思考時間

  用戶每個操作后的暫停時間,或者叫操作之間的間隔時間,此時間內是不對服務器產生壓力的。

  活躍時間

  用戶與服務器進行交互的持續時間。

  基礎數據

  此分析方法依賴于以下基礎數據,基礎數據的詳盡程度將直接決定此模型的有效性和準確性:

  1、系統的訪問量隨時間分布關系??梢灾庇^的觀察到使用壓力是如何分布在一天(一段時間)之間的,通過此數據來構建性能測試場景。

  用戶的活躍時間(與系統進行交互的時間)。用戶的活躍時間是進行系統并發度估算的基礎。比如已知系統的使用壓力集中在4個小時內(平均分布),此期間訪問量為100,用戶的平均活躍時間是30分鐘,那么并發度估算為100/(4h/30min)≈12.5。

原文轉自:http://www.uml.org.cn/Test/201306041.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97