壓力測試 (軟體)
外觀
此條目沒有列出任何參考或來源。 (2019年10月12日) |
此條目可參照英語維基百科相應條目來擴充。 |
軟體測試中的壓力測試是在超過正常運作條件以外的條件下運作系統,以確認健壯性的方式,例如一個網站設計容量是100個人同時點擊,壓力測試就可能會採用120個同時點擊的條件測試。壓力測試對於關鍵任務軟體格外的重要,但可以適用於各種的軟體。
系統的壓力測試一般較強調軟體在高負載下的健壯性、可用性及異常處理,而不是其他在正常環境會會視為正確的行為。這類測試的目的是要確認系統在計算資源(例如記憶體或是碟盤存儲)不足、異常的並發性或是受到阻斷服務攻擊等異常條件下,系統仍可運作,不會崩潰。
例如,網頁伺服器會用外殼腳本、網絡機器人以及許多阻斷服務攻擊的工具來進行壓力測試,觀察網站在尖峰負載下的性能。這類的攻擊一般會持續一個小時,或是找到伺服器可以容許的資料量上限為止。
和負載測試的比較
[編輯]壓力測試和負載測試不同。
負載測試會檢驗整個環境以及資料庫,量測其響應時間。在負載測試時,整個資料庫會有很重的負載,但可能不會針對特定操作進行壓力測試。
壓力測試一般會著重在特定的操作,提高操作的頻度,設法讓系統中斷。因此整個資料庫的負載可能不重。
系統壓力測試也稱為壓力測試,會讓許多使用者同時上線,超過系統可以處理的程度,設法讓系統在其最弱的一點崩潰。
壓力測試的原因
[編輯]以下是一些進行壓力測試的原因:
- 待測試的軟體是關鍵任務軟體,軟體失效(例如崩潰)會帶來災難性的後果。
- 若用傳統的測試方式,沒有足夠的測試時間及資源測試軟體發佈後會用到的所有情境。
- 就算有足夠的時間及資源撰寫測試案例,也丕可能事先確認軟體會使用到的所有情形。這常常會出現在作業系統及中間件,要配合使用的軟體是之後才開發的,在測試產品時該軟體還不存在。