
性能測試的目的,簡單說其實就是為了獲取待測系統的響應時間、吞吐量、穩定性、容量等信息。而發現一些具體的性能相關的缺陷(如內存溢出、并發處理等問題),我認為只是一種附加結果。從更高的層次來說,性能測試最想發現的,是瓶頸。如何能得到所需要的信息,就需要從多方面進行測試。
性能測試的內容性能測試種類的劃分與定義這里就不說了,各有各的說法,比如性能測試、負載測試、壓力測試這三個詞,在網上能找到N個版本的定義,大體理解就行了,沒必要在文字層面上較這個真。以下的內容也只是我個人的理解,一些名詞的定義可能和其他資料有所不同,但在我的工作中,這樣是比較形象和容易理解的。在實際工作,一般的應用系統會從這么幾個方面進行性能測試。
1、基準測試
Benchmark或者Baseline測試。一般為單用戶測試,或者是零數據量環境下的測試。目的在于建立一個可度量的參考標準,為其他測試場景或者調優過程提供對比參考。也可認為是最基礎的性能測試,如果基準測試的結果都不能達到預期要求,那么后續場景也就沒必要測試了。
2、日常壓力測試
在基準測試通過后,應該先進行較小壓力下的測試,首先對系統在日常壓力下的表現進行測試。此壓力需要根據系統使用相關數據得出,如系統平均每天訪問量、平均在線人數、每日完成事務數等。通過此測試,發現一些較表面的性能問題并進行處理。
3、峰值壓力測試
在日常壓力測試通過后,需要進行更大壓力的測試。此處壓力同樣需要相關數據的支持,一般為未來幾年后的預期壓力。可根據歷史日均壓力、日最高壓力等信息,估算出未來幾年的日均以及日最高壓力。再通過一些通用估算方法、如二八原則(80%的工作在20%時間內完成,相當于2小時完成一天8小時的工作量),將日壓力轉換成峰值壓力。
峰值壓力為可預期到的負載壓力,通過了此測試,則認為系統有能力滿足未來增長的壓力。
4、容量測試
驗證了系統是否可滿足預期的壓力后,還需要知道系統能夠承受的壓力,也就是容量。一般通過“拐點法”進行測試,逐步增大系統的壓力,直到性能指標不可接受或者出現了明顯的拐點。如下圖,拐點在哪?
5、穩定性測試
驗證系統是否可長期穩定的運行,是否存在一些短時間內可能無法發現的缺陷(如內存溢出、數據庫連接不釋放等)。為了縮短測試工期,一般可將預期一天的壓力集中在2小時內完成(二八原則),這樣持續加壓10小時,便相當于系統運行5天。注意監控各種性能指標是否平穩,有無下降。
以上就是關于“軟件測試中性能測試主要有哪些內容”的內容介紹,希望對大家學習有所幫助。想要了解更多關于軟件測試培訓的相關資訊歡迎來咨詢。