性能測試 壓力測試 負載測試

性能測試(或稱多用戶併發性能測試)、負載測試、強度測試、容量測試是性能測試領域裏的幾個方面,但是概念很容易混淆。下面將幾個概念進行介紹。

性能測試(Performance Test):通常收集所有和測試有關的所有性能,通常被不同人在不同場合下進行使用。
關注點:how much和how fast

負載測試(Load Test):負載測試是一種性能測試,指數據在超負荷環境中運行,程序是否能夠承擔。
關注點:how much

強度測試(Stress Test): 強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況,目的是找到系統在哪裏失效以及如何失效的地方。包括
Spike testing:短時間的極端負載測試
Extreme testing:在過量用戶下的負載測試
Hammer testing:連續執行所有能做的操作

容量測試(Volume Test):確定系統可處理同時在線的最大用戶數
關注點:how much(而不是how fast)
容量測試,通常和數據庫有關,容量和負載的區別在於:容量關注的是大容量,而不需要表現實際的使用。

其中,容量測試、負載測試、強度測試的英文解釋爲:
Volume Testing = Large amounts of data
Load Testing = Large amount of users
Stress Testing = Too many users, too much data, too little time and too little room


可能大家角色性能測試、負載測試和強度測試比較混淆。沒錯,這三個概念是比較容易使人糊塗。負載測試和強度測試,都屬於性能測試的子集。下面舉個跑步的例子進行解釋。
性能測試,表示在一個給定的基準下,能執行的最好情況。例如,在沒有負重的情況下,你跑100米需要花多少時間(這邊,沒有負重是基準)?
負載測試,也是性能測試,但是他是在不同的負載下的。對於剛纔那個例子,如果擴展爲:在50公斤、100公斤……等情況下,你跑100米需要花多少時間?
強度測試,是在強度情況下的性能測試。對於剛纔那個例子,如果改爲:在一陣強風的情況下,你在負重或沒有負重的情況下,跑100米需要花多少時間?

性能測試是動力,負載測試載重,壓力測試強度

壓力測試stresstest是在一定的負荷條件下,長時間連續運行系統給系統性能造成的影響。

負載測試Loadtest:在一定的工作負荷下,給系統造成的負荷及系統響應的時間。 

壓力測試主要是爲了發現在一(任意)定條件下軟件系統的性能的變化情況,通過改變應用程序的輸入以對應用程序施加越來越大的負載(併發,循環操作,多用戶)並測量在這些不同的輸入時性能的改變,也就是通常說的概念:壓力測試考察當前軟硬件環境下系統所能承受的最大負荷並幫助找出系統瓶頸所在。其實這種測試也可以稱爲負載測試,但是負載測試通常描述一種特定類型的壓力測試——增加用戶數量以對應用程序進行壓力測試。比如實際中我們說從比較小的負載開始,逐漸增加模擬用戶的數量, 直到應用程序響應時間超時,就是說的負載測試。

壓力測試的目標是測試在一定的負載下系統長時間運行的穩定性,尤其關注大業務量情況下長時間運行系統性能的變化(例如是否反應變慢、是否會內存泄漏導致系統逐漸崩潰、是否能恢復);壓力測試是測試系統的限制和故障恢復能力,它包括兩種情況:
穩定性壓力測試:在選定的壓力值下,長時間持續運行。通過這類壓力測試,可以考察各項性能指標是否在指定範圍內,有無內存泄漏、有無功能性故障等;
破壞性壓力測試:在穩定性壓力測試中可能會出現一些問題,如系統性能明顯降低,但很難暴露出其真實的原因。通過破壞性不斷加壓的手段,往往能快速造成系統的崩潰或讓問題明顯的暴露出來;

負載測試的目標是測試在一定負載情況下系統性能(不關注穩定性,也就是說不關注長時間運行,只是得到不同負載下相關性能指標即可);實際中我們常從比較小的負載開始,逐漸增加模擬用戶的數量(增加負載), 觀察不同負載下應用程序響應時間、所耗資源,直到超時或關鍵資源耗盡,這就是所說的負載測試,它是測試系統的不同負載情況下的性能指標。

 ——————————————————————————————

最簡單來說:

負載測試是測試軟件本身最大所能承受的性能測試;

壓力測試就是一種破壞性的性能測試;

只要理解這兩點區別,就非常好理解性能測試了

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