7. 數據驅動性能測試

概念

引用一個別博主的:

https://zhuanlan.zhihu.com/p/30588403

感覺像是更高級的參數驅動,等待專門的數據驅動我們再深入瞭解.

特點

  1. 數據和代碼分離
  2. 數據控制過程.(比如很多數據去訪問不同業務.瀏覽下單等)
  3. 減少測試代碼量
  4. 降低腳本開發維護成本
  5. 便於測試用例的修改

我們要做什麼

  1. 能操作excel(csv)文件,或者數據庫,或者其他文件
  2. 分層架構設計思維
  3. 用面向對象進行測試用例的開發
  4. 測試框架的瞭解

使用場景

  1. 複雜的業務流程
  2. 業務場景分流
  3. 符合條件的併發場景

單接口這類的沒有必要.

電商業務模型

打開首頁
這時候我們根據業務經驗或者同行等, 將測試數據進行控制分流,
比如90%的人瀏覽商品,8%的人登錄,剩下的人註冊.
然後90%的人裏面又有50%下單.
等等…

實現方法

  1. 參數化(csv或者數據庫)
  2. 邏輯控制器

csv文件用在分佈式測試的時候就有點麻煩,需要在每臺機器都要有文件.
但是數據庫不需要,而且數據結構化程度高,便於修改操作.

通過邏輯控制器if,可以分流等.
比如偶數客戶幹啥,奇數顧客去幹啥.
邏輯控制器循環結構,可以模擬秒殺等操作,不停的刷新界面.

Demo

男人瀏覽電子商品.
女人瀏覽化妝品.

創建表

我們用postgres做測試數據存儲.

create table userinfo(userid bigint, username varchar, sex smallint, createtime timestamp(6) without time zone,PRIMARY KEY(userid));

插入測試數據:
我們sex用0表示女人. 插入1000條

insert into userinfo
SELECT generate_series(1,1000),md5(random()::text),0,clock_timestamp();

我們sex用1表示女人. 插入1000條

insert into userinfo
SELECT generate_series(1001,2000),md5(random()::text),1,clock_timestamp();

jmeter創建數據庫連接

在這裏插入圖片描述
我本地有DBever,所以我直接把DBever的JDBC驅動cpoy過去.

C:\Users\10142234\AppData\Roaming\DBeaverData\drivers\maven\maven-central\org.postgresql\

在這裏插入圖片描述
copy到安裝目錄下的lib目錄
在這裏插入圖片描述
或者在測試計劃中添加環境變量指向驅動
在這裏插入圖片描述

配置數據庫連接

在這裏插入圖片描述

數據抽取

https://www.cnblogs.com/liu-xiaoliu/p/9146449.html
https://blog.csdn.net/zhu940923/article/details/94446276

select userid,username,sex from userinfo where userid > ? and userid < ?

在這裏插入圖片描述

簡單打印一下

https://www.cnblogs.com/wz123/p/11353570.html

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
取出來是個結果集, 所以你要指定用哪個.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章