jmeter进行的接口测试和压力测试
1.接口测试
接口测试的内容我们之前已经讲过,values-key形式和json串传参形式;
包括的协议有http,webservice(soap),jdbc数据库,java请求
2.参数化
定义:把固定的一个值,变成动态、可变的数组,把数组的值进行值传递。数组大小可控制。
1)使用函数助手的_random函数进行参数化设置;
2)使用配置原件CSV Data Set Config进行参数设置;
策略:
Sharing mode:参数化取值策略
All threads 唯一+每次迭代
Current thread group 基于每个线程组下的唯一+迭代取值(不同线程组是顺序取值,一个线程组是唯一取值)
Current thread 顺序+每次迭代 如果多线程之间值是重复的,那么就是顺序,每个线程之间没有重复,就是唯一
3.为什么参数化
1)数据库校验字段值的唯一性。(数据库修改字段的唯一性,可避免参数化)
2)应用程序不允许用一个值反复操作。(开发调整不允许一个值反复操作,可避免参数化)
3)避免数据库的查询缓存,保证测试结果的真实性。(数据库在执行一条SQL查询操作时,先进行语法检查、语义分析(写法是否正确、表是否存在、是否有权限),生成执行计划,按执行计划做查询操作,如果查询的数据在数据库内存,返回数据;如果不在内存,需要从硬盘里把数据放到硬盘,返回数据,同时会缓存这条SQL的执行计划和结果。如果同样的查询操作,就直接在查询缓存里返回)(数据库关掉缓存,可避免参数化)
3.关联
定义:将服务器返回的、动态的、变化的值,把它保存为一个参数,以便后面需要使用这个参数的地方进行使用
1)使用后置处理器正则表达式提取器
2)json实现,在body Data中输入json入参
4.为什么关联
1)服务器校验该值的合法性;
例子:session、cookie、token、时间戳(formhash等)、验证码(图片验证码、短信验证码、邮箱验证码等)等等。验证码(①.自己写JS,解析图片,获取验证码;②.改成万能验证码)。请求成功不代表业务测试成功,要注意看回放页面是否有报错。
2)数据库,后续需要对该值进行增删改查操作。(一定是int类型的数字)
例子:insert操作 插入的值需要与其他表的数据建立关联关系/对应关系,需要进行关联。
delete操作 看请求里非手动输入的ID有多少个即可确认是否需要做关联。
update操作 where条件
select操作 where条件
5.压力测试
1)首先接口脚本需要调试成功(增加断言,查看结果树等);
2)设置压力测试场景,可加远程负载机,设置并发,时间段;
3)添加聚合报告,运行场景,观察TPS,RT,并发,根据研发需求而评定,也可以使用2/8原则
6.上传文件
使用filed upload上传文件即可。
jmeter进行的接口测试和压力测试的更多相关文章
- JMeter接口测试和压力测试
JMeter接口测试和压力测试 JMeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件).做web ...
- Jmeter连接SqlServer数据库进行压力测试
Jmeter连接SqlServer数据库进行压力测试 前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn 下载解压之后,讲s ...
- 利用jmeter对WebRTC应用进行压力测试(java)
利用jmeter对WebRTC应用进行压力测试(java) 说明:WebRTC是一款开源的多人即时视频API,与一般的http请求不同,webrtc应用实际压力主要是码流 最近负责了一个WebRTC的 ...
- 使用Jmeter进行接口测试和压力测试的配置和使用
1. Jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. JMeter 可 ...
- Jmeter对Websocket进行接口压力测试
压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求 ...
- jmeter教程--简单的做压力测试
Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 什么是压力测试 顾名思义:压力测试,就是 被测试的系统,在 ...
- jmeter模拟对网站做压力测试
一般的网站,在进入业务功能前先需登录,然后才能访问业务功能.基本框架如下 详细步骤: 1 .用badboy录制登录,访问随意一个网址. 2.用jmeter打开,一会自己写的时候可以参考里面的参数名称或 ...
- (转)在Kubernetes集群中使用JMeter对Company示例进行压力测试
背景 压力测试是评估应用性能的一种有效手段.此外,越来越多的应用被拆分为多个微服务而每个微服务的性能不一,有的微服务是计算密集型,有的是IO密集型. 因此,压力测试在基于微服务架构的网络应用中扮演着越 ...
- Jmeter+TCP\Scoket(8583)报文压力测试
Jmeter一般被用来测试HTTP协议,我第一次拿来测试socket协议,pos机传输报文为8583,协议属于socket,也是TCP协议的一种,网上有LR怎么测试8583报文,我就研究了一下怎么用J ...
随机推荐
- Flask session到期时间设置 用户登录与登出
flask版本 1.1.1 最近学习Flask开发,看官方文档产生疑问,就是session有效期的问题,默认貌似是没有有效期的,只有关闭浏览器session才会失效,其实控制session的有效期非常 ...
- python学习笔记3_数据载入、存储及文件格式
一.丛mysql数据库中读取数据 import pandas as pdimport pymysqlconn = pymysql.connect( host = '***', user = '***' ...
- JAVA面试常见问题之锁机制篇
1.说说线程安全问题,什么是线程安全,如何保证线程安全 线程安全:就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用.不 ...
- Django项目:CRM(客户关系管理系统)--18--10PerfectCRM实现King_admin日期优化
#kingadmin_tags.py # ————————06PerfectCRM实现King_admin注册功能获取内存优化处理———————— # # 因为前端禁止使用下划线开头(_meta.ve ...
- for循环遍历json(附习题及答案)
三种方法 var mapColumn = { "vdoing" : "访问深度", "_visitorNumber": "访问量& ...
- textarea限定字符输入及提示
html <textarea type="text" name="goodsDesc" data-varify='goods' placeholder=& ...
- DEV GridControl 控件属性大全
Devpress.XtraGrid.GridControl.GridView 属性 说明 Options OptionsBehavior 视图的行为选项 AllowIncrementalSearch ...
- win10 基础上装一个 ubuntu 双系统
1.准备一个空闲的分区: 1)确定每个磁盘都已经是 EFI 分区格式,如果不是,可以使用分区工具,将分区都转成EFI (例如 DiskGenius 工具挺好) 2)选择一个剩余空间较大的压缩空间,压 ...
- nfs网络共享服务基础
nfs原理 1.开启RPC服务 2.NFS向RPC服务注册启动的端口 3.用户向RPC询问NFS服务的端口 4.RPC返回端口给客户端 5.客户端通过获得的端口与NFS服务器进行数据传输 实验步骤 一 ...
- jQ-点击查看更多
<style type="text/css"> .hi { width: 200px; height: 18vw; background-color: pink; fo ...