影響軟件性能的因素:
(1)硬件設施(部署結構、機器配置)
(2)網絡環境(客戶端帶寬、服務器端帶寬)
(3)操作系統(類型、版本、參數配置)
(4)中間件(類型、版本、參數配置)
(5)應用程序(性能)
(6)并發用戶數(系統當前訪問狀態)
(7)系統數據量(系統數據量大?。?br/>
作為測試工程師,性能測試應關注:
響應時間快慢,服務器端的處理速度;
服務器端的使用情況;
數據庫端的資源使用情況;
大用戶訪問數量;
同時處理大業務數量;
考察系統能否支撐7x24小時運轉;
內存資源、線程資源能否正?;厥?;
代碼,算法,sql語句設計是否合理;
整個系統的穩定性,可恢復性。
而對于企業來說,執行軟件性能測試,并出具測試報告有特殊的用途,如申請科技項目驗收,軟件產品申請認定(首版次軟件、工業軟件、產品等),則需要的檢測機構出報告。這是由于軟件測試是一項繁瑣但卻與軟件質量息息相關的工作,但很多小微企業的測試環境和測試人員并不能達到條件,因此,如需報告,一般是委托的檢測機構來執行測試,并提供報告。
狹義的軟件性能測試,是指為驗證軟件性能指標、評估系統服務能力、推薦系統軟硬件配置、完成系統性能優化等而開展的測試活動,這也是一般意義上人們對軟件性能測試的理解。
軟件測試主要分為功能測試和性能測試,大家對功能測試可能并不陌生,但是對性能測試的要點內容不太了解。
軟件性能測試的內容是什么?
1、基準測試
Benchmark或者Baseline測試。一般為單用戶測試,或者是零數據量環境下的測試。目的在于建立一個可度量的參考標準,為其他測試場景或者調優過程提供對比參考。也可以認為是基礎的性能測試,如果基準測試的結果都不能達到預期要求,那么后續場景也就沒必要測試了。
2、日常壓力測試
在基準測試通過后,應該行較小壓力下的測試,對系統在日常壓力下的表現進行測試。此壓力需要根據系統使用相關數據得出,如系統平均每天訪問量、平均在線人數、每日完成事務數等。通過此測試,發現一些表面的性能問題并進行處理。
3、峰值壓力測試
在日常壓力測試通過后,需要進行更大壓力的測試。此處壓力同樣需要相關數據的支持,一般為未來幾年后的預期壓力??筛鶕v史日均壓力、日高壓力等信息,估算出未來幾年的日均以及日高壓力。
峰值壓力為可預期到的大負載壓力,通過了此測試,則認為系統有能力滿足未來增長的壓力。
4、容量測試
驗證了系統是否可滿足預期的壓力后,還需要知道系統能夠承受的大壓力,也就是容量。一般通過拐點法進行測試,逐步增大系統的壓力,直到性能指標不可接受或者出現了明顯的拐點。
5、穩定性測試
驗證系統是否可以長期穩定的運行,是否存在一些短時間內可能無法發現的缺陷。為了縮短測試工期,一般可將預期一天的壓力集中在N小時內完成,這樣持續加壓N小時,便相當于系統運行N天。注意監控各種性能指標是否平穩,有無下降。