什么時候開展性能檢測?性能檢測的目的是什么?
日期:2022-03-25 15:14:58 瀏覽量:1289 標簽: 性能檢測
性能檢測的基本原則是:越早發(fā)現(xiàn)問題,越容易定位問題,也越容易修復問題。因此,性能檢測可以貫穿軟件研發(fā)生命周期的各個階段,比如:單元測試可以測試多線程并發(fā)下的功能準確性,每個 API 也都需要進行性能檢測和評估,集成測試時需要顧及所用模塊的數(shù)據(jù)大小及緩存使用情況,系統(tǒng)測試中也需要從用戶負載的角度衡量相關的全局性能指標等等。那么,什么時候開展性能檢測?性能檢測的目的是什么?
1、性能檢測什么時候進行?
性能檢測是基于系統(tǒng)的功能已經(jīng)完成或者趨于完成的事實,如果功能不夠完整就沒有多大意義。因為后期的功能改進會影響系統(tǒng)的性能,過早進入性能檢測會導致測試結果不準確,浪費測試資源。因此,性能檢測首先是基于功能測試的,性能檢測只有在知道其功能需求后才能進行。
2、如何進行性能檢測?
一個正在測試的系統(tǒng),我們需要分三個部分進行分析:
入口:如何發(fā)送請求,施壓方應該施加多大壓力,如何施加壓力;
被測系統(tǒng):系統(tǒng)如何響應單個請求,系統(tǒng)業(yè)務流程如何,系統(tǒng)網(wǎng)元節(jié)點,數(shù)據(jù)流等。整體績效要求是否存在,哪些指標需要檢查,如何監(jiān)控;
導出:接收到什么數(shù)據(jù),如何獲取和比較;
感覺和功能測試沒太大區(qū)別嗎?是的,就是分析單個用戶的功能流程和系統(tǒng)的數(shù)據(jù)流結構圖(包括后臺的數(shù)據(jù)流),然后考慮大量的用戶操作。
系統(tǒng)的一般性能檢測步驟如下:
1.確認測試目標;
2.分析測試系統(tǒng)的業(yè)務需求;
3.分析被測系統(tǒng)的系統(tǒng)結構;
4.分析被測系統(tǒng)的性能檢測點;
5.設計測試方案、測試方案和測試用例;
6.選擇測試工具;
7.測試和開發(fā);
8.測試執(zhí)行;
9.測試結果分析;
10.測試調優(yōu)、測試驗證和測試分析;
11.輸出測試報告;
性能測試在不同情況下是有著不同的目的,清楚每次性能測試的目標,能夠讓我們在開展性能測試的時候更有針對性。
性能測試的目的
1、獲取正常請求流量下,系統(tǒng)的各個性能指標:
這是最常見的性能測試目的,常規(guī)性能測試通常都有這個需求。在正常壓力(無壓力)流量下對系統(tǒng)進行性能測試,建立一個可度量的參考標準,為其他測試場景或者調優(yōu)過程提供對比參考。
常用的性能測試指標包括:
服務響應相關的:平均響應時間,響應時間分布情況,失敗率等
資源使用相關:CPU使用,內存,磁盤IO,網(wǎng)絡IO等
2、獲取系統(tǒng)能夠承載的極限容量,以及獲得系統(tǒng)的性能瓶頸:
系統(tǒng)容量評估因為比較難自動化,所以通常這類需求頻率會低一些,可能會周期性評估。通過“拐點法”進行性能測試,逐步增大系統(tǒng)的壓力,直到性能指標不可接受或者出現(xiàn)了明顯的拐點,從而找到系統(tǒng)的瓶頸點。需要注意的是,壓測時的極限并發(fā)或者極限每秒處理請求數(shù),一定是以在安全運維的性能標準下為前提。
3、測試系統(tǒng)穩(wěn)定性:
系統(tǒng)穩(wěn)定性壓測是要知道在各種情況下系統(tǒng)能否穩(wěn)定運行。
造成系統(tǒng)不穩(wěn)定的情況有:
極限的每秒請求數(shù)
極限的并發(fā)數(shù)或連接數(shù)
突發(fā)流量高峰
長時間的壓力流量
熱點數(shù)據(jù)請求
差網(wǎng)絡環(huán)境
下游模塊慢返回、超時或故障假死等
4、性能測試輔助系統(tǒng)參數(shù)調整:
需要配合研發(fā),測試在不同系統(tǒng)參數(shù)或者部署方案下,系統(tǒng)性能情況的對比。
5、系統(tǒng)性能回歸:
在版本升級時,通常需要對比新老版本的性能情況。
經(jīng)過反復大量的性能檢測后,才能保證在任何環(huán)境下,都能讓用戶有較好的產(chǎn)品體驗。保證產(chǎn)品符合性能通能,讓用戶有較好的體驗,這是性能的最終目的。