大概說說效能測試的五種應用領域吧,可能純文字內容太多,沒耐心的話,可以跳過不看。。。 ————參考書籍《軟體效能測試過程詳解與案例剖析》
概括來說,可以將效能測試的應用領域劃分為下面五個不同領域:
·能力驗證
·規劃能力
·效能調優
·瓶頸發現
·效能基準比較
一、能力驗證
能力驗證是效能測試中最簡單也是最常見的乙個應用領域。乙個典型的能力驗證的問題會採取這樣的描述方式:某系統能否在a條件下具有b能力?
能力驗證領域的特點與效能測試的特點非常接近:
①要求在已確定的環境下執行
只有在乙個確定的環境下執行,軟體效能的驗證才是有意義的;因為無法或很難根據系統在乙個環境中的表現去推斷其在另乙個不同環境中的表現,因此這種應用領域內的測試
必須要求測試環境(如硬體裝置、軟體環境、網路條件、基礎資料等)已確定。
②根據典型業務場景設計測試方案和用例
能力驗證需要了解被測系統的典型業務場景,並根據典型場景設計測試方案和用例;乙個典型場景包括操作步驟和併發使用者量條件,設計用例時,需要確定響應的效能指標。
可靠性測試的內容也可以歸入到該應用領域。因為從使用者角度出發,對軟體可靠性的保證也是承諾的軟體效能的一部分。
在能力驗證領域,一般採用的測試方法有:效能測試、可靠性測試、壓力測試和失效恢復性測試。
二、規劃能力
規劃能力領域通常關心的是:如何使系統具有我們要求的效能能力或者某種可能發生的條件下,系統具有如何的效能能力?
它通常會被描述為:某系統能否支援未來一段時間內的使用者增長或者應該如何調整,使系統能夠滿足增長的使用者數的需求?
能力規劃領域具有以下特點:
①它是一種探索性測試
規劃能力領域側重點是規劃。即該領域不依賴預先設定的用於比較的目標,而要求在測試過程中了解系統本身的能力;這種測試與能力驗證領域內的測試最大區別在於其探索性。
②它可被用於了解系統效能以及獲得擴充套件效能的方法
規劃能力領域的問題是期望了解系統現在的能力,獲得擴充套件系統效能以應對將來的業務增長的方法。該領域在測試過程中,除了要通過負載測試等方法獲知系統效能表現外,還需要通過
諸如更換裝置、調整引數等方法獲知系統效能可擴充套件的元素。
在規劃能力領域,一般採用的測試方法有:負載測試、配置測試和壓力測試。
三、效能調優
效能調優領域主要對應於系統效能進行調優。一般來說,效能調優和其他效能測試應用領域交雜在一起的;效能調優可調整的物件眾多,而且在系統應用的各個階段都可以進行調優。
對於已部署在實際生產環境中的系統應用,對其進行效能調優可能會首先關注應用系統部署環境的調整,例如:對伺服器的調整、對資料庫引數以及對應用伺服器的引數調整等;
乙個可用於比較的測試基準環境即可。
乙個標準的效能調優過程大概如下:
1、確定基準環境,基準負載和基準效能指標
基準負載是指一種可被用來衡量和比較效能調優測試結果的標準(每次執行效能測試時環境要嚴格保持一致)的執行環境、測試操作指令碼和可被用來衡量調優效果的效能指標。
2、調整系統執行環境和實現方法,執行測試
這是效能調優過程中的核心步驟,目的是通過調整,提高應用系統的效能表現;主要包括如下三個方面:
①硬體環境的調整
主要對系統執行的硬體環境進行調整,包括改變系統執行的伺服器、主機裝置環境(改用具有更高效能的機器,或調整某些伺服器的物理記憶體總量,cpu數量等)、調整網路環境(更換
更快速的網路裝置,或採用更高寬頻的組網技術)等;
②系統設定的調整
主要對系統執行的基礎平台設定進行調整,比如:根據應用需要調整unix系統的核心引數,調整資料庫的記憶體池大小,調整應用伺服器使用的記憶體大小或採用更高版本的jvm環境等;
③應用級別的調整
主要是對應用本身的調整,包括選用新的架構、採用新的資料訪問方式或修改業務邏輯的實現方式等;
ps:實際效能調優過程中,具體的調整視具體情況而定;而且不要一次調整過多的引數或應用實現方法,否則很難判斷具體哪個調整對效能產生了影響(一般3~5處最好)。
3、記錄測試結果,進行分析
該步驟和上一步驟構成了乙個效能調優迴圈,迴圈的出口是「達到預期的效能調優目標」。
效能調優主要使用的測試方法有:配置測試、負載測試、壓力測試和失效恢復性測試。
四、瓶頸發現
瓶頸發現應用領域的主要目的是通過效能測試手段來發現系統中存在的缺陷,瓶頸。
經常在工作中遇到這樣的問題:應用在測試環境下執行正常,部署到生產使用者環境,就會出現莫名其妙的錯誤;這些情況並不完全是併發或者效能問題導致,大多數情況下,都是由於
併發時的執行緒鎖、資源競爭或記憶體問題引起的。
瓶頸發現應用領域一般作為系統測試階段的一種補充手段;在測試過程中發現併發時的應用問題,或作為系統維護階段的問題定位手段,對系統執行過程**現的問題進行重現和定位。
該應用領域的主要目的是發現缺陷、瓶頸,並無可參照的效能指標或需要達到的效能目標,因此主要採用併發測試的方法。
五、效能基準比較
效能基準比較通常用於敏捷開發過程中。
敏捷開發:大約興起於2023年,與傳統重量級軟體開發方式相比,敏捷開發採納輕量級的軟體開發過程,更注重「產出可用的軟體」,「溝通勝於文件」等概念,使用「擁抱變化」的態度來
面對開發中不斷的需求變更。
敏捷開發將軟體開發過程劃分為多個短時間週期迭代,每個迭代定義了本次迭代需要完成的目標,乙個迭代中保持需求的不變以「交付了迭代目標的可工作軟體」作為每個迭代完成的標誌。
由於敏捷開發採用「遞增」的開發模式,很難再每個迭代週期內定義明確的效能需求。因此,效能基準比較,就是在不設定目標的情況下,通過每次迭代的比較來得到效能表現的變化,根據
這些變化決定迭代是否達到了預期的目標。
在實際操作中,可以將效能測試形成固定的指令碼,並在固定環境上對模組執行相應的效能測試,測試結果通過工具直接寫入資料庫並通過圖形展現工具將其展現成折線圖,其可以直觀的反應
模組的每個迭代中效能表現的變化,甚至可以作為驗收條件的一部分。
另外,在敏捷開發中,設定效能基準比較的不僅僅是模組,還可以在單元測試中為給定的函式設定效能基準比較。
下表將效能測試的方法和應用領域做了關聯,實際執行中可根據需要選用合適的方法:
ps:顏色越深,代表越重要。。。
總結:效能測試應用領域的劃分主要按照效能測試的目的和目標進行劃分,不同應用領域的效能測試採用不同的方法;當然,實際的效能測試中,情況往往比這個更複雜,這種情況下,
應該按照具體情況設計測試實施計畫,分解拆分,為其設計規劃不同的測試方法。
效能測試應用領域
軟體效能測試過程詳解與案例分析 段念 編著 學習筆記五 能力驗證 乙個典型的能力驗證問題會採用這樣的描述方式 某系統能否在a條件下具有b能力?舉例來說,我們為客戶進行系統上線後的驗收測試,或是作為第三方對乙個已經部署系統的效能進行驗證,都屬於這種效能測試應用領域內的測試 在給定條件下,系統能否具有預...
效能測試應用領域
軟體效能測試過程詳解與案例分析 段念 編著 學習筆記五 能力驗證 乙個典型的能力驗證問題會採用這樣的描述方式 某系統能否在a條件下具有b能力?舉例來說,我們為客戶進行系統上線後的驗收測試,或是作為第三方對乙個已經部署系統的效能進行驗證,都屬於這種效能測試應用領域內的測試 在給定條件下,系統能否具有預...
效能測試應用領域
前幾天寫了點效能測試方法概述,到最後發現好像還是不能省掉應用領域這一環,那就寫全吧。簡單來說,就是效能測試可以應用在哪些方面,或者換個說法,你做效能測試的目的是什麼,概括一下可以分為5個不同的領域 1 能力驗證 可以理解為驗證系統具有其宣稱的能力,常用的描述是這樣的 在a條件下具有b能力 等。其特點...