更新時間:2022-09-08 來源:黑馬程序員 瀏覽量:
軟件測試中,系統的性能這個概念十分的廣泛,覆蓋面十分的廣泛,包括執(zhí)行率、資源占用、系統穩(wěn)定性、安全性、兼容性、可靠性、可擴展性等,性能測試就是描述測試對象與性能相關的特征并對其進行評價而實施的一類測試。
性能測試是一個統稱,它其實包含多種類型,主要有負載測試、壓力測試、并發(fā)測試、配置測試等,每種測試類型都有其側重點,下面對這幾個主要的性能測試種類分別進行介紹。
負載測試是指逐步增加系統負載,測試系統性能的變化,并最終確定在滿足系統性能指標的情況下,系統所能夠承受的最大負載量。負載測試類似于舉重運動,通過不斷地給運動員增加重量,確定運動員身體狀況保持正常的情況下所能舉起的最大重量。
對于負載測試來說,前提是滿足性能指標要求。例如一個軟件系統的響應時間要求不超過2s,則在這個前提之下,不斷增加用戶訪問量,當訪問量超過1萬人時,系統的響應時間就會變慢,超過2s,從而可以確定系統響應時間不超過2s的前提之下最大負載量是1萬人。
壓力測試也叫強度測試,它是指逐步給系統增加壓力,測試系統的性能變化,使系統某些資源達到飽和或系統崩潰的邊緣,從而確定系統所能承受的最大壓力。
壓力測試與負載測試是有區(qū)別的,負載測試是在保持性能指標要求的前提下測試系統能夠承受的最大負載,而壓力測試則是使系統性能達到極限的狀態(tài)。例如,軟件系統正常的響應時間為2s,負載測試確定訪問量超過1萬時響應時間變慢。壓力測試則繼續(xù)增加用戶訪問量觀察系統的性能變化,當用戶增加到2萬時系統響應時間為3s,當用戶增加到3萬時響應時間為4s,當用戶增加到4萬時,系統崩潰無法響應。由此確定系統能夠承受的最大訪問量為4萬。
壓力測試可以揭露那些只有在高負載條件下才會出現的Bug(缺陷),如同步問題、內存泄漏等。
并發(fā)測試是指通過模擬用戶并發(fā)訪問,測試多用戶并發(fā)訪問同一個應用、同一個模塊或者數據記錄時是否存在死鎖或其他性能問題。并發(fā)測試一般沒有標準,只是測試并發(fā)時會不會出現意外情況,幾乎所有的性能測試都會涉及一些并發(fā)測試,例如多個用戶同時訪問某一條件數據 ,多個用戶同時在更新數據,那么數據庫可能就會出現訪問錯誤、寫入錯誤等異常情況。
配置測試是指調整軟件系統的軟硬件環(huán)境,測試各種環(huán)境對系統性能的影響,從而找到系統各項資源的最優(yōu)分配原則。配置測試不改變代碼,只改變軟硬件配置,例如安裝版本更高的數據庫、配置性能更好的CPU和內存等,通過更改外部配置來提高軟件的性能。
可靠性測試是指給系統加載一定的業(yè)務壓力,使其持續(xù)運行一段時間(如7×24h),測試系統在這種條件下是否能夠穩(wěn)定運行。由于加載有業(yè)務壓力且運行時間較長,因此可靠性測試通??梢詸z測出系統是否有內存泄漏等問題。
容量測試是指在一定的軟硬件及網絡環(huán)境下,測試系統所能支持的最大用戶數、最大存儲量等。容量測試通常與數據庫、系統資源(如CPU、內存、磁盤等)有關,用于規(guī)劃將來需求增長(如用戶增長、業(yè)務量增加等)時,對數據庫和系統資源的優(yōu)化。