什么性能測試還有分類?不是就看快慢么? 大哥你要是這么理解那就外行的不能在外行了~其實也不怪大家,常會別人說到性能測試、負載測試、壓力測試、并發測試,很多人都是混合使用,或者一會叫壓力測試,一會叫并發測試。這些概念除了非測試人員分不清楚,甚至許多專業測試人員也對這些名詞也很模糊。
下來我們就說性能測試的分類。
先說說性能測試(狹義)的定義
性能測試方法是通過模擬生產運行的業務壓力量和使用場景組合,測試系統的性能是否滿足生產性能要求。通俗地說,這種方法就是要在特定的運行條件下驗證系統的能力狀態。
特點:
1、這種方法的主要目的是驗證系統是否有系統宣稱具有的能力。
2、這種方法要事先了解被測試系統經典場景,并具有確定的性能目標。
3、這種方法要求在已經確定的環境下運行。
也就是說,這種方法是對系統性能已經有了解的前提,并對需求有明確的目標,并在已經確定的環境下進行的。
下來說說廣義面的定義和類型
基本上有以下幾種
一·負載測試
通過在被測系統上不斷加壓,直到性能指標達到極限,例如“響應時間”超過預定指標或都某種資源已經達到飽和狀態。
特點:
1、這種性能測試方法的主要目的是找到系統處理能力的極限。
2、這種性能測試方法需要在給定的測試環境下進行,通常也需要考慮被測試系統的業務壓力量和典型場景、使得測試結果具有業務上的意義。
3、這種性能測試方法一般用來了解系統的性能容量,或是配合性能調優來使用。
打個比方 例如 每次吃飯只吃一碗米飯,結果為了檢測你最多能吃多,那就不停地讓你吃,直到你實在吃不下去,哈哈 崩潰了吧~
壓力測試
壓力測試方法測試系統在一定飽和狀態下,例如cpu、內存在飽和使用情況下,系統能夠處理的會話能力,以及系統是否會出現錯誤
特點:
1、這種性能測試方法的主要目的是檢查系統處于壓力性能下時,應用的表現。
2、這種性能測試一般通過模擬負載等方法,使得系統的資源使用達到較高的水平。
3、這種性能測試方法一般用于測試系統的穩定性。
打個比方,CPU在滿負荷的狀態下 你在去打開幾個應用 看系統會不會崩潰 等等~
并發測試
并發測試方法通過模擬用戶并發訪問,測試多用戶并發訪問同一個應用、同一個模塊或者數據記錄時是否存在死鎖或其者他性能問題。
特點:
1、這種性能測試方法的主要目的是發現系統中可能隱藏的并發訪問時的問題。
2、這種性能測試方法主要關注系統可能存在的并發問題,例如系統中的內存泄漏、線程鎖和資源爭用方面的問題。
3、這種性能測試方法可以在開發的各個階段使用需要相關的測試工具的配合和支持。
打個比方 例如 一個飯堂最多能容納100人吃飯,結果中午去了 200個在同一時刻去吃飯,結果100只能等著別人吃完飯 所以最大并發數為100
配置測試
配置測試方法通過對被測系統的軟\硬件環境的調整,了解各種不同對系統的性能影響的程度,從而找到系統各項資源的最優分配原則。
特點:
1、這種性能測試方法的主要目的是了解各種不同因素對系統性能影響的程度,從而判斷出最值得進行的調優操作。
2、這種性能測試方法一般在對系統性能狀況有初步了解后進行。
3、這種性能測試方法一般用于性能調優和規劃能力。
打個比方 例如 我們玩一個款大型網絡3D游戲 你拿很爛的雙核1G機器玩 趕緊很卡 但是你拿4核4g的機器玩 我靠 怎么這么流程 這就叫配置測試
可靠性測試
在給系統加載一定業務壓力的情況下,使系統運行一段時間,以此檢測系統是否穩定。
特點:
1、這種性能測試方法的主要目的是驗證是否支持長期穩定的運行。
2、這種性能測試方法需要在壓力下持續一段時間的運行。(2~3天)
3、測試過程中需要關注系統的運行狀況。
打個比方 例如 老板說這一個月你都要每天加班到晚上10點,OK 如果你這一個月能扛下來的話,那通過測試,結果你干了2星期 身體垮了 測試失敗們哈哈 是不是有點變態