壓力測試 (軟體)

(重定向自压测

软件测试中的压力测试是在超過正常運作條件以外的條件下運作系統,以確認健壮性的方式,例如一个网站设计容量是100个人同时点击,压力测试就可能會采用120个同时点击的条件测试。压力测试對於关键任务軟體格外的重要,但可以適用於各種的軟體。

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

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

和負載測試的比較

压力测试和負載測試英语Load testing不同。

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

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

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

壓力測試的原因

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

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

相關條目

參考資料