效能測試——監控指標 & 效能測試模型 & 效能測試分類 & 效能測試的實施
1 效能測試的概念
(1)什麼是系統的效能?
系統性能是一個很大的概念,對一個軟體系統而言包括執行效率、資源佔用、穩定性、安全性、相容性、可擴充套件性、可靠性等等。
(2)什麼是效能測試?
效能測試是通過自動化的測試工具,模擬多種正常、峰值以及負載條件對系統各項效能指標進行測試。
2 效能測試的監控指標
(1)併發數:在同一時間,進行同一操作的使用者數;
(2)響應時間:也叫作請求相應時間,是對請求做出響應的時間;
(3)事務響應時間:事務是一組密切相關的操作集合,事務響應時間是對這一組操作集合響應的時間;
(4)每秒事務通過數TPS:指每秒系統能夠處理的事務的數量;
(5)點選率:每點選一次相當於向WEB伺服器傳送一次HTTP請求,點選率越大,伺服器的壓力也就越大;
(6)吞吐量
(7)思考時間:真實的模擬使用者的操作,思考時間是指每個請求或者操作時間的間隔時間;
(8)資源利用率:不同系統資源的使用情況。
3 效能測試模型
(1)理髮店模型(曲線拐點模型)
A. 隨著併發使用者數的增加,在輕壓力區的相應時間變化不大,比較平緩,進入重壓力區後呈現增長趨勢,進入拐點區後傾斜率增大,響應時間急劇增加;
B. 隨著併發使用者數的增加,吞吐量也在不斷增加,進入重壓力區之後逐漸平緩,到達拐點區時說明系統已將到達處理的極限,急劇下降;
C. 隨著併發使用者數的增加,資源利用率也在不斷增加,進入重壓力區後逐漸平緩,至拐點區時已經達到飽和狀態。
(具體介紹可參考:
(2)地鐵模型
A. 隨著地鐵站內乘客數量的增多,地鐵的資源得到充分利用;
B. 隨著地鐵站內乘客數量的增多,出現部分乘客等待的情況,等待時間較短;
C. 當乘客的行李過大導致進站阻塞,可以增加站口的寬度,緩解這種情況;
D. 當乘客越來越多時,現有的刷卡機已經無法滿足乘客的需求,可以增加刷卡機的臺數;
E. 當處於上班高峰期時,進站乘客越來越多,站臺的情況已經完全無法滿足乘客的需求,導致地鐵站過分擁堵,乘客不斷抱怨… …
(具體介紹可參考:http://www.cnblogs.com/puresoul/p/5458734.html
地鐵模型說明:
A. 一旦發生效能問題,但從硬體出發無法從根本上解決效能問題;
B. 要進行效能調優時儘可能將多種方式中和起來一同解決。
4 效能測試的分類
(1)基準測試:基準測試是一個標尺,有基礎的標準,能夠通過對比發現系統的不同點和變化;
(2)效能測試:模擬在正常條件的情況下,系統的能力情況;
(3)負載測試:在被測系統上不斷施加壓力直到效能已經到達某種飽和的情況,可以通過負載測試找到系統的處理極限,為系統調優提供資料;
(4)壓力測試:在被測系統已經飽和的情況下,繼續施加壓力,找到系統在高負載下的問題;
(5)併發測試:通過模擬使用者的併發訪問,找到多使用者併發訪問時是否存在什麼效能問題;
(6)配置測試:通過對軟硬體環境的調整,使軟硬體資源達到最大化的利用;
(7)可靠性測試:對系統載入一定壓力的情況下,讓系統持續執行一段時間,測試系統在該種條件下能否正常執行;
(8)失效性恢復測試:並不是每個系統都支援失效恢復性測試,失效恢復性測試是針對有備份和負載均衡的系統設計的,該測試是驗證在系統出現區域性性故障時,使用者能否正常使用系統,使用者的使用情況會受到多大程度的影響;
(9)大資料測試:與壓力測試、負載測試、可靠性測試、併發測試相結合的測試。
5 效能測試的實施
(1)效能測試的前期準備:系統基礎功能驗證、組建測試團隊、測試工具需求確認
(2)引入工具:工具選擇、工具應用技能的培訓、確定工具應用過程
(3)編寫效能測試方案:調研測試需求、測試策略和測試資源需求、效能測試計劃
(4)指令碼的設計與開發:測試環境設計、測試場景設計、測試用例設計、指令碼和輔助工具的開發
(5)測試執行與管理:建立測試環境、部署測試指令碼和測試場景、執行測試結果和記錄結果
(6)效能分析與調優:根據測試結果進行分析,給出調優方案
(7)編寫效能測試報告:測試目標、測試描述、測試結果和資料