性能測試的通常流程:
收集性能需求——>編寫性能腳本——>執行性能測試——>分析測試報告——>系統性能調優
在收集性能需求後,咱們會思考:
負載測試時併發時須要多少數據?例:登陸
DB數據是否和線上接近?
因此——咱們須要在測試前批量造一批數據進行性能測試
性能數據有個重要的點:
數據必須帶有特殊標記,方便與其餘正常數據隔離而且在測試完成後銷燬。
不一樣公司的性能數據不同,這裏我講一下最多見的兩種製造方式:
一、數據庫直接插入性能測試數據
首先下載一個
mysql的jar包放到jmeter安裝目錄的lib下或者直接在測試計劃處引用
而後新建一個
jdbc connection configration,鏈接目標數據庫,須要填寫數據庫ip+端口號,用戶名和密碼(改用戶需有修改的權限)
建立一個
jdbc request,把須要插入的數據庫語句附上,而且把須要動態修改的參數(相似用戶名)
參數化:
新增一個
用戶自定義變量,將參數化的變量寫入,而且經過函數助手生成隨機數,變量我以
rac爲標記,性能測試完成便於刪除這些髒數據。
最後在
線程組輸入你須要建立的數據個數就能夠啦~
經過數據庫插入的方式造數據的方式,sql厲害的童鞋也能夠寫
存儲過程。
二、批量輪詢跑接口造數據
最簡潔的版本,只跑一個接口造數據:
將本身須要建立的用戶名+密碼放在一個
csv文件裏面,經過
csv data config參數化獲取uname,pass
建立一個
http請求,在註冊用戶的接口data處參數化用戶名和密碼:
最後一步,
線程組設置csv文件裏的用戶數,跑一遍後就建立了一批性能測試用戶啦!
固然,這只是最基礎版本的。
一般的測試數據都關聯多張表,因此咱們須要給每一個用戶跑多個接口,那麼這個時候,咱們就須要參數關聯這個祕訣了——
首先同上,添加一個csv data config,將建立的性能測試數據的用戶名,密碼的csv文件添加進去
新建一個http請求,放登陸接口,參數化登陸名和密碼,從性能測試用戶的csv文件中動態獲取
登陸成功後,須要獲取到token做爲其餘接口造數據的關鍵!經常使用postman調接口的開發大哥都知道token的重要性,通行證呀!
經過
正則表達提取器獲取到token後放到
公共信息頭管理器中。
最後添加幾個http請求,將造數據須要的接口寫入便可~
此次先介紹這兩種方式,後續持續更新。
其實有寫python版本的,後續放在對應的分類裏面作連接~