JMeter(5)、测试数据库

·测试一般什么时候需要去操作数据库呢?

·详细设计阶段,针对数据库进行测试。

范式、表名、表字段、类型的检查、测试等。

1、需要用到数据库的场景

·1根据测试用例去构造测试数据。

·2查询数据库的数据、获取预期结果。(使用JDBC后置处理器)

·3查询数据库的数据、作为测试的输入。(使用JDBC前置处理器)

·4查询数据库的数据、判断业务操作是否成功。(使用JDBC后置处理器)

·5性能测试。

2、JMeter操作数据库

1.Jmeter如何去操作数据库呢?

Jmeter是一个java应用,所以对于数据库的操作是通过JDBC的方式来实现的。那就意味着要使用Jmeter完成对数据库的测试,需要用户自行根据实际情况去下载相应的数据库的JDBC驱动,如:mysql-connector-java-5.1.20-bin.jar。驱动下载之后,将jar包放入Jmeter的lib目录。

在Jmeter中,针对数据库进行测试的话,常用到的组件有四个:

1、JDBC Connection Configuration:实现JDBC连接配置,属于必选组件。

2、JDBC Request:JDBC请求、是用来实现数据库请求的。结果会计入查看结果树和聚合报告

3、JDBC前置处理器:是用来在不同的协议请求之前去实现相关的数据库操作。

比如说:测试数据的初始化、查询数据作为请求参数等。结果不会计入查看结果树和聚合报告

4、JDBC后置处理器:是用来在不同的协议请求之后去实现相关的数据库操作。

比如说:测试数据的还原、查询数据作为检查条件等。结果不会计入查看结果树和聚合报告

PS:JDBC Request、JDBC前置处理器、JDBC后置处理器这三个组件的配置选项基本一致,只是用途不同、使用场景不同而已。

2.各组件配置

1·JDBC Connection Configuration:

Variable Name:变量名称,由用户自定义的,用来标识JDBC连接配置器,在后续的JDBC请求组件中需要用到。

Validation Query:select 1,用来测试连接

Database URL:数据库的链接地址,不同类型的数据库,写法不一样。如果遇到解析Date异常,在URL后面加参数:

?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull

JDBC Driver class:不同类型的JDBC驱动中的Driver类的package路径,包括类名本身。不同类型的数据库是不一样的。

PS:URL和Driver class在Jmeter的帮助是有示例的。

用户名:具有访问权限的数据库用户名。

密码:用户的密码。

2·JDBC Request的配置:

·Variable Name:该处填写的是在JDBC Connection Configuration组件中所设置的Variable Name,表示使用对应的JDBC Connection Configuration组件来实现数据库连接。

·Query Type:请求类型,可选的类型如下:

·Select StateMent:表示执行的sql是select语句。

·Update StateMent:表示执行的SQL是增删改类操作。关键字:update、insert、delete、create、drop等。

·Callable StateMent:主要是用来调用存储过程的,但是也可以用来实现其它所有SQL请求。

·PrePared Select StateMent:表示执行的sql是select语句,但是允许在SQL语句中通过?来实现传参(SQL层面的传参,不是Jmeter)。

·PrePared Update StateMent:类似于Update StateMent,表示执行的SQL是增删改类操作。但是允许在SQL语句中通过?来实现传参(SQL层面的传参,不是Jmeter)。

PrePared类型的专属选项有以下两个

·Parameter values:该处填写的就是需要传递给带?的SQL的参数值。参数值的数量、顺序和SQL语句中的问号保持一致。参数值之间使用逗号分隔。如:35,male

·Parameter Types:该处填写的是参数的类型,数量、类型和Parameter values保持一致,要求大写,使用逗号分隔。如:INTEGER,VARCHAR

通用选项

·Variable Names:该处可以填写的是由用户自定义的变量名称,用来存储SELECT语句查询的结果。

1·变量名称可以有多个,使用逗号分隔。

2·变量是按照顺序去存储查询结果,一个变量存储一列值,即第N个变量存储结果中的第N列值。

3·存储方式采用的是数组方式,下标是从1开始,即下标1表示当列的第一个值。下标N表示第N个值。并且每一个变量都会有一个隐藏的参数叫:Vname_#=N,用来存储值的个数

原文地址:https://www.cnblogs.com/yjh1995/p/12578467.html

时间: 2024-10-22 01:31:39

JMeter(5)、测试数据库的相关文章

第三篇--Jmeter测试数据库Mysql

Jmeter模拟100用户访问Mysql数据库 1.将Mysql数据库的驱动[mysql-connector-java-5.1.15-bin.jar]放到jmeter的lib目录下,新建线程组100[模拟100用户],循环次数10次,10s内启动所有线程, 如下图: 2.右键-配置元件中选择[jdbc Connection Configuration],Variable Name配置自定义名称CSMSDatabase,配置数据库最大连接数和数据库配置信息,如下图: 3.右键-Sampler中选择

jmeter 压力测试

一.什么是压力测试 压力测试:测试系统在不同压力情况下的效率状况以及系统可以承受的压力状况. 举例说明:5000人同时到窗帘系统下单购买窗帘时,系统运行速度或者处理效率是否变慢或者系统是否会崩溃. 二.压力测试工具 1. LoadRunner LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.通过使用 LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速

转载:JMeter压力测试入门教程[图文]

JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件.Java小服务程序.CGI脚本.Java 对象.数据库, FTP服务器, 等等.JMeter 可以用于对服务器.网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能.另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验

【转】用JMeter来测试Tomcat的性能

JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以到http://jakarta.apache.org/jmeter/index.html下载源代码和查看相关文档. JMeter作用领域 JMeter可以用于测试静态或者动态资源的性能(文件.Servlets.Perl脚本.java对象.数据库和查询.ftp服务器或者其他的资源).JMeter用于模拟在服务器.网络或者其他对象上附加高负载以测试他们提供服务的受压能力

jmeter 压力测试 参数

Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值 #Sam

jmeter连接mysql数据库

前言:上篇文章讲了jmeter环境变量.使用以及参数化设置,本篇主要讲jmeter连接mysql数据库,如有不知道jmeter怎么使用,请看上篇:jmeter环境配置.使用以及参数化之CSV Data Set Config 本文以mysql数据库为例. 1.下载mysql-connector-java-5.1.38-bin.jar包,下载地址:http://download.csdn.net/download/u013786092/9357533 2.下载完毕后放在jmeter路径的lib目录下

Jmeter 分布式测试

Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制. 那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter.这种方式很笨,也很难达到真正的同步.其实,我们通过单个jmeter 客户端就可以控制多个远程的jmeter服务

JMeter常用测试元件—学习笔记

线程组 Ramp-Up Period:告诉JMeter达到最大线程数需要多长时间.假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转.每一个测试线程都会在上一个线程启动10秒之后才开始运行.假定共有30个线程,Ramp-Up Period为120秒,那么线程启动的间隔变为4秒. Ramp-Up参数不能设定得太短,否则在测试的初始阶段会给予服务器过大的压力.Ramp-Up参数也不能设定得太长,否则就会发生第一个线程已经执行完毕,而

windows 测试数据库的连接状况-udl方法

udl是windows系统上,用于测试数据库的连接状态的测试软件. 使用方法: 1.建立一个空白文本 2.将文件的后缀名更改为*.udl 即可 文件内容一定为空 3.选择windows的“提供程序” ,然后点击下一步,选择数据源,一般是数据库文件,本次实验时,使用的是corpus.mdb  文件. 然后测试连接即可. 通过这种方法就可以确定数据库文件的连通状态.