postman和jmeter的区别何在?

news2024/11/27 13:05:19

小伙伴们大家好呀,前段时间笔者做了一个小调查,发现软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中,有高手,自然也会有小白,但有一点我们无法否认,就是每一个高手都是从小白开始的,所以今天我们就来谈谈一大部分人在做的接口测试,小白变高手也许你只差这一次深入了解!

01、接口测试的目的

已经是老生常谈了,我想不用我说,凡是说到接口总会被问及这个话题,的确,没有目标就没有评定标准,知道其目的也是至关重要的。

1.1接口测试的目的通过英文翻译呈现如下:

API 测试是一种作为集成测试的一部分,通过直接控制被测应用的接口(API)来确定是否在功能、可靠性、性能和安全方面达到预期的软件测试活动。由于 API 都没有 GUI 界面,API 测试都是在通讯层进行的。现在 API 测试在自动化测试中有着很重要的地位,因为 API 一般是应用逻辑的主要接口,同时 GUI 测试在敏捷开发和 DevOps 的快速迭代和频繁变更中很难维护。

1.2在进行接口测试前,还需要了解:

1.2.1 GET和POST请求

如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话就不行了,就得借助工具来发送。

GET请求和POST请求的区别:

· GET使用URL或Cookie传参,而POST将数据放在BODY中

· GET的URL会有长度上的限制,则POST的数据则可以非常大

· POST比GET安全,因为数据在地址栏上不可见

· 一般get请求用来获取数据,post请求用来发送数据

1.2.2 http状态码

每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种:

· 200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了

· 300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了

· 400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面

· 500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果

1.2.3 web service的接口如何测试

它不需要你在拼报文了,会给一个webservice的地址,或者wsdl文件,直接在soapui导入,就可以看到这个webservice里面的所有接口,也有报文,直接填入参数调用,看返回结果就可以了。

1.2.4 cookie与session的区别

· cookie数据存放在客户的浏览器上,session数据放在服务器上

· cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session

· session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie

· 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

· 所以个人建议:将登录信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中

02、接口测试怎么测

2.1通用接口用例设计

通过性验证:

首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。

参数组合:

现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。

接口安全:

· 绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?

· 绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功

· 参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。

· 密码安全规则,密码的复杂程度校验

异常验证:

所谓异常验证,也就是我不按照你接口文档上的要求输入参数,来验证接口对异常情况的校验。

2.2 、根据业务逻辑来设计用例

根据业务逻辑来设计的话,就是根据自己系统的业务来设计用例,这个每个公司的业务不一样,就得具体的看自己公司的业务了,其实这也和功能测试设计用例是一样的。列出测试点,然后再去找数据测试对应的测试点。

03、用什么工具测

接口测试的工具很多,比如 postman、RESTClient、jmeter、loadrunner、SoapUI等,这里主要说下最近看到的一些接口测试工具方面的帖子,简单汇总一下他们的实现方式:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
本人首推的测试工具是postman和jmeter,接下来就简单介绍下如何使用这两款工具进行接口测试,其他工具本次暂不介绍。 

04、创建接口用例集(没区别)

Postman是Collections,Jmeter是线程组,没什么区别。

05、步骤的实现(有区别)

Postman和jmeter都是创建http请求

区别1:postman请求的请求URL是一个整体,jmeter分成了4个部分(协议、主机、端口、路径)

区别2:postman可以在请求中直接填写请求头信息, jmeter需要通过添加http请求头管理器添加请求头

区别3:对于cookie,postman可以对cookie做管理,但是jmeter只需添加http cookie管理器即可完成cookie的处理,并且是自动处理cookie信息,所以jmeter的cookie管理更简单

Postman在pre-request script可以添加前置请求,获取响应数据,比较容易进行json结果的处理,很方便的提取json数据————jmeter不仅可以处理json数据,(json提取器),还可以提取其他数据(正则表达式提取器)

06、数据用例的实现

区别1:jmeter比较适合进行数据与操作分离,而postman比较适合把数据和操作放在一起,显然postman操作更简单,jmeter更便于维护

区别2:postman也支持csv数据文件的导入,但是每次执行时都需要收工加载数据文件,不方便(所以只能做半自动化);Jmeter可以进行完全自动化,特别是引入ant后效果更明显

07、断言的实现

区别1:Postman有很多自带的断言函数,直接引用即可,操作非常方便;jmeter也自带断言组件,操作非常直观。区别:postman用函数断言, jmeter用元件进行断言

区别2:jmeter支持正则表达式断言,postman不支持

区别3:Jmeter的断言更丰富, postman需要通过编程来实现同样的效果,所以难度更大

08、执行

区别:默认执行,postman不能保存结果,jmeter可以保存结果
Postman可以通过newman实现批量执行和保存结果,jmeter可以通过ant实现批量执行和保存结果

09、其他

· Postman比较适合做手工接口测试,因为简单,可以实现半自动化;Jmeter比较适合自动化接口测试,因为功能强大并且可以保存脚本,批量执行设置很容易

· Postman一般用来做接口测试,用来发现BUG,验证后台程序;Jmeter一般用来做自动化测试,做冒烟测试

· Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入;

jmeter是一款100%纯Java编写的免费开源的工具,它主要用来做性能测试,相比loadrunner来说,它内存占用小,免费开源,轻巧方便、无需安装,越来越被大众所喜爱


             【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通


二、接口自动化项目实战 

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具


八、JMeter性能测试 

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

                                  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐50个超实用的 Chrome 扩展,建议收藏!

今天来分享 50 个超实用的 Chrome 浏览器扩展! JSON Viewer Pro JSON Viewer Pro 用于可视化JSON文件。其核心功能包括: 支持将JSON数据进行格式化,并使用属性或者图表进行展示;使用面包屑深入遍历 JSON 属性;在输入…

大势智慧与深信服签署战略合作协议,助推实景三维中国建设

7月28日,武汉大势智慧科技有限公司(以下简称“大势智慧”)与深信服成功签署战略合作协议,双方将围绕“实景三维中国建设”和测绘行业数字化领域开展深度合作,共同为广大测绘行业用户打造一款灵活高效的测绘数据生产和存…

【CDC】跨时钟域处理方法总结一

文章目录 一、概述1.异步时序2.亚稳态与建立保持时间 二、跨时钟域处理1.控制信号的跨时钟域处理(单bit数据)a.慢时钟域到快时钟域b.快时钟域到慢时钟域握手“扩宽”快时钟域脉冲时钟停止法窄脉冲捕捉电路 2.数据信号的跨时钟域处理(多bit数据…

C++动态内存管理(new和delete)

C动态内存管理 1. C中动态内存管理1.1 new/delete操作内置类型1.2 new和delete操作自定义类型 2. operator new与operator delete函数2.1 operator new与operator delete函数(重点)3. new和delete的实现原理3.1 内置类型3.2 自定义类型 4. 常见面试题4.1…

快速转换PDF文件: Python和PyMuPDF教程

解决问题 有时候将文档上传Claude2做分析,有大小限制,所以需要切割pdf文档为几个小点的文档,故才有了本文章。 如何用Python和PyMuPDF制作你想要大小的PDF? PDF是一种广泛使用的文件格式,可以在任何设备上查看和打印…

C#核心知识回顾——19.插入排序

1.插入排序的基本原理 871542639 两个区域 排序区 未排序区 用一个索引值做分水岭 未排序区元素 与排序区元素比较 插入到合适位置 直到未排序区清空 int[] arr { 8, 6, 7, 2, 9, 4 };//第一步//能取出未排序区…

防御第六次作业-文案

1.录制一个讲解密码学综合应用视频,参考讲义中的综合应用图 过程: 发送者为Alice 接受者为Bob 首先对原始信息进行hash运算得到信息摘要,然后使用私钥进行签名(签名的作用是验证该信息是Alice的),然后将…

设备类资产盘点报告系统怎么处理?

对于一个企业或者公司来说,掌握公司资产的实际情况是最基本的。要知道公司的资产,主要工作内容之一就是固定资产盘点。对于资产盘点,有一些应用。Excel人力资源方式,有的则采用固定资产管理系统。 RFID固定资产管理系统是指通过射…

Footprint Analytics 宣布 20+ 链 API 免费增速,助力熊市 buidler

7 月 31 日,web3 数据供应商 Footprint Analytics 宣布其 API 产品的重大更新。 此次升级不仅大幅提升了 API 产品调用速度限制,还开放了包括 Ethereum, BNB, Polygon, zkSync 等在内的 20 公链的免费数据调用。 此外,Footprint 还更新了新…

【网络】传输层

目录 一、端口号 1、端口号范围划分 2、知名端口号(Well-Know Port Number) 3、netstat 4、pidof 二、UDP协议 1、UDP协议段格式 2、UDP的特点 3、面向数据报 4、UDP的缓冲区 5、UDP使用注意事项 6、基于UDP的应用层协议 三、TCP协议 1、TCP协议段格式 2、确认应…

vim、awk、tail、grep的使用

vim命令 $定位到光标所在行的行末^定位到光标所在行的行首gg定位到文件的首行G定位到文件的末行dd删除光标所在行ndd删除n行(从光标所在行开始)D删除光标所在行,使之变为空白行x删除光标所在位置字符nx删除n个字符,从光标开始向后…

mac屏幕提词器Presentation Prompter for mac

Presentation Prompter是一款专业的电脑提词器软件,主要用于辅助演讲者、主持人等在演讲或演示过程中更加流畅地展示内容。它可以将文字以滚动或分页的形式显示在屏幕上,帮助演讲者在不中断演讲的情况下更好地掌控演讲进度。 以下是Presentation Prompt…

城市内涝积水监测预警系统的重要性

一、系统概述 随着我国城镇化快速发展,城市建设产生的大量地面硬底化,大部分的降雨将形成地表径流,仅有少量雨水渗入地下,导致城市内涝等一系列问题。当前,全国多地发生洪涝,我国南北方全面进入主汛期。需要…

【数据库】mysql调用过程函数生成日期维表

写在前面的话 第一次使用sql中的函数部分,本文会记录sql函数的一些基础语法,如果你已经很熟练,请忽视掉 创建日期维表 使用环境 Navicat 12 创建存储日期的表(日期,日期的不同的表达形式,这一年的第几周&…

瑞芯微原厂源码目录介绍2-RK3568

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言顶层目录分析out 目录system 目录frameworks 目录了解目录有什么意义 前言 在上一个小节中,下载并解压了瑞芯微提供的 Android 源码,解…

51单片机学习--LED点阵屏显示图形动画

为了通用性考虑,需要把用到的几个口用特殊位声明来重新命名,由于RCLK在头文件中已有定义,所以这里把P3^5声明成RCK吧。。这样的做法可以提高可读性 sbit RCK P3^5; //RCLK sbit SCK P3^6; //SRCLK sbit SER P3^4;接下来编写74HC595的输…

开源软件包存储库存在1200+恶意包,供应链安全何去何从

一、前言 2020年12月13日,网络安全公司FireEye发布分析报告,称全球最著名的网络安全软件供应商SolarWinds遭受供应链攻击并被植入木马后门,影响版本为2019.4 HF 5 - 2020.2.1:使用该产品的机器可被攻击者完全操控。根据SolarWind…

前端学习——Vue (Day9)

Pinia 快速入门 https://pinia.vuejs.org/zh/getting-started.html npm install pinia import { createApp } from vue import { createPinia } from pinia import App from ./App.vueconst pinia createPinia() const app createApp(App)app.use(pinia) app.mount(#app)&l…

2分钟大白话:什么是大数据架构。人人好懂

问题背景 在40岁老架构师 尼恩的读者社区(50)中,尼恩一直指导大家写简历,做面试,最高的拿到年薪近100W。 昨天指导 一个 阿里 p6 小伙写简历,做面试。在帮他 挖掘简历亮点时,发现他项目在Java上没有什么技术亮点&…

Vcenter 创建 虚拟机配置 Thin Provision 模式 disk

介绍 在vCenter中选择虚拟磁盘格式通常也取决于您的需求和使用情况。 vSphere支持多种虚拟磁盘格式,以下是一些常见的格式: Thick Provision Lazy Zeroed:这是vSphere中的默认格式。它会预分配虚拟磁盘所需的存储空间,但只有在虚…