接口测试和运用jmeter做接口测试

news/2024/7/6 1:50:40 标签: 测试, postman, json

1、接口测试简介

     接口测试测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。不同语言之间用json进行交互

测试接口返回的是jeson串,例如:

                                                   {

                                                   “name”:‘wjx’

               “age”:1

                                                      }  字符两边用双引号进行连接,中间用冒号进行隔开

接口文档的作用,主要概述:1、功能描述   2、请求地址:url地址,分为域名和路径   3、请求方式:一般分为get请求和post请求   4、入参   5、出参数

如何传参数?:   在url后面加?号在加参数,如果是多个参数用&符号连接

2、如何做接口测试

    一般情况下,由于我们项目前后调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送和接收。

3、请求方式都有哪些?

    GET和POST请求: 如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送。 GET请求和POST请求的区别: 1、GET使用URL或Cookie传参。而POST将数据放在BODY中。 2、GET的URL会有长度上的限制,则POST的数据则可以非常大。 3、POST比GET安全,因为数据在地址栏上不可见。常用的接口测试工具有postman和jmeter

总结:现在这两种请求方式相差不多,没有太大区别

4、怎样设计接口测试用例

接口测试是项目测试的一部分 ,它测试的主要对象是接口 ,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。

1)接口测试环境分为两种:一种是程序内部的环境;一种是程序的所调用外部接口的环境。

   2)接口测试测试数据分为接口参数数据和用例执行所需系统数据。数据的设计、准备测试用例的数据上需要花费更多的心思。要通过好的测试数据使用例查找问题。接口参数数据需对每个参数根据测试接口的实际的功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列 ,不要遗漏了某些边界值和错误点的数据。每个用例执行所需系统数据和接口参数数据尽可能的采用不一样的数据 ,使用例更容易发现问题。

   3)测试功能点,如果一个接口功能复杂时推荐对接口用例进行结构划分 ,这样子用例具有更好的可读性和维护性。接口划分原则为以接口提供的功能点的不同进行合适粒度的划分。同一功能点的用例又可根据测试环境的不同、数据的不同进行用例的填充。

   4)接口测试用例执行操作非常简单,就是所测接口的调用。

   5)预期结果验证,这也是接口用例设计的很关键的一步 ,应该细而不冗余。每个用例均需验证 ,避免一个用例中重复做相同的验证 ,提高测试用例的效率。

 

 

 

二、如何用jmeter做接口测试

1、jemeter做接口测试操作步骤:

               1、添加线程组

               2、添加http请求

               3、在http请求中写入接口url、路径、请求方式、参数

               4、添加查看结果树

               5、调用接口、查看返回值

jmeter参数化

1、咱们在调用接口的时候,有入参,那参数里面的值如果经常变化的话,就得每次去改了,很麻烦,这时候咱们就把需要经常变的值,改成可以变化的或者是咱们提前设置好的一些值,这样的话,调用的时候就不用每次都改它的值了。

2、jmeter参数化方式: 

Jmeter参数化的方式有三种

1、用户定义的变量 这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的

2、函数生成器 函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数

3、从文件中读取 文件读取就是事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的

3.用户定义变量:

在线程组中添加一个用户定义的变量,然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值,value就是具体值了。在取参数化的值的时候,使用${name}这样去取值,name就是你取的变量名称。

转载于:https://www.cnblogs.com/ggytest/p/7529942.html


http://www.niftyadmin.cn/n/1823910.html

相关文章

Ubuntu 16.04 GNOME下解决Sublime Text3中文输入(ibus)(转)

解决方法: 1、进入Sublime Text3插件管理文件夹 cd ~/.config/sublime-text-3/Packages 2、获取InputHelper插件 git clone https://github.com/xgenvn/InputHelper.git 3、如果发现在Sublime Text3中无法使用CtrlShiftZ调出输入框,请检查是否安装pygtk …

梯度下降(Gradient Descent)

转载请注明出处:http://www.cnblogs.com/Peyton-Li/ 在求解机器学习算法的优化问题时,梯度下降是经常采用的方法之一。 梯度下降不一定能够找到全局最优解,有可能是一个局部最优解。但如果损失函数是凸函数,梯度下降法得到的一定是…

开源监控系统中 Zabbix 和 Nagios 哪个更好?

监控平台的话&#xff0c;各有优劣&#xff0c;但基本都可以满足需求。等达到一定监控指标后&#xff0c;发现&#xff0c;最困难的是监控项目的管理。 CMDB中小规模&#xff08;服务器<1k&#xff09;&#xff1a;Zabbix大规模&#xff08;1k>服务器<10k&#xff09;…

(转)内存堆和栈的区别

原文: http://student.csdn.net/link.php?urlhttp://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html 在计算机领域&#xff0c;堆栈是一个不容忽视的概念&#xff0c;我们编写的C语言程序基本上都要用到。但对于很多的初学着来说&#xff0c;堆栈是一个很模糊的概念。 堆栈&#…

XCODE7 和IOS9适配后的一些问题

网上比较常规的几个问题就不细说了。 什么HTTPS、bitcode、什么什么的。 记录几个自己又遇到了但是网上没有说的。 启动应用报错&#xff0c; *** Terminating app due to uncaught exception NSInternalInconsistencyException, reason: Application windows are expected to …

[20170916]sqlplus set array最小2补充.txt

[20170916]sqlplus set array最小2补充.txt--//以前写的贴子,链接http://blog.itpub.net/267265/viewspace-1453652/--//上面提到设置array1或者array2.执行sql语句输出的逻辑读是一样的,所以得到一个结论.--//set array最小是2.--//我也在http://blog.itpub.net/267265/viewsp…

安全云计算的发展网络

本文讲的是安全云计算的发展网络&#xff0c;【IT168 资讯】随着云计算概念的热炒&#xff0c;一夜之间无数厂商跟风般推出自己的所谓云计算概念。当然&#xff0c;目前云计算处于一个起步阶段&#xff0c;还面临着很多严峻的挑战。其中&#xff0c;对数据安全的考虑而产生的信…

python--自定义模块

python模块说明&#xff1a;类似于函数式编程和面向过程编程&#xff0c;函数式编程则完成一个功能&#xff0c;其他代码用来调用即可&#xff0c;提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来&#xff0c;可能需要多个函数才能完成&#xff08;函数又可以在不同…