隨著應用軟體使用者負載的增加和愈來愈複雜的應用環境,使用者的響應速度、系統的安全執行等效能問題
逐漸成為軟體系統必須考慮的指標之一。效能測試通常通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試,用來檢測軟體是否達到使用者提出的效能指標,及時發現軟體系統中存在的瓶頸,優化軟體,最後起到優化系統的目的。
一般效能測試中最常見的基本型別有基準測試、配置測試,負載測試,壓力測試等,以下是各種測試型別的具體概念:
基準測試——把新伺服器或者未知伺服器的效能和已知的參考標準進行比較
配置測試——確認伺服器在不同的配置下效能的可接受性。(操作條件不變)
負載測試——確認伺服器在不同的負載條件下效能的可接受性。(操作條件不變)
壓力測試——確認伺服器在異常或者極限的條件時效能的可接受性,例如,減少資源或大數量的使用者。
競爭測試——確認伺服器可以處理多個客戶對同乙個資源的請求競爭
容量測試——是在資料庫中有較大數量的資料記錄情況下對系統進行的測試。
滲入測試——使用固定數目的併發使用者測試系統的總體健壯性。
峰谷測試——不斷增加一些新使用者直至達到固定數目的使用者的測試方法,其目標是確定從高負載(例如系統高峰時間的負載)恢復、轉為幾乎空閒、然後再攀公升到高負載、再降低的能力。
在進行效能測試前,對測試系統做全面的需求分析是很有必要的。首先我們要分析系統,了解系統的組成,包括分析系統業務流程,實現架構,系統的功能,了解這些內容的本質其實是幫助我們明確測試的範圍,選者適當的測試方法來進行測試。要了解系統,至少要弄清以下幾個問題:
其次要定義測試目標,定義使用者要求,包括響應時間,併發使用者的數量等。
制定測試的目標可以從以下三方面考慮:
確定客戶需求和期望、實際業務需求、系統需求
在對測試需求充分了解的基礎上,制定盡可能完善而詳細的測試計畫,對測試的實施是大有裨益的。效能測試計畫包括了進行效能測試前期的準備工作,如時間與人員的安排、硬體與資料的準備、指令碼的介紹、測試過程中的觀察點等。測試計畫主要包括以下內容:
效能測試是一項團隊合作的技術,每個角色在團隊中的側重點不同,及時組織相關人員參加效能測試對判斷效能瓶頸有良好的作用。效能測試中有以下這些角色:
專案經理:協調多個效能測試、取得需要的軟硬體、處理資源分配、發現問題。
效能測試專家 :負責建立並執行效能測試,蒐集測試的結果。
系統架構師 :對測試結果進行分析診斷,進行系統效能調優。
基礎設施專家 :包括資料庫、網路管理員,對測試結果進行分析診斷,進行系統效能調優。
設計測試用例的原則是用最少的用例提供最多的測試資訊,設計測試用例的目標是一次盡可能的包含多個測試要素。這些測試用例必須是測試工具可以實現的,不同的測試場景將測試不同的功能。因為效能測試不同於平時的測試用例,盡可能把效能測試用例設計的複雜,才有可能發現軟體的效能瓶頸。
在效能測試中,測試環境對測試結果的影響很大,在配置測試環境前,我們應該分析不同的使用者環境,如軟硬體規模、使用模式、應用背景等。不同的使用者群使用軟體的方式和深度都不盡一致,為了能夠讓不同的使用者都體驗到軟體的最佳表現,我們需要軟體有靈活的可定製性,而效能測試則是對這種靈活性的率先檢驗。
在效能測試中,我們建議針對不同使用者群的應用環境,配置不同的測試環境,當然我們不可能一開始就清楚什麼樣的環境是最有代表性或是最好的,這本身也是要通過測試或參考一些其他因素(如行業標準等)才能確定的,並且在配置測試環境時決對不能脫離使用者的實際情況,總之,在配置測試環境時我們一定要考慮到它的可代表性、穩定性和有效性。乙個充分準備好的測試環境有三個優點:乙個穩定、可重複的測試環境,能夠保證測試結果的正確;保證達到測試執行的技術需求;保證得到正確的、可重複的以及易理解的測試結果。
在效能測試中,前期資料的準備工作也非常重要。在初始的測試環境中需要輸入一些適當的測試資料,目的是識別資料狀態並且驗證用於測試的測試用例,在測試前選擇的測試資料應有一定的精確性和代表性;在正式的測試開始以前對測試用例進行除錯,將正式測試開始時的錯誤降到最低。在測試進行到關鍵過程環節時,非常有必要進行資料狀態的備份。製造初始資料意味著將合適的資料儲存下來,需要的時候恢復它,初始資料提供了乙個基線用來評估測試執行的結果。
l準備執行指令碼
準備好執行環境,就可以錄製指令碼了。運用測試工具錄製指令碼後,還應除錯指令碼,增強指令碼的功能,只有除錯成功後的指令碼才能運用到測試中。
執行測試的過程,就是建立場景,執行場景和測試用例的過程。在測試過程中,我們要監控客戶端、網路、應用伺服器、web伺服器、資料庫伺服器等裝置的運**況,測試過程中應準確完整地記錄每次測試的結果並進行維護。記錄應包括:
對測試的總結,實際就是對測試資料的分析和處理。首先,我們最好從所有的測試資料中,篩選出具有代表意義的資料,做出統計圖,然後和開發人員一起,通過排除誤差和其他因素,讓測試結果體現接近真實情況。不同的體系結構分析測試結果的方法也不同,b/s結構我們會分析網路頻寬,流量對使用者操作響應的影響,而c/s結構我們可能更關心會系統整體配置對使用者操作的影響。在分析階段有些結果因為環境的限制或其他原因可能無法獲取,這時適當的推算也是必要的,但一定要以事實為依據。此外,還應評估資料格式和資料量對測試的影響,如有必要,應準備多組資料。最後要圍繞測試計畫中提出的問題,檢查測試結果是否能夠逐一解答,有含糊不清的地方就再補測。通過認真分析資料,找出軟體存在的問題,得出測試結論。
其次,乙份好的效能測試報告不但要展示軟體最好的效能,還應能定位軟體的效能瓶頸,幫助開發人員更好的改進軟體效能,同時也指導使用者更好的發揮軟體的效能。
全棧效能測試 01效能測試的方法及流程
正確理解效能測試 什麼是效能測試 效能測試 屬於軟體測試範疇,旨在測試處於特定環境和配置下的系統在一定量的負荷下,系統的適合性,易用性,響應時間,吞吐量,成功率,穩定性,可靠性,可恢復性等特徵 是否滿足特定干係人需求的能力。系統效能關乎使用者體驗。效能屬於產品的非功能性質量特性。嚴格意義上去叫 效能...
效能測試的流程及效能測試相關術語
在開始進行效能測試之前,首先要學習業務,了解實現邏輯,搞清楚需求。1 業務學習 2 需求分析 3 工作評估 4 設計模型 5 計畫編寫 6 指令碼開發 7 測試環境準備 8 測試資料準備 9 測試執行 10 缺陷管理 11 效能分析 12 效能調優 13 測試報告 1 負載 模擬業務操作對伺服器造成...
硬體測試流程及方法 測試流程與測試方法
1.產品 開發 測試流程 需求分析 需求分析由產品人員制定,細化每乙個功能的細節,每乙個按鈕的位置,對於稍大或複雜一點的需求進行建模。需求評審 這裡會叫上所有參與專案人員進行,開發人員 測試人員。測試人員提出需求,開發人員考慮功能實現的方案與可行性 當然開發負責也是要參與的。測試人員主要是對需求的理...