幾個思路教你制定效能測試方案

語言: CN / TW / HK

越來越多人注重軟體質量,效能測試也進入很多人的眼前,效能測試的工具大家都知道,常見的JMeter、locust等,今天說一下效能測試方案。

 

測試目的

從目標出發,可以把效能測試分為幾類:

1.測試效能引數的情況,幫助設計人員作出決策。

2.檢測效能弱點,有針對性地增強硬體配置。

3.進行測試,監控產品程序或方法函式等影響效能的情況,調優軟體效能。

4.進行高壓測試,檢視產品在高併發負載、單次大容量負載下是否有問題。

5.制定好效能指標,持續執行一定時間,驗證系統在預設生產場景時的穩定性和可靠性。

6.確保產品的效能可以滿足預定的生產場景

最基礎的效能測試一般以最後一點為目標,即確保產品的效能可以滿足預定的生產場景,下面以這個為例制定效能測試方案。

 

測試背景

測試背景指的是產品的業務背景,分析好業務背景,得出需要進行效能測試的業務,從而確定測試範圍。

測試背景分析的目標只有一個 —— 找出請求壓力最大的場景。

一個場景的請求壓力受三個指標影響,請求人數、操作時長、人均請求次數,測試指標的數值依賴於測試背景。

例如:市場活動的測試指標
預計活動的客戶量,計算客戶從進行活動到確認活動成果需要的介面請求次數,模擬客戶的操作時長。

客戶量 * 活動請求次數 / 操作時長 = 平均QPS

平均QPS * 2 = QPS高峰

注:*2為舉例,實際QPS高峰不一定是平均QPS的兩倍。

 

測試範圍

測試時檢查的資料維度,包括響應時間,伺服器CPU、記憶體使用率等。

預估的場景指標不一定正確,效能測試需要更多的資料來參考,在進行效能測試時應監控服務的CPU、記憶體等使用率,監控

方法也簡單,如top -b命令即可監控linux系統的效能並輸出日誌,Perfmon可以監控Windows系統。

嫌麻煩,隨意定個性能指標的人員便開始測試的人員,更加需要注意伺服器的效能情況,瞭解在該情況下伺服器的負載情況。

 

測試策略

測試策略,即如何進行效能測試,需確定使用的效能測試工具,測試指令碼模擬的場景。

效能測試工具的介紹網上很多很詳細,不再作說明,測試指令碼的策略說幾種比較常見的策略

1.併發測試:同時併發一定數量的請求,有明確的併發目標時使用,建議併發數為目標併發數*1.5。

2.負載測試:不斷增加請求以檢視不同負載的效能狀態,需要關聯負載和伺服器的效能情況,有一定的資料處理。

3.穩定性測試:一定的負載下持續測試一段時間,長時間連續處理業務的產品建議進行穩定性測試。

不同測試策略關注的方向不同,收集的資料型別不同,根據測試目的選擇策略。

 

測試資源

效能測試的結果與硬體配置相關性很強,需要在測試前確認好進行測試的資源。

1.伺服器硬體資源

2.伺服器網路資源

3.測試機硬體資源

4.測試機網路資源

 

測試進入條件

為了提高效能測試效率,避免無效測試,應有合理的測試進入條件

已完成功能測試

在功能還不夠完備的情況下沒有多大的意義,功能完善會對系統性能有影響,過早進入效能測試會出現測試結果不準確、浪費測試資源等情況。

準備好測試資料

不同資料量下測試的結果會不同,需要準備測試所需的資料

 

測試退出條件

避免無限期的延期、測試,應有確切的退出條件

成功退出

完成目標資料的獲取後,退出效能測試。

失敗退出

系統出現大量錯誤或測試情況不如預期,退出效能測試。

 

測試時機

如果伺服器是雲主機或測試環境是生產環境,需要定好測試時機。

若伺服器是雲主機,其他使用者的主機使用情況會影響伺服器,需在預定好的時間進行效能測試。

測試環境是生產環境,則需要注意不能讓效能測試影響到線上業務的進行