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