1. 程式人生 > 其它 >【效能測試】一、哪那麼多概念,不就是這一條嗎?

【效能測試】一、哪那麼多概念,不就是這一條嗎?

網上一搜效能測試,就會出現很多諸如效能測試、負載測試、壓力測試、強度測試等一堆專有名詞的解釋。

但實際上我們不需要區分這麼多。

那什麼是效能測試?

高樓老師在[效能測試實戰30講]中給出了一個定義,我覺得參考價值很大。

效能測試針對系統的效能指標,建立效能測試模型,制定效能測試方案,制定監控策略,在場景條件之下執行效能場景,分析判斷效能瓶頸並調優,最終得出效能結果來評估系統的效能指標是否滿足既定值

這個定義,其實也就是一個完整的效能測試流程了。

為什麼要弄清楚?因為這些概念要抹平溝通的誤解,讓不同層級,不同角色的人,可以在同樣的知識背景下溝通,也可以讓做事情的人有清晰的邏輯思路。

一、效能測試需要有指標

指標這個東東通常在很多公司並沒有明確的定義。可能老闆隨口一句“把系統壓掛”,下面人就得開始張羅了。但是這個“把系統壓掛”其實就是一種指標。

通常來說,有三種指標:時間指標容量指標資源利用率指標,具體這裡先不展開。

二、效能測試需要有模型

模型,可以理解為場景。

比如說,要對一個返回廣告的介面進行效能測試。那麼使用者進入首頁之後,可能有50%的人會點選 banner 位廣告,30%的人會點選中部位的廣告,最後20%的人會點選側邊框廣告。

那麼,你基於這樣的一個模型,在施加壓力的時候就需要控制好比例。這些業務資料,通常來說是有渠道可以獲得的。

三、效能測試要有方案

需要確定性能測試方案,以便指導後續的工作。

通常來說,內容如下:

  • 測試環境
  • 測試資料
  • 測試模型
  • 效能指標
  • 壓力策略
  • 准入準出
  • 進度風險

其中每一項內容的細化程度,要具體參考專案需要。

四、效能測試中要有監控

關於監控:

  • 分層、分段
  • 全域性監控、定向監控

具體這裡先不展開。

五、效能測試要有預定的條件

在測試場景執行之前,通常要確定如下的條件:

  • 軟、硬體環境
  • 測試資料
  • 測試執行策略
  • 壓力補償

六、效能測試中要有場景

場景:在既定的環境(包括動態擴充套件等策略)、既定的資料(包括場景執行中的資料變化)、既定的執行策略、既定的監控之下,執行效能指令碼,同時觀察系統各層級的效能狀態引數變化,並實時判斷分析場景是否符合預期。

效能場景也要有分類,通常逃不出如下四大類

1. 基準效能場景

這裡要做的是單交易的容量,為混合容量做準備

2. 容量效能場景

是最核心的效能執行部分。根據業務複雜度的不同,這部分的場景會設計出很多個

3. 穩定性效能場景

最核心的元素是時間,而時間的設定應該來自於運維週期,而不是來自於老闆、產品和架構等這些人的“拍腦袋”。

4. 異常效能場景

要做異常效能場景,前提就是要有壓力。在壓力流量之下,模擬異常。

那需要哪些異常?這也是要明確定義出來的。比如有宕主機、宕應用、宕網絡卡、宕容器、宕快取、宕佇列、宕流量控制、宕熔斷等等。

總之,實際的場景中需要模擬什麼異常,不是拍腦袋決定的,而是根據系統的業務架構和部署架構分析來的,不是看到有什麼都宕一下

另外,關於場景下對應的測試用例,不僅要描述測試指令碼和測試資料,而且要描述需要哪些實時的判斷和動態的分析,否則會影響效能結果

七、效能測試中要有分析調優

相信有很多跟我一樣的測試工程師,在進行效能測試的時候,其實也僅僅做的是效能驗證,很少有進行分析調優,因為很難(o(╥﹏╥)o)。

但是,分析調優才是一個更能體現效能測試價值的重要元素。

八、效能測試肯定要有結果報告

結果報告是效能測試活動的價值內容體現,自然要展示領導關心的內容,比如調優前後的 TPS、響應時間以及資源對比。相比較而言,用了多少人,花了多少時間可以往後放一放。

九、總結

一圖流。

本文參考:
高樓老師 效能測試實戰30講

--不要用肉體的勤奮,去掩蓋思考的懶惰--