Jmeter基础知识

Jmeter

Jmeter的安装:

  1. 安装jdk以及配置相对应的环境变量(jmeter3.*一下JDK8一下版本)Jmeter5.3需要jdk为8以上

  2. 配置jmeter的环境变量

image.png
image.png

验证:

Cmd中输入 java javac

      Jmeter -version

使用jmeter的方式 windos下使用jmeter.bat

 Linux下使用jmeter.sh  

jmeter的工具: 性能测试

负载和压力的区别:

负载测试:在一定的工作负荷下,给系统造成du的负zhi荷及系统响应的时间。

压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响

TPS和QPS的区别:

tps可以理解为是每秒对事务的处理的能力 qps是每秒对服务器的查询能力

性能测试 web端和app端测试

web端的性能指标:

https://www.cnblogs.com/flyr/p/5509451.html

响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现到页面的时间)

响应时间 2 5 8原则

吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.

TPS:每秒处理事务能力

并发数: 单用户的多次操作

多用户的单次操作

点击率:每秒钟用户向WEB服务器提 交的HTTP请求数.

资源使用率: cpu <80% 内存 <80% io <40 网络 <30%

app端的性能指标

image.png

App端的性能指标:

Cpu 内存 流量 电量 启动时间 帧率

cpu <80% 内存 <80%

电量的损耗:

流量的损耗:

线程和进程区别:

接口测试:postman jmeter

接口文档中:

1.url地址 http://apis.juhe.cn/lottery/query?key=111&lottery_id=ssq

http / https

域名:apis.juhe.cn

路径:/lottery/query

请求方式: get/post

TPC/IP OSI

image.png

三次握手四次挥手:

200 - 请求成功,已经正常处理完毕

    301 - 请求永久重定向,转移到其它URL

    302 - 请求临时重定向

    304 - 请求被重定向到客户端本地缓存

    400 - 客户端请求存在语法错误

    401 - 客户端请求没有经过授权

    403 - 客户端的请求被服务器拒绝,一般为客户端没有访问权限

    404 - 客户端请求的URL在服务端不存在

    500 - 服务端永久错误

Jmeter的接口测试:

1 测试计划中添加线程租

2 在线程租中添加http请求 在http请求中需要填入


image.png

3 在线程中添加查看结果树

image.png

Jmeter的压力测试

1 测试计划中添加线程租

2 在线程租中添加http请求 在http请求中需要填入

image.png
  1. 在线程租中进行修改 并发数量 (修改线程数量 修改循环次数 )

  2. 在线程组中进行添加聚合报告/表格查看结果/图形结果

image.png

Jmetere的断言:

断言用来判断接口的返回值是否匹配

在线程租中进行添加断言--响应断言并将json放入到响应结果中在察看结果树中来

image.png

Jmeter的参数化关联 都是用${变量名}

A:用户变量 一个变量对应一个变量值

image.png

B:用户参数 一个变量对应多个变量值

image.png

C:可以使用csv文件方式

1.用txt文件或者是excel,csv文件

2. 书写参数化值 一个http请求的所有参数以行为单位 多个值用,隔开

              多个http请求对应是多行   
image.png
  1. 在线程组中添加csvDataconfig 匹配对应的文件和参数名
image.png

D:可以使用函数助手的方式来随机生成${}参数变量

https://blog.csdn.net/qq_34659777/article/details/86005723

Jmeter的对数据库链接(对数据库进行压力测试)

测试数据的来源:

A.复用开发的原有数据 b.复用线上的真实数据c.直接使用线上数据 d.测试人员手动添加

E:产品或者是运营提供数据

在线程中添加配置原件 jdbconection config

事务的特性:ACID

原子性

隔离性

一致性

持久性

Commit 提交事务

Rollback 事务回滚

image.png

在线程租中添加取样器中的jdbcrequest

image.png

注意:query type类型不同则写sql语句不同

https://blog.csdn.net/vikeyyyy/article/details/80367135

Badboy录制(web端)

借用badboy

  1. 打开badboy的录制按钮

  2. Badboy的浏览器中输入web项目的网址 http://项目名:端口号/路径

  3. 停止录制并在file选项中进行导出jmeter(exceport jmeter) 生成.jmx文件

  4. 在jmeter中将.jmx打开并添加到线程中

Jmeter录制(app端)

在线程租中添加http代理服务器,然后修改的是

*** http代理服务器是单击测试计划中非测试原件中找

  1. 端口号(和移动端设备的端口号保持一直)ip地址进行保持一直

  2. 将录制好的http请求保存的位置可以修改(1.直接放入测试计划中,2。可以在放入到线程组中)

  3. 在线程组中进行添加 查看结果树/聚合报告的时候 就可以对多个接口或者是业务场景进行录制

Jmeter的正则提取器 面试题:

在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。

Jmeter+ant+jenkins的生成测试报告

接口自动化框架

Jmeter 对单接口或者是对业务场景进行设置最终得到对应的 性能参数

Ant 将jmeter默认生成的测试报告转换为html格式

Jenkins 实现持续集成测试(定时操作)

Svn/git 版本

前置条件: jdk jmeter ant

步骤: 1.在黑白窗口中输入 java javac 安装jdk

  1. 在黑白窗口中输入 jmeter -v 安装jmeter

  2. 修改jmeter的安装目录下bin目录下jmeter.properties以记事本的方式打开

image.png
  1. 定义文件夹来建立目录结构 Test--

  2. 在黑白窗口中输入 ant -version将ant的环境变量进行设置

  3. 修改在test/autotest/pc/buidler.xml的配置文件

A. buidler.xml文件所在位置

B. 配置jmeter的文件所在位置

C. 默认生成jtml和转换为html的测试报告的位置

D. 接受和发送邮箱的账号

E. .jmx文件所在位置

F. 发送测试报告邮箱账号和授权码以及开启邮箱的smtp/pop3的权限

  1. 实现jenkins集成(git/svn)

a. 解压tomcat

b. 将jenkins.war包放入到webapps下

c. 启动tomcat不成正常启动或者是出现闪退现象原因

(tomcat的

    8.安装jenkins的插件  对应密码在4656681de877489886cd62c26a96cd3a

    9.对jenkins进行构建  

 a.构建自由风格的项目并取名

b.配置jdk 以及javahome的路径

c.配置ant 以及ant的环境变量

D.配置定时版本和jdk版本问题 jre环境变量问题 tomcat的端口被占用 进程被占用)

(如果不能正常启动的话并之前有启动记录 需要删除.jenkins的仓库)

C:\Users\Administrator.jenkins

E.配置builder.xml文件

使用builernow 开始执行 构建

  如果在测试工作中需要借用svn/git源码工具进行拉取代码并进行借用gradle进行打包并进行测试生成测试报告

Jmeter的插件

  1. 进行下载jmeter-plugins-manager-1.4.jar 到jmeter/lib/ext文件下

  2. 重启jmeter

  3. 对tps responsetime

你可能感兴趣的:(Jmeter基础知识)