JMeter:接口测试基础介绍

2023-09-18 15:28:47

一、什么是接口

接口是非常抽象的概念,先来看下中国最大的综合性辞典《辞海》是怎样定义接口的:

两个不同系统或系统中两个不同特性部分的交接部分。一般分硬件接口和软件接口两种。前者是为连接计算机各部分之间、计算机与计算机之间、计算机与外部系统之间而专门设计的连接线及有关逻辑控制电路;后者是为连接两个程序层或块而专门设计的程序或数据格式。

从《辞海》对接口的定义来看,偏重于对信息技术中接口的抽象描述。其实接口有更为抽象的定义,接下来领略下维基百科中接口的定义:

接口(英语:interface)泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。

看到这个解释,可能大家一脸懵逼了,太抽象了,太难理解了。

要理解其意思需要先了解定义包含的两个概 念:实体与抽象化。实体是可以被人识别与区分独立存在的事物,既可以是物理存在的也可以是概念上的。抽象化是指以缩减一个概念或是一个现象的资讯含量来将其广义化(Generalization)的过程,主要是为了只保存和特定目的有关的资讯。

简言之,接口是事物提供给其他事物使用的约定或者规范集。举个具体的例子,比如顾客去超市购物,顾客与超市之间是通过购物接口来完成交易的。超市约束顾客只要按照挑选商品然后付款的购物流程就可以完成整个购物过程,顾客并不需要了解商品怎么采购,怎么定价,怎么摆上货架等细节。采购渠道改变,价格调整等不会影响到用户的购物。

二、什么是接口测试

1. 特指脱离页面呈现,脱离页面调用是否正确,直接测试接口功能的一种测试类型,测试的重点是要检查数据的交换,传递的正确性。通常包括测试接口的参数检查、接口的参数传入及接口返回值是否正确,各接口间逻辑调用是否可以实现应用层功能。

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

3. 接口是指系统模块与模块或系统与系统间进行交互,一般我们用的多的是HTTP协议的接口、Web Service协议的接口,还有RPC(Remote Procedure Call Protocol)远程过程调用协议的接口。不管是哪种接口,其本质就是发送一个request,然后服务器响应后返回一个response,然后我们对response进行分析,这即是接口测试。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

三、接口测试的意义

1.更早的发现问题

随着敏捷测试的盛行,我们都知道测试工作要尽早的介入到项目开发周期中,因为越早的发现 bug,修复的成本就越低。

然而功能测试一般都要等到系统提供可测试的 UI 界面后才能进行,单元测试又要求较高的专业性和人力成本,所以选择接口测试来更早的介入测试。

接口测试可以在功能界面未开发出来之前对系统的接口进行测试,从而更早的发现总是并以更低的成本修复问题。

2. 缩短产品周期

接口测试更早的介入,可以更早的发现并解决 bug,从而使得留到后期功能测试阶段的 bug 数量减少,最终缩短整个项目的上线时间,有助于实现敏捷测试。

3. 发现更底层的问题

系统中的有些 bug 如果想通过 UI 层功能测试会比较困难,或者构造测试数据和测试条件非常复杂,而通过接口测试可以更简单、更全面的覆盖到底层的代码逻辑,从而发现一些隐藏 bug。

尤其是一些异常的、极端的情况,可以用接口测试很容易的验证。

4. 行业成熟的解决方案

接口测试实现起来比较简单,行业有很多成熟的接口自动化框架,并且大部分支持持续集成。

四、接口测试必备技能

1. 掌握网络基础知识与重要的网络协议,比如TCP/UDP协议、HTTP/HTTPS协议,了解RPC, Web Service及REST

2. 掌握Web开发的基础知识,理解Session、Cookie与token

3. 掌握常用的接口测试工具如curl命令,Postman,JMeter,LR,SoapUI等

4. 掌握基本的协议分析工具如Chrome Devtools,Fiddler,Charles,Wireshark,tcpdumps等

5. 掌握一门编程语言Python或Java

6. 了解Nginx, Apache, Tomcat等服务器中间件

7. 掌握关系数据库基本查询命令,及一些NoSQL(如Redis)操作,用于检查响应结果

8. 掌握基本的Linux日志查询和筛选命令

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

更多推荐

应用开发平台能力扩展——集成echarts组件实现图表展现能力

背景图表展现能力是平台需具备的基础能力,目前echarts是最佳选择。在早期版本的图表中,不同的图表样式,需要不同的数据格式,需要进行复杂封装才能易于使用。百度官方也意识到这个问题,在echarts4.0版本提供了dataset属性支持,提供了统一的数据格式,也曾考虑基于这一新特性将常用图表进行封装。后来,发现了饿了么

基于Java+SpringBoot+Vue+echarts健身房管理系统设计和实现

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题

autosar 诊断入门

AUTOSAR(汽车开放系统架构)是一个国际汽车行业的开放和标准化的软件架构。它的主要目标是为了创建一种独立于硬件的软件架构,以提高汽车电子系统的模块化和可重用性。AUTOSAR架构主要分为两个部分:AUTOSARRuntimeEnvironment(RTE)和AUTOSARSoftwareComponents(SWC

嵌入式学习笔记(31)异常向量表的编程处理

6.5.1像内存一样去访问异常向量表(1)S5PV210的异常向量表可以改变(在CP15协处理器中),以适应操作系统的需求。但是目前系统刚启动,此时DRAM尚未初始化,程序哦都市在iSRAM中运行。210在iSRAM中设置了异常向量表,供暂时性使用。(2)查210的iROMapplicationnote文档中iRAM的

线性代数基础-行列式

一、行列式之前的概念1.全排列:把n个不同的元素排成一列,称为n个元素的全排列,简称排列(实际上就是我们所说的排列组合,符号是A,arrange)2.标准序列:前一项均小于后一项的序列就是标准序列比如1,3,6,7,9就是标准序列3.逆序数:序列中满足前一项大于后一项的数对个数比如有一个序列:{1,6,9,2,3,4}

[Qt]多线程和套接字通信

文章目录1.多线程的使用1.1线程类QThread1.1.1常用共用成员函数1.1.2信号槽1.1.3静态函数1.1.4任务处理函数1.2使用方式11.2.1操作步骤1.2.2示例代码1.3使用方式21.3.1操作步骤1.3.2示例代码2.线程池的使用2.1QRunnable2.2QThreadPool3.套接字通信3

Unity Shader顶点数据疑问

1)UnityShader顶点数据疑问2)Unity2018发布在iOS16.3偶尔出现画面不动的问题3)安卓游戏启动后提示“应用程序异常”这是第352篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。RenderingQ:把下面这段Shader

C++ PrimerPlus 复习 第七章 函数——C++的编程模块(下)

第一章命令编译链接文件make文件第二章进入c++第三章处理数据第四章复合类型(上)第四章复合类型(下)第五章循环和关系表达式第六章分支语句和逻辑运算符第七章函数——C++的编程模块(上)第七章函数——C++的编程模块(下)本章重要点注意函数指针,const指针参数。其他的其实都简简单单第七章函数——C++的编程模块(

实施主品牌进化战略(一):确立主品牌进化架构

主品牌进化战略,即以主品牌为核心创造、巩固、转化竞争优势应对竞争环境变化,避免衰退,回归增长,让主品牌进化的方法论体系。主品牌进化战略制定要从4个方面出发:确立主品牌进化架构、更新和明确主品牌竞争方向、建立产品竞争和进化体系、升级顾客认知驱动力。这4个方面是长期增长企业的战略共性,能够帮助其他企业避免衰退,回归增长,让

怎么实现一个登录时需要输入验证码的功能

今天给项目换了一个登录页面,而这个登录页面设计了验证码,于是想着把这个验证码功能实现一下吧。这篇文章就如何实现登录时的验证码的验证功能结合代码进行详细地介绍,以及介绍功能实现的思路。目录页面效果实现思路生成验证码的控制器类前端页面代码localStorage.jslogin.htmllogin.js后端登录代码User

软件设计师考试学习2

数据结构与算法基础数组稀疏矩阵用代入法计算,A数据结构的定义非线性结构分为树和图,区别在于有没有环路顺序表与链表引入头节点可以使所有的节点处理方式一致如果没有空的头节点,头节点需要单独处理顺序存储与链式存储查找特殊情况:如果有顺序的话顺序存储更优(二分查找)队列与栈在循环队列里,为了使队空和队满条件不同,往往使队尾指针

热文推荐