在Web或App 應用及服務正式發布之前,通過功能測試和安全測試以后,還要保證互聯網產品的服務交付質量,就需要做壓力測試、負載測試及性能(強度、容量、穩定性)測試。
壓力/負載/性能(強度、容量、穩定性)測試之異同?
在產品研發過程中,常常會混淆壓力、負載、性能(強度、容量、穩定性)測試這三者之間的區別,這三種測試到底有什么不同呢?
| 壓測工具 |
定義 |
關注點 |
目標 |
舉個例子 |
| 負載測試(Load Test) |
負載測試測試軟件在一定的工作負荷下給系統造成的負荷及系統響應的時間,即本身最大所能承受的測試方法,可以為性能測試、壓力測試所采用。負載測試載重,服務器在多大並發下,會掛掉。對於WEB應用來講,負載則是並發用戶或者HTTP連接的數量 |
how much
|
目標是確定並確保系統在超出最大預期工作量的情況下仍能正常運行,找到系統處理能力的極限 |
一個人背X斤, 200斤情況下,是否能堅持5分鍾。
|
| 壓力測試(Stress Test)
|
壓力測試就是一種破壞性的性能測試,通過逐步增加系統負載,確定在什么負載條件下系統處於失效狀態,以此來獲得系統能提供的最大服務級別。壓力測試強度
|
|
壓力測試是為了發現在什么條件下測試應用程序的性能會變得不可接受。即檢查系統處於壓力性能下時應用的表現 |
一個人背X斤,200,300,400...斤情況下,他的表現,什么時候失敗,失敗之后什么表現,重新扛200是否正常。
|
| 性能測試(Performance Test)
|
性能測試是為獲取或驗證系統性能指標而進行測試。多數情況下,性能測試會在不同負載情況下進行。性能測試是動力。操作:“運行負載試驗->測度性能->調試系統” |
how much和how fast
|
目的不是去找系統Bugs,而是排除系統的性能瓶頸,確保系統能達到預期值,並為回歸測試建立一個基准 |
一個人背X斤, 要求200個人並發背X斤,2min內的響應就是屬於性能測試。 |
| 強度測試(Stress Test)
|
強度測試是一種性能測試,在系統資源特別低的情況下軟件系統運行情況,包括: Spike testing:短時間的極端負載測試 Extreme testing:在過量用戶下的負載測試 Hammer testing:連續執行所有能做的操作 |
|
目的是找到系統在哪里失效以及如何失效的地方 |
一個人背X斤, |
| 容量測試(Volume Test)
|
容量測試是一種性能測試,使系統承受超額的數據容量來發現它是否能夠正確處理。容量測試通常和數據庫有關,容量和負載的區別在於:容量關注的是大容量,而不需要表現實際的使用 |
how much,而不是how fast |
確定系統可處理同時在線的最大用戶數 |
一個人背X斤, 在堅持5分鍾的情況下,他一次最多能扛多少斤。 |
| 穩定性測試 |
給系統加載一定業務壓力情況下,使系統運行一段時間 |
|
驗證是否支持長期穩定的運行 |
一個人背X斤, Y個人背X斤,看能堅持多少分鍾。 |
這幾種測試操作的環節都是基本一致的,因此一次測試過程中完全可以包含性能(強度、容量、穩定性)測試、負載測試、壓力測試三個方面的內容,所使用的測試工具往往大同小異。
------------------------------------------------------Tanwheey-------------------------------------------------------------------------
愛生活,愛工作。
