性能測試的一般流程:
收集性能需求——>編寫性能腳本——>執行性能測試——>分析測試報告——>系統性能調優
在收集性能需求后,我們會思考:
負載測試時並發時需要多少數據?例:登錄
DB數據是否和線上接近?
所以——我們需要在測試前批量造一批數據進行性能測試
性能數據有個重要的點:
數據必須帶有特殊標記,方便與其他正常數據隔離並且在測試完成后銷毀。
不同公司的性能數據不一樣,這里我講一下最常見的兩種制造方式:
1、數據庫直接插入性能測試數據
首先下載一個
mysql的jar包放到jmeter安裝目錄的lib下或者直接在測試計划處引用

然后新建一個
jdbc connection configration,連接目標數據庫,需要填寫數據庫ip+端口號,用戶名和密碼(改用戶需有修改的權限)

創建一個
jdbc request,把需要插入的數據庫語句附上,並且把需要動態修改的參數(類似用戶名)
參數化:

新增一個
用戶自定義變量,將參數化的變量寫入,並且通過函數助手生成隨機數,變量我以
rac為標記,性能測試完成便於刪除這些臟數據。


最后在
線程組輸入你需要創建的數據個數就可以啦~
我比較喜歡用
循環控制器,看起來比較簡潔~
通過數據庫插入的方式造數據的方式,sql厲害的童鞋也可以寫
存儲過程。
2、批量輪詢跑接口造數據
最簡潔的版本,只跑一個接口造數據:
將自己需要創建的用戶名+密碼放在一個
csv文件里面,通過
csv data config參數化獲取uname,pass

創建一個
http請求,在注冊用戶的接口data處參數化用戶名和密碼:

最后一步,
線程組設置csv文件里的用戶數,跑一遍后就創建了一批性能測試用戶啦!
當然,這只是最基礎版本的。
通常的測試數據都關聯多張表,所以我們需要給每個用戶跑多個接口,那么這個時候,我們就需要參數關聯這個秘訣了——
首先同上,添加一個csv data config,將創建的性能測試數據的用戶名,密碼的csv文件添加進去
新建一個http請求,放登錄接口,參數化登錄名和密碼,從性能測試用戶的csv文件中動態獲取

登錄成功后,需要獲取到token作為其他接口造數據的關鍵!常用postman調接口的開發大哥都知道token的重要性,通行證呀!
通過
正則表達提取器獲取到token后放到
公共信息頭管理器中。

最后添加幾個http請求,將造數據需要的接口寫入即可~
這次先介紹這兩種方式,后續持續更新。
其實有寫python版本的,后續放在對應的分類里面做鏈接~
