性能測試的分類
性能測試有哪些分類
- 負載測試:通過在系統上不斷加壓,直到性能指標達到極限。這種測試方法一般用來了解系統的性能容量,或是配合性能調優來使用。
我理解為測試系統在負荷的情況下,系統的負荷帶來的的系統響應的時間,測試的是系統正常工作條件下所能承受的最大負載。
能力
- 壓力測試:系統的資源使用飽和的情況下如CPU、內存,系統的正常處理會話能力,以及系統是否會出現錯誤。目的是檢查系統處於壓
力性能下的應用表現,通過模擬負載等方法是的系統的資源使用達到較高的水平。我的理解為在一定的負荷條件下,長時間連續運作給系
統性能造成的影響,測試在負荷的情況下,系統哪些地方發生問題。更多時候確定系統的穩定性
- 並發測試:通過模擬yoghurt並發訪問,測試多用戶同一個應用,同一個模塊或者數據記錄時是否會發生死鎖或是其他的性能問題。這種
測試方法的主要目的是發現系統中可能隱藏並發訪問時的問題。主要關註系統中存在的並發問題,例如內存泄漏、線程鎖和資源爭用方面
的問題。這種方法可以在開發的各個階段使用需要相關的的測試工具的配合和支持。我理解:並發嚴格來說是多個用戶在同一時間對同一
系統進行相同的操作,但也看到說多個用戶在同一系統同一時刻進行任一操作也可叫並發。需要模擬多個用戶都系統進行並發操作,已觀察
系統的處理能力。
- 配置測試:通過對系統的軟/硬件環境的調整,去發現不同的條件對系統的性能影響的程度,從而找到系統各項資源的最優。這種性能測試
方法的主要目的是了解各種不同的因素對系統性能的影響程度,從而判斷出最值得進行的調優操作。 但是這種性能測試方法一般在對系統性
能狀況有初步了解後進行,且用於性能調優和規劃能力。我的理解就是在對現系統的性能有一定的了解後,使用不同的軟/硬件組合去找到讓系統
有最優的性能。
- 可靠性測試:在給系統加載一定業務的情況下,使系統運行一段時間,以此檢測系統是否穩定。主要的目的是驗證事都支持長期穩定的運行
且需要在壓力下持續一定時間的運行,測試過程中需要關註系統的運行狀況。也就是說這種測試的關註點是“穩定”,不需要給系統太大的的
壓力,只要系統能夠長期處於一個穩定的狀態。我理解的是 在一定的壓力下系統運行過一定的時間後去測試系統的性能是否能正常處理事件。
- 失效性測試:按老師說的理解的話就是測試當系統局部出現問題時,其他部分是否可以正常運行。
開始看的時候實在不是很分的清壓力測試和負載測試之間的區別,後來去查的時候才明白,原來負載測試就是要知道系統正常處理事件時的
最大負荷,而壓力測試就是去發現系統在資源負荷的情況下的問題,其實我覺得壓力測試是在負載測試下衍生出來的····
###什麽是並發用戶
-並發用戶:就是在同一時間內對測試系統進行操作的用戶。當然如果嚴格來說的話,是在同一時間內對測試系統進行相同操作的用戶,
簡述理發店原理
-理發店的故事:
1. 一個理發店有三位理發師傅。
2. 每位理發師傅服務一位顧客需要一小時。
3. 顧客都很忙,從進理發店起最多只能等待三小時(等待加 + 被服務的時間)。
思考:
這裏我們來理解“最佳用戶數”和“最大用戶數”。
-理發店原理:三位理發師服務的時間均為一小時一位,而顧客最大忍耐時間為三小時,那我們想最好生意的時候應該就是三位理發師都有客人,那最佳用戶為三位,
但因為顧客可以容忍你三小時,那店裏的空間要保證能夠容納九個或九個以上的顧客才不會流失掉應有的客人。我的理解為去測系統的處理
能力是一定的時間內,他的最佳用戶數和最大用戶數
###什麽是吞吐量
-吞吐量:一性能測試過程中網絡上傳輸的數據量的綜合
-吞吐率: 單位時內網絡上傳的數據量
-------我在看其他的文章描述的吞吐量是指單位時間內系統處理用戶的請求數,其實我覺得這跟老師說的吞吐率的概念
是相同的,我想就把吞吐率歸於吞吐量的一種的吧 吞吐量指標可以反映服務器承受的壓力,他能夠說明系統的負載能力
可以理解說以字節數/秒方式可以表示系統的網絡基礎設施、服務器架構、應用服務器制約的情況,以請求數/秒的方式表
示應用服務器和應用代碼制約的情況。
---吞吐量在性能測試裏的作用:
-用於協助設計性能測試場景,根據估算的吞吐量數據,可以對應到測試場景的事務發生頻率,事務發生次數等。測試 完成後根據實際
的吞吐量衡量性能測試場景是否達到設計目標。
-用於協助分析性能瓶頸:吞吐量的限制是性能瓶頸的一種重要表現形式,因此有針對性的對吞吐量設計測試,可以協助盡快定位到性能
瓶頸的所在位置。
補充知識:
RBI:是Empirix公司提出的快速識別系統性能瓶頸的方法。這方法基於以下結論得出:
- 1、發現80%系統的系能瓶頸都由吞吐量制約;
- 2、並發用戶數和吞吐量瓶頸之間存在一定的關聯;
- 3、采用吞吐量測試可以更快速定位問題。
通過不斷增加並發用戶數和吞吐量觀察系統的性能瓶頸。然後、從網絡、數據庫、應用服務器和代碼本身4個人環節確定系統的性能瓶頸
###什麽是tps
-要說tps的話,就要了解事物的概念,事務是指用戶某一步或幾步操作的集合,不過我們要保證它有完整意義。比如用戶一次
請求到成功的一個過程就是一個事務。而TPS是系統每秒能處理事務或交易的數量,它是衡量系統處理能力的重要指標。點擊率
可以看做是TPS的一種特定情況,點擊率更能體現用戶端對服務器的壓力。tps更能體現服務器對客戶端對客戶請求的處理能力。
###什麽是響應時間
一次完整的響應時間分為三個過程:數據傳輸、系統處理時間、呈現時間
數據傳輸時間:這個時間由兩段傳輸時間相加而成,一次是用戶請求到達服務器的時間、另一是服務器處理完成返回結果的時間。
系統處理時間:系統得到請求對請求處理完成後並將結果返回的時間 (補充:當系統得到請求後會對請求進行處理並將結果返回。
那我進行性能測試主要就是驗證系統的處理時間,因為前面的呈現時間和數據傳輸時間都是我們不可控制的,用戶使用的電腦及瀏
覽器千差萬別,用戶的網絡狀況千差萬別。我們唯一能控制的就是將系統的處理請求的時間縮到最短。 一般性能測試場景)
呈現時間:就是客戶端接收到請求結果將結果渲染完成的時間
###簡述性能測試流程
- 問清性能需求
- 新系統能力驗證
- 客戶有明確要求
- 找出系統的瓶頸
- 穩定性驗證(這種需求需要考慮性能測試的運行時長)
- 了解系統架構
- 分析測試點
- 測試工具選型
- 測試計劃
- 測試環境搭建
- 測試執行
性能測試的分類