性能測試的重要性隨著網絡發展更凸顯重要性,由于網絡環境、數據庫環境、應用服務器環境、系統平臺和技術等的復雜性和多樣性,難以預知的用戶負載和愈來愈復雜的應用程序使軟件性能非常難于控制。雖然,改善系統性能不是單單依靠性能測試就能完成的,但性能測試至今仍是控制性能有效的手段。
什么是性能測試
性能測試主要是通過自動化的測試工具模擬多種正常、峰值及異常負載來對系統的各項性能指標進行測試。一般來說,性能測試可概括為三個方面:在客戶端性能的測試、在網絡上性能的測試和在服務器端性能的測試。通常情況下,三方面有效的結合可以達到對系統性能全面的分析和瓶頸的預測。
性能測試的基本策略是自動負載和壓力測試。通過在一臺或幾臺PC機上模擬成百上千的虛擬用戶同時執行業務的情景,對應用程序進行測試,同時記錄下每一事務處理的時間、服務器峰值數據、數據庫狀態等。它主要包括并發性能測試、疲勞強度測試、大數據量測試和速度測試等,其中并發性能測試是重點。
。1)并發性能測試
并發性能測試是一個負載測試和壓力測試的過程,即逐漸增加負載,直到系統出現瓶頸或者不能接收更多負載,通過綜合分析執行指標和資源監控指標來確定系統并發性能的過程。例如當負載壓力逐漸增加時,通過檢測系統的相應輸出如通過量、響應時間、CPU負載、內存使用等來決定系統的性能。
并發性能測試一般不采用手工方式,而是利用工具采用自動化方式進行。在測試時常常需要模擬真實環境測試,以考察在真實環境中的表現,這樣測試出來的數據才有實際意義。目前,成熟的并發性能測試工具有很多,選擇的依據主要是測試需求和性能價格比。
。2)疲勞強度測試
疲勞測試是采用系統穩定運行情況下能夠支持的最大并發用戶數,持續執行業務一段時間,通過綜合分析執行指標和資源監控指標來確定系統處理最大工作量強度性能的過程。
疲勞強度測試可以采用工具自動化的方式進行測試,也可以手工編寫程序測試,其中后者占的比例較大。一般情況是以服務器能夠正常穩定響應請求的最大并發用戶數進行一定時間的疲勞測試,獲取執行指標數據和系統資源監控數據。如出現錯誤導致測試不能成功執行,則及時調整測試指標,例如降低用戶數、縮短測試周期等。還有一種情況的疲勞測試是對當前系統性能的評估,用系統正常業務情況下并發用戶數為基礎,進行一定時間的疲勞測試。
。3)大數據量測試
大數據量測試可以分為兩種類型:一是針對某些系統存儲、傳輸、統計、查詢等業務進行大數據量的獨立數據量測試;二是與壓力性能測試、負載性能測試、疲勞性能測試相結合的綜合數據量測試方案。大數據量測試的關鍵是測試數據的準備,可以依靠工具準備測試數據。
進行性能測試的前提條件
在任何性能測試活動開始前,軟件應用程序必須達到性能測試接受標準。如果應用程序沒有達到這些標準,則不應該進行性能測試,否則就是浪費時間和成本。進行性能測試的前提條件包括:
。1)已通過單元測試能力
在性能測試前所有應用程序必須先通過全面的單元測試策略,同時所附帶的可被執行的單元測試代碼應是完整和有效的。如果單元測試因為應用程序中的錯誤或缺少單元測試代碼,那么應用程序則不應該進行性能測試。
。2)已通過低負載級別能力
在單用戶和10個用戶的低負載級別上,應用程序應該能在正常的計算時間達到合理的性能。如果應用程序無法在低負載級別正常運行,那么它肯定無法在更高負載級別正常運行。這時,開始性能測試將會浪費時間。
。3)已準備好測試數據
在性能測試期間執行應用程序所需的數據必須先準備好或已詳細描述,以使性能測試小組能夠建立與生產環境盡可能接近的模擬數據,要確保測試數據必須是真實、一致和完整的,任何與真實環境相差太遠的測試數據都是無用的性能測試行為。
文章來源于領測軟件測試網 http://www.k11sc111.com/