JMeter:接口测试基础介绍

news2024/11/23 0:51:57

一、什么是接口

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

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

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

接口(英语: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日志查询和筛选命令

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

软件测试面试文档

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

在这里插入图片描述

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

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

相关文章

Matlab论文插图绘制模板第114期—带图形标记的图

之前的文章中,分享了Matlab带线标记的图: 带阴影标记的图: 带箭头标记的图: 进一步,分享一下带图形标记的图,先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中&…

9.18 QT作业

mainwindow.h QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();signals:void jump(); //自定义跳转信号函数private slots:vo…

小插曲 -- 使用Linux编写 判断程序是否在运行的小程序

编写思路 首先,在执行“ps -elf |grep xxx”时,如果xxx存在,通常会有两条结果,一个是xxx对应的PID,一个则是grep对应的PID,但是如果我希望执行命令后,xxx存在就只有xxx对应的PID,不…

Vue3函数式编程

文章目录 前言一、三种编程风格1.template2.jsx/tsx3.函数式编写风格 二、函数式编程1.使用场景2.参数3.例子3.render渲染函数 总结 前言 本文主要记录vue3中的函数式编程以及其他编程风格的简介 一、三种编程风格 1.template Vue 使用一种基于 HTML 的模板语法,…

QML元素定位器:Row、Colum、Grid、Flow、定位器嵌套以及Repeater用法

在QML中,定位器(Positioner)是一种特殊的组件,用于管理其子项的位置。定位器确保其子项始终根据给定的规则排列。Qt Quick提供了几种定位器,用于处理不同的布局需求。 以下是一些常用的QML定位器: Row:将其子项沿水平线排列。Column:将其子项沿垂直线排列。Grid:将其子…

6.3 字符数组

思维导图: 前言: 主要内容: 前言内容整理 字符型数据和存储 字符型数据是依据字符的ASCII代码存储在内存单元中,通常占用一个字节的空间。ASCII代码可以被认为是整数,因此在C99标准中,字符类型被归类为整…

若依DataScopeAspect数据权限解析和ew.customSqlSegment源码解析

目录 一、DataScopeAspect使用场景二、ew.customSqlSegment${ew.customSqlSegment}build:this.normal : queryWrapper where 条件不为空的时候,才有normalget第二次 进来add(), 已经拼接完 ew.customSqlSegment 了, 因为DataPermission 注解进…

开发一个训练LORA的WebUI

文章目录 效果原理说明代码 效果 原理 基于开源项目kohya-ss/sd-scripts增加了Gradio UI,精简了训练参数,更适合初级“炼丹宝宝”的炼丹炉! 核心思想还是比较简单的,通过Gradio UI来收集设置的训练参数,并通过python的…

全国职业技能大赛云计算--高职组赛题卷⑤(私有云)

全国职业技能大赛云计算--高职组赛题卷⑤(私有云) 第一场次题目:OpenStack平台部署与运维任务1 基础运维任务(5分)任务2 OpenStack搭建任务(15分)任务3 OpenStack云平台运维(15分&am…

渗透测试信息收集方法

一、域名收集 OneForAll输出表格方便筛选(status、title) layer5.0saintsec更新版子域名挖掘机 百度云链接: https://pan.baidu.com/s/1VQ2HLocs39B72ElysskPog 提取码:121l subdomainsBurte,python2子域名爆破 https://github.com/y1ng1996/lijiejie_subDomainsBru…

偶现来电时手机操作出现重启

问题描述:偶现来电时手机操作出现重启 问题分析:从系统Log看 09-06 10:22:44.791829 1400 1425 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in handler on main thread (main) 09-06 10:22:44.794133 1400 1425 W Watchdog: main …

Python Web开发:构建动态Web应用

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 Python已经成为一门流行…

功能基础篇2——常用哈希和加密算法介绍及Python相关库与实现

加解密 https://docs.python.org/3/library/crypto.html 三方库推荐,https://cryptography.io/en/latest/ Criptography,https://pypi.org/project/cryptography/ PyCryptodome,a fork of PyCrypto,https://pypi.org/project/…

vue3+ts 实现移动端分页

current 开始页码 pageSize 结束页码 const sizeref<number>(10) //一页显示十条 const eachCurrentPageref<number>(1) //默认是第一页interface ITdata {current: number,pageSize: number,// xxxx 其他参数... } const selectApplyList ref<…

vue-h5:移动Web单击事件和延迟300ms的问题

在PC端的网页&#xff0c;大部分的交互是通过click事件来实现的&#xff0c;然而在移动端&#xff0c;则是通过touch事件来实现触摸交互。 单击或者点击事件&#xff0c;指的是鼠标按下并且在短时间内放开【一般是小于300ms】。 那么移动端&#xff0c;也是类似&#xff0c;在…

大模型微调方法

下面是一些参数高效的微调大模型方法&#xff1a; Adapter 模型总览 Adapter作为一个插件加入到大模型内&#xff0c;微调下游任务时&#xff0c;固定大模型参数&#xff0c;只训练Adapter参数。 LoRA LoRA名为大语言模型的低阶适应&#xff0c;最初设计用于微调LLM&#xf…

面向未来的服务网格发展:展望服务网格技术未来的发展方向和趋势

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

RocketMQ 发送顺序消息

文章目录 顺序消息应用场景消息组&#xff08;MessageGroup&#xff09;顺序性生产的顺序性MQ 存储的顺序性消费的顺序性 rocketmq-client-java 示例&#xff08;gRPC 协议&#xff09;1. 创建 FIFO 主题生产者代码消费者代码解决办法解决后执行结果 rocketmq-client 示例&…

Nginx配置负载均衡时访问地址无法生效

场景还原 今天有小伙伴练习Nginx配置负载均衡时总是无法使用配置好的网址访问 配置文件信详情 http {# 负载均衡 后端IP地址和端口 webservers 策略 轮询upstream webservers{server 192.168.1.100:8080 weight90; server 127.0.0.1:8080 weight10; }server{listen 80;ser…

基于Java+SpringBoot+Vue的旧物置换网站设计和实现

基于JavaSpringBootVue的旧物置换网站设计和实现 源码传送入口前言主要技术系统设计功能截图数据库设计代码论文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 摘 要 随着时代在一步一步在进步&#xff0c;旧物也成人们的烦恼&#xff0c;…