超細緻的效能測試流程,你get了嗎?

2021-10-11 18:36:55 字數 2765 閱讀 3241

效能測試:利用工具模擬大量使用者操作,驗證系統承受的負載情況。

效能測試的目的:找到潛在的效能問題或瓶頸,分析並解決;找出效能變化趨勢,為後續擴充套件系統提供參考。

測試監控:基準測試、配置測試、負載測試、穩定性測試,對硬體和中介軟體進行監控。

通過檢視文件、手工作業系統對系統功能進行學習。

分析系統非功能需求(關注業務量、業務分布、使用者規模、效能指標等資訊),確定效能測試範圍,了解效能指標。

一、系統非功能需求採集

(1)系統架構:

(2)業務流程:

(3)使用者資訊:

(4)系統是否與第三方系統有關,是否需要做擋板(mock程式)。

(5)系統是否有歸檔機制:如果資料庫有歸檔機制???,可以把一些無用或者過時的資訊移到歸檔庫,這樣就減少當前資料庫的資料,有利於提高系統效能。

(6)效能指標:吞吐率、響應時間、事務成功率,cpu、記憶體、磁碟、頻寬使用閥值。

二、系統非功能需求分析

確定效能測試範圍

明確效能指標

例如:

響應時間2-5-8原則 當使用者在2秒以內得到響應時,會感覺系統的響應很快; 當使用者在2-5秒之間得到響應時,會感覺系統的響應速度還可以;

當使用者在5-8秒以內得到響應時,會感覺系統的速度很慢,但是還可以接受;

而當使用者在超過8秒後仍然無法得到響應時,會感覺系統糟糕透了,或者認為系統已經失去響應。

cpu、記憶體、磁碟、網路頻寬等。

這些指標比較抽象,在監控分析時應該進一步細化。比如cpu的效能指標在linux中分為使用者利用率、系統利用率及平均負載等重要指標。以上指標具體資料**於非功能需求、組織要求(公司運維總結出來的可行性指標)或者行業標準建議。

分析業務量;估算tps與併發數活用;分析系統協議

三、效能測試從**獲取需求?

一般需求文件中會有一部分章節用於描述系統非功能性需求,但是多數需求文件對於效能需求的說明都比較籠統抽象。在需求不明確的情況下,通常需要效能測試工程師主動向需求提供方(ba團隊、產品團隊等)去徵詢。

對於公升級、優化類的老系統,可考慮是否存有歷史測試方案參考,或許可以省事很多。或者我們分析原型系統業務資料即可,最直接的辦法就是分析原型系統的資料、統計業務量、業務分布等資訊。

工作量分解,評估工作量,計畫資源投入(即需要多少人力,多少工作日來完成效能測試工作)。

圈定測試範圍後,把業務模型對映成測試模型。

**業務模型:**業務流程,系統在某個時間段內執行的業務種類及其業務佔比,即哪個業務在什麼時段在執行,業務量是多少?

**測試模型:**從業務模型中分析整理出來的需要進行測試的業務。對業務進行拆分物件,實現這個完整的功能包含哪些流程、環節。比如「購買商品」,具體的流程環節包括「登入->搜尋商品->提交訂單->支付訂單->退出」。接著,明確業務佔比,重要程度,目的在於:

(1)明確重點測試物件,安排測試優先順序

(2)建模,混合場景中,虛擬使用者資源分配,針對不同業務功能施加不同的負載。

(3)明確下「需求分析-指標分析」中相關業務功能所需基礎資料及資料量問題,因為那塊需求分析時可能只是大致估算下,評估指標是否合理,需要認真再分析下。

**效能測試場景:**參照使用者使用習慣設計負載場景,比如哪些業務的測試指令碼一起執行,哪些業務有先後順序,執行多少併發使用者等。比如wms系統(倉庫管理系統),wms中都會有盤點功能,此功能就不應該與日常功能混合在一起,因為盤點通常都是乙個月一次。所以組織測試場景時盡量要與實際業務情況一致。

在文件中明確列出測試範圍、人力投入、持續時間、工作內容、風險評估、風險應對策略等。

錄製指令碼或手動開發,新增固定計時器模擬thinktime,增加同步定時器模擬集合點,增加if條件控制器判斷邏輯,新增後置處理器獲取引數。

測試環境包括伺服器和負載機。

生產環境和測試環境的硬體架構和配置需要進行估算,否則結果會有很大的偏差。了解測試環境部署和生產環境部署差異,是否按1:1的比例部署。通常建議測試時先不考慮集群,採用單機測試,測試通過後再考慮使用集群,這樣有個比較,比較能說明問題。

準備被測系統的主資料與業務資料

我們知道資料量變會引起效能的變化。在製作測試資料時,一要注意量,需要準備足夠的存量/歷史業務資料,二要注意資料的分布。比如我們計算出需要併發100個虛擬使用者,我們至少需要準備100個以上賬號,並對賬號賦予相應的許可權(瀏覽、發帖、刪除、查詢)。

那麼準備多少資料夠用呢?

往往效能測試需求會要求我們對系統進行定容定量

資料製作方法可以使用工具、sql或者儲存過程來完成。

測試執行是效能測試的關鍵,同樣的指令碼不同執行人員得出的結果可能差異較大。這些差異主要體現在場景設計與測試執行上。

場景設計;基準測試;配置測試

負載測試;穩定性測試;

測試監控;測試監控;測試執行

一般第三方效能測試會有乙個測試准入條件(checklist)。如果是專案組內的就沒有這麼嚴格了,但基本內容不變。

(1)檢查網路環境

(2)檢查測試資料

(3)檢查監控裝置

(4)指令碼檢查

對效能測試過程中發現的缺陷進行管理。

效能測試工程師與開發人員一起來解決效能問題。

如何由測試環境推算生產環境配置

對於報告人來說,報告的是工作,是對整個測試過程的報告。對於決策層(報告相關干係人)來說關心的是結果,決策層迫切的想知道yes or no,系統能不能上線,如果不能上線,有什麼問題,怎麼能夠盡快解決?

效能測試的流程

1.測試需求分析2.測試計畫制定與評審3.測試用例設計與開發4.測試執行與監控5.分析測試結果6.編寫效能測試報告7.測試經驗總結 88 簡述bug的生命週期?1,有效地記錄bug 2,使用bug模板 3,評價bug優先順序和嚴重性 4,bug的生命 5,維護bug資料庫 89 缺陷記錄應包含的內容...

效能測試的流程及效能測試相關術語

在開始進行效能測試之前,首先要學習業務,了解實現邏輯,搞清楚需求。1 業務學習 2 需求分析 3 工作評估 4 設計模型 5 計畫編寫 6 指令碼開發 7 測試環境準備 8 測試資料準備 9 測試執行 10 缺陷管理 11 效能分析 12 效能調優 13 測試報告 1 負載 模擬業務操作對伺服器造成...

Jmeter 效能測試 2 效能測試的流程和術語

1 系統基礎功能驗證 一般情況下,只有在系統基礎功能測試驗證完成 系統趨於穩定的情況下,才會進行效能測試,否則效能測試是無意義的。2 測試團隊組建 根據該項目的具體情況,組建乙個幾人的效能測試team,其中dba是必不可少的,然後需要一至幾名系統開發人員 對應前端 後台等 還有效能測試設計和分析人員...