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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
取出来是个结果集, 所以你要指定用哪个.

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