jmeter

【mongodb】Jemeter调用Python操作mongoDB压测

北战南征 提交于 2020-12-13 16:37:34
由于项目需要,对mongoDB进行压测。 我有两种思路去搞,分别如下: 1.使用Python操作MongoDB,然后使用Jmeter调用Python压测; 2.使用Shell操作MongoDB,然后使用Jmeter调用Shell压测; 下面简要写一下部分要点: 1.shell 操作 mongoDB: sql= " db.c_device.find( { enterpriseId: " ab808081623e258801624136fdad001c " , $ or :[ {deviceDisplayName: /1356/ i}, {deviceSn: /1356/ i}, {number: /1356/ i}, { ' departments.deptName ' :/1356/ i} ] } ).sort({joinTime: -1}).skip(70070).limit(10) " time echo $sql|mongo -u ' haochuang ' --authenticationDatabase " haochuang " --host ' 127.0.0.1 ' -p ' haochuang123 ' ' haochuang ' 2.python操作 mongoDB: # !/usr/bin/env python # encoding: utf-8 '''

HTTP/2 Request with JMeter fails with “nullSession” (jetty-alpn)

谁说胖子不能爱 提交于 2020-12-13 03:25:25
问题 I've installed the Blazemeter HTTP/2 Plugin for JMeter and have trouble getting HTTP/2 requests to work. My minimal test looks like this: Thread Group HTTP2 Request Server: stackoverflow.com Protocol: https View Result Tree Http2 Running the test shows the following sampler result in the view result tree: Thread Name:Thread Group 1-1 Sample Start:1970-01-01 01:00:00 CET Load time:0 Connect Time:0 Latency:0 Size in bytes:2700 Sent bytes:0 Headers size in bytes:0 Body size in bytes:2700 Sample

工作中如何构造测试数据

假装没事ソ 提交于 2020-12-12 21:45:19
在日常的测试工作中,大家是否会遇到类似的问题呢? 1、比如页面数据不够,翻页功能无法测试 2、页面某些功能暂时没有找到满足要求的数据 3、做数据分析的时候,需要用到大量的数据,而现有环境中数据量满足不了 ...... 怎么去解决数据的问题呢? 1)、基于GUI构造测试数据 好处: 1、不光是在造数据,本质上还是一次端到端的测试 2、没有过多技能要求,熟悉页面,能在页面进行操作就行 缺点: 1、创建数据的效率很低 2、创建数据依赖太多(依赖后台接口、测试环境和开发的支持) 3、基于 GUI 的测试数据创建方法不适合封装成测试数据工具 4、造数据的成本高,稳定性差,依赖性太强 2)通过api调用(python的faker库,jmeter等方式) 优点: 1、生成的数据可靠 2、效率高 3、构造数据的脚本可以改成接口case 4、能跳过前台,不依赖于前端 缺点: 1、需要学习成本 2、需要整理接口 3、有个别的业务,需要用到接口之外的一些其他参数(可能有部分数据是前端处理之后传给接口的),处理起来非常麻烦 3)通过数据库(sql)生成测试数据 优点: 1、效率比较高 缺点 1、整理数据库的关系非常困难,整理一个业务对应的所有sql很不容易 4)基于线上现有业务数据脱敏后导入测试环境 在涉及到大数据测试时,往往需要大量的数据用于验证逻辑,这个时候可以考虑将线上数据脱敏后

【分享】接口测试注意的点

↘锁芯ラ 提交于 2020-12-11 23:53:50
接口测试作为集成测试的一部分,通过直接调用被测试的接口来确定系统在功能性、可靠性、安全性和性能方面是否能达到预期,有些情况是功能测试无法覆盖的,所以接口测试是非常必要的。 接口测试分为两种,一种是webservice接口,走soap协议通过http传输,请求报文和返回报文都是xml格式的,测试时通过工具soapUI进行测试。使用情况比较少;另一种http api接口,走http传输协议,通过路径来区分调用的方法,最常用的是get和post请求。   get请求和post请求的区别在哪里呢?网上的答案为:   1、get请求可以在浏览器中请求到,post请求的测试需要借助工具   2、get请求使用url和cookie传参,post的数据放在body中   3、post比get更安全,因为传递的参数在url上是看不到的   4、get请求的url会有限制,而post请求的数据可以非常大   5、一般get请求是来获取数据,post请求是传递数据的   其实,对于现在飞速发展的 互联网来说,上面的说法已经不严谨了。首先,post请求的参数也可以写在url里,但是这种情况不多见;其次表面上看起来,post利用body传参,比get的url传参安全,但其实只要用抓包工具(fiddler,Charles等),post的参数也是一览无余;再次,现在的浏览器非常强大,可以输入支持很长的URL

【转载】软件测试之接口测试

一世执手 提交于 2020-12-11 02:19:06
现在很多公司都有做接口测试的要求,这时很多之前一直做功能测试的伙伴们就比较措手不及了,所以就需要来学习接口测试了,今天就给大家讲解一下接口测试的知识。 一、接口测试的意义 1、什么是接口测试呢? 接口测试是测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点联系,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 2、那为什么要做接口测试呢? (1)举个例子来说,就举大家都很熟悉的淘宝网来说吧,在淘宝网不断发展历史过程中,最先出现的是功能测试和性能测试,然后才是自动化测试,但测试技术发展到今天,淘宝网的架构已经不再是以前传统的 MVC 结构了,整个系统架构不断向着分布式、业务中心化和高可用性的方向发展,淘宝网现今的系统架构纷繁复杂,系统间的各种接口庞杂繁多,传统的功能测试、性能测试和自动化测试已经难以满足系统发展的需求,这时就迫切需要一种更加有效实用且可以持续进行的测试方式来保证整个系统架构的质量。 (2)接口测试就是在这种需求下应运而生,首先,随着系统复杂程度的不断上升,传统的测试方法测试成本急剧增加,测试效率且大幅下降(数据模型推算,底层的一个bug能够引发上层的 8 个左右bug,而且底层的bug很容易引起全网的宕机;相反的接口测试能够提供系统复杂度上升的情况下低成本高效率的解决方案。 (3

通过使用抓包工具fiddler和apipost进行接口测试

廉价感情. 提交于 2020-12-08 17:14:55
一、进行接口测试准备的东西 1.接口测试工具:apipost、jmeter等 2.接口文档,没有接口文档就用接口信息获取工具 3.接口信息收取工具:fiddler抓包工具、浏览器开发者工具(f12)等 二、web接口测试需要获取的东西 web接口测试需要知道的三个条件 1.请求方式:get、post、put、patch、delete等 2.url地址:分为http请求和https是请求,如: http://www. baidu.com 和 https://www. baidu.com 3.body传递的参数:一般是以json的格式传递参数如:"name":"xiaoming","pwd":"123"。一般以post传递参数请求为多。 三、fiddler抓包工具 fiddler是由 C# 开发的最强大好用的免费web调试工具之一,可记录所有客户端和服务见的 http 以及 https 请求,可监视设断点,甚至修改输入输出数据,它还包含了一个强大的基于事件脚本的子系统,并且能使用 .net 语言来拓展。 fiddler就是通过我们对网页的操作使用而进行的接口信息的抓取的。抓取之后按照上面需求的请求方法、url和body来查找需要的数据。 这是一个简单的登录请求被fiddler抓取到的信息,我们可以用到的分别是: 1.Protocol请求类型:http或https。这里是http 2

秒杀系统实战(五)| 如何优雅的实现订单异步处理

点点圈 提交于 2020-12-07 08:24:43
前言 我回来啦,前段时间忙得不可开交。这段时间终于能喘口气了,继续把之前挖的坑填起来。写完上一篇秒杀系统(四):数据库与缓存双写一致性深入分析后,感觉文章深度一下子被我抬高了一些,现在构思新文章的时候,反而畏手畏脚,不敢随便写了。对于未来文章内容的想法,我写在了本文的末尾。 本文我们来聊聊秒杀系统中的订单异步处理。 本篇文章主要内容 为何我们需要对下订单采用异步处理 简单的订单异步处理实现 非异步与异步下单接口的性能对比 一个用户抢购体验更好的实现方式 前文回顾 零基础实现秒杀系统(一):防止超卖 零基础实现秒杀系统(二):令牌桶限流 + 再谈超卖 零基础实现秒杀系统(三):抢购接口隐藏 + 单用户限制频率 零基础实现秒杀系统(四):数据库与缓存双写一致性深入分析 零基础上手秒杀系统(五):如何优雅的完成订单异步处理(本文) ... 项目源码 再也不用担心看完文章不会代码实现啦: https://github.com/qqxx6661/miaosha 我发现该仓库的star数不知不觉已经超过100啦。❞ 我努力将整个仓库的代码尽量做到整洁和可复用,在代码中我尽量做好每个方法的文档,并且尽量最小化方法的功能,比如下面这样: public interface StockService { /** * 查询库存:通过缓存查询库存 * 缓存命中:返回库存 * 缓存未命中

接口测试怎么进行,如何做好接口测试

我是研究僧i 提交于 2020-12-04 17:48:57
一、什么是接口? 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。 二、 常用接口采用方式: 1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有apipost、jmeter、loadrunner等; 2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和 post等方法,这也是最常用的两种请求方式。可以使用的工具有apipost、jmeter、loadrunner等; 三、前端和后端 前端:网站前端是对网页静态页面的设计,通俗的来说,就是我们肉眼能看的到的东西,当我们浏览网站的时候所看到的页面上的内容几乎都是属于前端,前端的工作就是网站页面,静态的页面是没有后端成分的,前端主要包括html和css外加js等一些样式和布局。 后端: 网站的后端就是动态网站的技术,比如网站上的一些注册登录和一些弹窗,这些都是后端的逻辑,常用的后端语言有php,jsp等,后端的数据库也包含myspl等,都是对后端进行存储数据。 四、 接口测试概念 接口测试是测试系统组件间接口的一种测试

基于jmeter+perfmon的稳定性测试记录

社会主义新天地 提交于 2020-12-04 10:56:00
1. 引子 最近承接了项目中一些性能测试的任务,因此决定记录一下,将测试的过程和一些心得收录下来。 说起来性能测试算是软件测试行业内,有些特殊的部分。这部分的测试活动,与传统的测试任务差别是比较大的,也比较依赖工具,一定程度上性能测试被认为是测试中的“高阶”部分,跟自动化测试、安全测试等并称。 2. 任务情况 2.1 任务总览 本次平台稳定性测试的目的在于:在服务器压力处于较饱和(达到80%系统最大TPS)压力之下,在较长时间(>8小时)之内观测服务器稳定性问题,以及资源使用情况和异常。 2.2 接口情况 本次测试不调用上下游接口,只压测创建订单接口。订单表存量数据19万,接口请求方式为PUT。 2.3 服务器配置 网关服务器 16核CPU、内存16G 应用服务器 16核CPU、内存16G 3. 测试过程 3.1 测试机及工具选择 由于在前序的测试过程中,可以确定本机jmeter运行可以驱动200线程数,达到接近系统极限吞吐量的情况。 因此本次稳定性测试决定延续使用本地PC使用jmeter仍以200线程进行测试,测试重点在于较长时间段内的稳定情况。 涉及到服务器资源的监控,将决定使用Jmeter插件perfmon配合serverAgent进行采集,以nmon作为实时监控工具。 具体工具选择如下: 核心工具 版本 备注 Jmeter 3.3 提供并发请求能力 PerfMon

【转载】接口测试和性能测试的区别

纵然是瞬间 提交于 2020-12-01 20:02:59
一、什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 二、接口测试原理 通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一过程(request(请求)→response(响应)) 三、接口测试步骤 实现接口测试的两种办法,一种使用接口测试工具:apipost、jmeter、loadrunner。 比如选择apipost,按照接口文档或者自己抓包获取接口信息,填写url,请求方法,填写参数查看返回值 jmeter也是差不多的步骤,不过jmeter安装需要配置环境变量。 loadrunner需要单独通过浏览器录制脚本实现,然后配置场景,然后执行测试场景。 二是通过脚本进行接口测试,一般是使用python+requests。 四、什么是性能测试 1 .软件性能测试指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项 性能指标 进行的 测试 活动。 2.软件性能测试指通过模拟生产运行的业务压力或用户使用场景来测试系统的 性能指标 是否满足性能需求要求的 测试 活动。 3.软件性能测试指检验软件性能是否符合 性能指标 需求定义的