1. 程式人生 > 其它 >效能測試、壓力測試、負載測試 的區別

效能測試、壓力測試、負載測試 的區別

1.效能測試

效能測試(PerformanceTest):以系統設計初期規劃的效能指標為預期目標,對系統不斷施加壓力,驗證系統在資源可接受範圍內,是否能達到效能預期。

容量測試(Volume Testing)

確定系統最大承受量,譬如系統最大使用者數,最大儲存量,最多處理的資料流量等。

得到負載測試和壓力測試各項指標的臨界值。

穩定性測試

定義:是指被測試系統在特定硬體、軟體、網路環境條件下,給系統載入一定業務壓力,使系統執行一段較長時間,以此檢測系統是否穩定,一般穩定性測試 時間為 n*12 小時。

運用場景:此型別的測試目前也最常見,針對需要長時間穩定執行的效能點,需要執行穩定性測試。往往在一個專案的效能測試過程中,會劃分出優先順序較高的效能點,做穩定性測試。例如:寶貝詳情頁面等等。

負載測試(Load Testing)

是確定在各種工作負載下系統的效能,目標是測試當對系統不斷地增加併發請求以增加系統壓力,直到系統的某項或多項效能指標達到安全臨界值,如某種資源已經呈飽和狀態,這時繼續對系統施加壓力,系統的處理能力不但不能提高,反而會下降。

運用場景:一般情況下,是以伺服器資源安全臨界值為界限的測試。如果要模擬某個應用在指定伺服器上最大且安全的負載量,則屬於負載測試。

壓力測試(Stress Testing)

超過安全負載的情況下,對系統繼續施加壓力,直到系統崩潰或不能再處理任何請求,以此獲得系統最大壓力承受能力。

目的是找到系統在哪裡失效以及如何失效的地方。

2.效能測試系統的效能指標

一般會在產品需求文件中有明確定義,

有三種形式描述軟體系統的效能指標:

  • 給出產品效能的主要指標(如響應時間):如在100000記錄中查詢一個特定資料的時間為0.5秒。
  • 與上個基線對比:以某個已釋出的版本為基線,如比上一個版本的效能提高30-50%。
  • 與競爭對手的同類產品比較:也叫對標。

3.效能分析

排查手法基本相同:檢查請求處理的各個環節的日誌,分析哪個環節響應時間不合理,超過預期;然後檢查監控資料,分析影響效能的主要因素是記憶體、磁碟、網路、還是CPU,是程式碼問題還是架構設計不合理,或者系統資源確實不足。

如:硬碟容量的最大值,檔案系統容量的最大值,最大檔案長度,緩衝區長度等

----->找出臨時儲存媒介的限定範圍

如:郵箱,CD的最大長度

----->查詢通訊的限制

如:訊息檔案的超時或最大長度。查出快超時前有多少資料可以傳輸

----->尋找資料臨時存放的地方,找出儲存資料、讀和取出這些資料的功能。

製作儲存和刪除兩個過程的測試場景,找出該地方是否會填滿或溢位。

----->長時間不停的多個使用者同時進行系統的各項操作(一般用指令碼或工具實現),觀察系統資源佔用情況,直到系統無反應或宕機為止,獲取系統可以承受的最大業務處理量,或最多訪問使用者數,提交給開發,讓其設定系統容量檢查指標

----->網路容量測試,檢查系統中是否存在網路資料傳輸功能,如果存在,通過壓力測試,獲得網路最大傳輸量,提交給開發,讓其設定網路容量檢查指標

4.小故事

如果還不理解的話,打個比喻:   這兒有個服務員,對應咱們的應用系統吧。   壓力測試就是給這位伺服器外部壓力,比如長時間不讓他休息,不給開工資等,看看服務員會不會開小差(無法及時響應請求),或者罷工(宕機)之類的。   負載測試就是在單位時間內逐步加大這位服務員的工作量,看看此服務員在不同的工作量下完成服務的速度和質量,從而瞭解到該服務員的工作能力。   壓力測試和負載測試能夠幫組我們瞭解到一個伺服器的抗壓能力和工作能力,當然也能幫我們評估一個系統或軟體的效能瓶頸與質量。