對效能測試、負載測試和強度測試比較混淆。沒錯,這三個概念是比較容易使人糊塗。負載測試和強度測試,都屬於效能測試的子集。下面舉個跑步的例子進行解釋。
效能測試,表示在乙個給定的基準下,能執行的最好情況。例如,在沒有負重的情況下,你跑100公尺需要花多少時間(這邊,沒有負重是基準)?
負載測試,也是效能測試,但是他是在不同的負載下的。對於剛才那個例子,如果擴充套件為:在50公斤、100公斤……等情況下,你跑100公尺需要花多少時間?
強度測試,是在強度情況下的效能測試。對於剛才那個例子,如果改為:在一陣強風的情況下,你在負重或沒有負重的情況下,跑100公尺需要花多少時間?
效能測試(或稱多使用者併發效能測試)、負載測試、強度測試、容量測試是效能測試領域裡的幾個方面,但是概念很容易混淆。下面將幾個概念進行介紹。
效能測試(performancetest)
:通常收集所有和測試有關的所有效能,通常被不同人在不同場合下進行使用。
關注點:howmuch和howfast
負載測試(loadtest)
:負載測試是一種效能測試,指資料在超負荷環境中執行,程式是否能夠承擔。
關注點:howmuch
強度測試(stresstest)
:強度測試是一種效能測試,他在系統資源特別低的情況下軟體系統運**況,目的是找到系統在**失效以及如何失效的地方。包括
spiketesting:短時間的極端負載測試
extremetesting:在過量使用者下的負載測試
hammertesting:連續執行所有能做的操作
容量測試(volumetest)
關注點:howmuch(而不是howfast)
容量測試,通常和資料庫有關,容量和負載的區別在於:容量關注的是大容量,而不需要表現實際的使用。
其中,容量測試、負載測試、強度測試的英文解釋為:
volumetesting=largeamountsofdata
loadtesting=largeamountofusers
stresstesting=toomanyusers,toomuchdata,toolittletimeandtoolittleroom
效能測試是動力,負載測試載重,壓力測試強度
壓力測試stresstest是在一定的負荷條件下,長時間連續執行系統給系統效能造成的影響。
負載測試loadtest:在一定的工作負荷下,給系統造成的負荷及系統響應的時間。
壓力測試主要是為了發現在一(任意)定條件下軟體系統的效能的變化情況,通過改變應用程式的輸入以對應用程式施加越來越大的負載(併發,迴圈操作,多使用者)並測量在這些不同的輸入時效能的改變,也就是通常說的概念:壓力測試考察當前軟硬體環境下系統所能承受的最大負荷並幫助找出系統瓶頸所在。其實這種測試也可以稱為負載測試,但是負載測試通常描述一種特定型別的壓力測試——增加使用者數量以對應用程式進行壓力測試。比如實際中我們說從比較小的負載開始,逐漸增加模擬使用者的數量,直到應用程式響應時間超時,就是說的負載測試。
壓力測試的目標是測試在一定的負載下系統長時間執行的穩定性,尤其關注大業務量情況下長時間執行系統效能的變化(例如是否反應變慢、是否會記憶體洩漏導致系統逐漸崩潰、是否能恢復);壓力測試是測試系統的限制和故障恢復能力,它包括兩種情況:
穩定性壓力測試:在選定的壓力值下,長時間持續執行。通過這類壓力測試,可以考察各項效能指標是否在指定範圍內,有無記憶體洩漏、有無功能性故障等;
破壞性壓力測試:在穩定性壓力測試中可能會出現一些問題,如系統效能明顯降低,但很難暴露出其真實的原因。通過破壞性不斷加壓的手段,往往能快速造成系統的崩潰或讓問題明顯的暴露出來;
負載測試的目標是測試在一定負載情況下系統效能(不關注穩定性,也就是說不關注長時間執行,只是得到不同負載下相關效能指標即可);實際中我們常從比較小的負載開始,逐漸增加模擬使用者的數量(增加負載),觀察不同負載下應用程式響應時間、所耗資源,直到超時或關鍵資源耗盡,這就是所說的負載測試,它是測試系統的不同負載情況下的效能指標。
——————————————————————————————
最簡單來說:
負載測試是測試軟體本身最大所能承受的效能測試;
壓力測試就是一種破壞性的效能測試;
只要理解這兩點區別,就非常好理解效能測試了
壓力測試就是一種破壞性的效能測試
壓力測試stresstest是在一定的負荷條件下,長時間連續執行系統給系統效能造成的影響。負載測試loadtest 在一定的工作負荷下,給系統造成的負荷及系統響應的時間。壓力測試主要是為了發現在一 任意 定條件下軟體系統的效能的變化情況,通過改變應用程式的輸入以對應用程式施加越來越大的負載 併發,迴...
git 中的非破壞性操作
如果你學習過 python 程式語言,你可能會知道,python 為列表內建了乙個排序方法。lst 3,1,2 lst.sort 這個例子中,list.sort 方法可以將列表內的元素按照從小到大的順序排序。但是,跟其它大多數操作不同,list.sort 沒有返回值,或者返回的是 none。它將排序...
克里斯坦森的破壞性創新 《可以量
內容提要 消費者對商品的需求焦點會隨著商品的發展而從功能性到可靠性,到便利性,最後轉移到 克萊頓 克里斯坦森 clayton m.christensen 所創造的破壞性創新就是指消費者需求焦點的轉移,最開始成功的企業是商品功能最好的企業,但隨著商品功能的發展超過了主流消費者的需求時,功能的進步不會再...