我最近在項目中兼任項目測試組長角色,這次項目中負責性能測試的QA組長調走了,只好由我硬著頭皮頂上去。在這段日子里,使我對性能測試有了新的認識,性能測試絕不象大多數人認為的是一件簡單的事情。目前,性能測試已跨越了單靠手工敲敲鍵盤、點點鼠標就可以完成的階段,正朝著自動化和智能化方向發展。
性能測試的重要性隨著網絡發展更凸顯重要性,由于網絡環境、數據庫環境、應用服務器環境、系統平臺和技術等的復雜性和多樣性,難以預知的用戶負載和愈來愈復雜的應用程序使軟件性能非常難于控制。雖然,改善系統性能不是單單依靠性能測試就能完成的,但性能測試至今仍是控制性能有效的手段。
什么是性能測試
性能測試主要是通過自動化的測試工具模擬多種正常、峰值及異常負載來對系統的各項性能指標進行測試。一般來說,性能測試可概括為三個方面:在客戶端性能的測試、在網絡上性能的測試和在服務器端性能的測試。通常情況下,三方面有效的結合可以達到對系統性能全面的分析和瓶頸的預測。
性能測試的基本策略是自動負載和壓力測試。通過在一臺或幾臺PC機上模擬成百上千的虛擬用戶同時執行業務的情景,對應用程序進行測試,同時記錄下每一事務處理的時間、服務器峰值數據、數據庫狀態等。它主要包括并發性能測試、疲勞強度測試、大數據量測試和速度測試等,其中并發性能測試是重點。
(1)并發性能測試
并發性能測試是一個負載測試和壓力測試的過程,即逐漸增加負載,直到系統出現瓶頸或者不能接收更多負載,通過綜合分析執行指標和資源監控指標來確定系統并發性能的過程。例如當負載壓力逐漸增加時,通過檢測系統的相應輸出如通過量、響應時間、CPU負載、內存使用等來決定系統的性能。
并發性能測試一般不采用手工方式,而是利用工具采用自動化方式進行。在測試時常常需要模擬真實環境測試,以考察在真實環境中的表現,這樣測試出來的數據才有實際意義。目前,成熟的并發性能測試工具有很多,選擇的依據主要是測試需求和性能價格比。
(2)疲勞強度測試
疲勞測試是采用系統穩定運行情況下能夠支持的最大并發用戶數,持續執行業務一段時間,通過綜合分析執行指標和資源監控指標來確定系統處理最大工作量強度性能的過程。軟件測試
疲勞強度測試可以采用工具自動化的方式進行測試,也可以手工編寫程序測試,其中后者占的比例較大。一般情況是以服務器能夠正常穩定響應請求的最大并發用戶數進行一定時間的疲勞測試,獲取執行指標數據和系統資源監控數據。如出現錯誤導致測試不能成功執行,則及時調整測試指標,例如降低用戶數、縮短測試周期等。還有一種情況的疲勞測試是對當前系統性能的評估,用系統正常業務情況下并發用戶數為基礎,進行一定時間的疲勞測試。
文章來源于領測軟件測試網 http://www.kjueaiud.com/