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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值