壓力測試 (軟件)

軟件測試中的壓力測試是在超過正常運作條件以外的條件下運作系統,以確認健壯性的方式,例如一個網站設計容量是100個人同時點擊,壓力測試就可能會採用120個同時點擊的條件測試。壓力測試對於關鍵任務軟件格外的重要,但可以適用於各種的軟件。

系統的壓力測試一般較強調軟件在高負載下的健壯性可用性異常處理,而不是其他在正常環境會會視為正確的行為。這類測試的目的是要確認系統在計算資源(例如記憶體或是碟盤存儲)不足、異常的並發性或是受到阻斷服務攻擊等異常條件下,系統仍可運作,不會崩潰

例如,網頁伺服器會用外殼腳本網絡機械人以及許多阻斷服務攻擊的工具來進行壓力測試,觀察網站在尖峰負載下的性能。這類的攻擊一般會持續一個小時,或是找到伺服器可以容許的資料量上限為止。

和負載測試的比較

壓力測試和負載測試英語Load testing不同。

負載測試會檢驗整個環境以及資料庫,量測其響應時間。在負載測試時,整個資料庫會有很重的負載,但可能不會針對特定操作進行壓力測試。

壓力測試一般會着重在特定的操作,提高操作的頻度,設法讓系統中斷。因此整個資料庫的負載可能不重。

系統壓力測試也稱為壓力測試,會讓許多使用者同時上線,超過系統可以處理的程度,設法讓系統在其最弱的一點崩潰。

壓力測試的原因

以下是一些進行壓力測試的原因:

  • 待測試的軟件是關鍵任務軟件,軟件失效(例如崩潰)會帶來災難性的後果。
  • 若用傳統的測試方式,沒有足夠的測試時間及資源測試軟件發佈後會用到的所有情境。
  • 就算有足夠的時間及資源撰寫測試案例,也丕可能事先確認軟件會使用到的所有情形。這常常會出現在作業系統中間件,要配合使用的軟件是之後才開發的,在測試產品時該軟件還不存在。

相關條目

參考資料