浅谈postman和jmeter的用法与区别

前阶段作了一个小调查,发现软件测试行业作功能测试和接口测试的人相对比较多。在测试工做中,有高手,天然也会有小白,但有一点咱们没法否定,就是每个高手都是从小白开始的,因此今天咱们就来谈谈一大部分人在作的接口测试,小白变高手也许你只差这一次深刻了解!web

接口测试的目的正则表达式

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

接口测试的目的经过英文翻译呈现以下:json

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

在进行接口测试前,还须要了解:数组

1)、GET和POST请求:若是是get请求的话,直接在浏览器里输入就好了,只要在浏览器里面直接能请求到的,都是get请求,若是是post的请求的话,就不行了,就得借助工具来发送。浏览器

GET请求和POST请求的区别:安全

一、GET使用URL或Cookie传参。而POST将数据放在BODY中。服务器

二、GET的URL会有长度上的限制,则POST的数据则能够很是大。cookie

三、POST比GET安全,由于数据在地址栏上不可见。

四、通常get请求用来获取数据,post请求用来发送数据。

2)、http状态码

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

一、200 2开头的都表示这个请求发送成功,最多见的就是200,就表明这个请求是ok的,服务器也返回了。

二、300 3开头的表明重定向,最多见的是302,把这个请求重定向到别的地方了,

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

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

3)web service的接口如何测试:

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

4)cookie与session的区别:

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

二、cookie不是很安全,别人能够分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session。

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

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

五、因此我的建议:

将登陆信息等重要信息存放为session

其余信息若是须要保留,能够放在cookie中

接口测试怎么测:

1)、通用接口用例设计

①、经过性验证:首先确定要保证这个接口功能是好使的,也就是正常的经过性测试,按照接口文档上的参数,正常传入,是否能够返回正确的结果。②、参数组合:如今有一个操做商品的接口,有个字段type,传1的时候表明修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,商品id  是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改为功,id、名称、价格都传的时候能不能修改为功。

③、接口安全:

一、绕过验证,好比说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改为3元,后端有没有作验证,更狠点,我把钱改为-3,是否是个人余额还要增长?

二、绕过身份受权,好比说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改为功,我传一个其余的卖家能不能修改为功

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

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

五、异常验证:

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

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

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

用什么工具测

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

本人首推的测试工具是postman和jmeter,接下来就简单介绍下如何使用这两款工具进行接口测试,其余工具本次暂不介绍。

1.建立接口用例集(没区别)

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

2.步骤的实现(有区别)

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提取器),还能够提取其余数据(正则表达式提取器)

3数据用例的实现

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

区别2: postman也支持csv数据文件的导入,可是每次执行时都须要收工加载数据文件。不方便(因此只能作半自动化)
  Jmeter能够进行彻底自动化,特别是引入ant后效果更明显

4断言的实现

区别1:Postman有不少自带的断言函数,直接引用便可,操做很是方便。。。 jmeter也自带断言组件,操做很是直观。 区别: postman用函数断言, jmeter用元件进行断言

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

区别3:Jmeter的断言更丰富。 postman须要经过编程来实现一样的效果,因此难度更大

5执行

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

6其余

Postman比较适合作手工接口测试,由于简单,能够实现半自动化
Jmeter比较适合自动化接口测试,由于功能强大而且能够保存脚本,批量执行设置很容易
Postman通常用来作接口测试,用来发现BUG,验证后台程序
Jmeter通常用来作自动化测试,作冒烟测试。

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

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

注:如下用例中所用地址皆为本人在本地所搭的环境,外网没法访问,见谅。

①、获取用户信息:该接口用于经过userid获取用户信息

请求地址:http://192.168.1.102:8081/getuser

请求方式:POST/GET

入参:

 

出参:

postman中请求以下

jmeter中请求以下:

②、获取用户信息:须要添加header,Content-Type application/json

1.1 请求地址

http://192.168.1.102:8081/getuser2

1.2 请求方式

get/post

1.3 入参

1.4 出参

postman测试以下,本次入参为json类型,固然文档中没说非要用json,用其余方式也是能够的

jmeter测试以下

③、修改用户余额2

1.1 功能描述

功能描述:须要添加cookie,token token是写死的token12345

1.2 请求地址

http://192.168.1.102:8081/setmoney2

1.3 请求方式

Post

1.4 入参

1.5 出参

postman测试以下:

jmeter测试以下:

④文件上传

postman:

jmeter:

⑤、请求webService接口

请求webService接口须要用到的工具是SoapUI,以下图

在jmeter里请求以下:

总结:

作好接口测试并无那么简单,固然只要找对方法和工具,一切都没有你想象中那么复杂!

无论怎样,既然开始了,那就要想办法把它作好。接下来我会使用新的设计用例思路作我未完成的接口测试用例,并修改Java 代码让其支持使用excel做为用例。上述分享中若是有不对的地方,欢迎你们及时提出

相关文章
相关标签/搜索