“接口测试简介”——实现接口测试,软件自动化测试入门攻略

news2024/11/25 6:29:13

实现接口测试

接口测试是检查程序各部分之间的交互点,从无测试到手工测试、借助脚本或工具实现自动化测试以及测试平台的构建,接口测试近几年发展非常迅速,许多企业也都开始重视接口测试,因此,接口测试也成了测试人员的必备技能。

本章首先为读者介绍接口自动化测试的概念,然后用一个示例进行实战。

1、接口测试简介

测试人员经常说的接口是指程序前后端的接口,它是基于某种协议的一种接口。

测试人员向服务器发送一个请求,服务器接收到请求并做处理,然后返回一个响应结果,最后通过对响应结果判断是否符合预期,从而验证接口的功能是否正确。

1.1概念

接口(Application Programming Interface)简称API,用于程序不同部分之间的数据交互。

接口测试是测试系统组件间接口的一种测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

测试的重点是检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

随着IT行业的分工越来越细化,很多项目都采用前后端分离的开发模式,而这种开发模式有一个很关键的点,即是数据交互-接口。

对接口的测试就是为了保障数据交互的稳定和安全。再就是产品是不断地发展的,内部复杂度也在不断上升,模块之间的依赖、模块与第三方之间的关联也越来越多,如果单纯地依靠页面功能测试,是很难确保数据的安全和各种场景的覆盖的。

而进行接口测试,则可以绕过前端的限制,更大程度地覆盖使用场景,提高代码覆盖率,且接口测试很容易实现自动化,相对UI自动化也比较稳定,可以支持后端开发的快速迭代。因此,进行接口测试是非常有价值且必要的。

接口有很多类型,例如计算机USB接口、操作系统接口、命令行参数接口、不同协议类型接口等,每一种接口的测试方法、测试出发点、使用场景都不相同,因此接口测试是一种宽泛的说法。

但由于软件测试人员接触和测试最多的是HTTP协议类型的接口,于是普遍的认识是:接口测试就是测试HTTP协议类型的接口。

  • 1.2常见接口协议

接口是基于某种协议开发的,符合一定的协议规范,下面介绍一些常见的接口协议。

  • 1.2.1 HTTP(S)

HTTP(Hyper Text Transfer Protocol)即超文本传输协议,是互联网的基础协议,它是基于TCP协议的应用层传输协议,用于客户端和服务器之间的通信。

请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一端称为服务器端。

HTTP是面向连接的,客户端首先通过网络与服务器建立连接,然后客户端向服务器提出请求,服务器接到请求后做出相应应答,最后服务器关闭连接。

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)是以安全为目标的HTTP通道,在HTTP协议的基础上加入了SSL层。

SSL是安全套接层,主要用于Web的安全传输协议,它是通过证书认证来确保客户端和服务器之间的通信数据是加密安全的。

  • 1.2.2 WebService

WebService不是一种协议,是基于HTTP/HTTPS的一种技术方式或风格,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件就可相互交换数据或集成。

WebService是一种跨编程语言和跨操作系统平台的远程调用技术,换言之,无论你使用何种语言、何种平台或内部采用什么协议,都可以相互交换数据。

  • 1.2.3 REST

REST(Representational State Transfer)即表现层状态转化,是一种软件架构风格。

表现层指的是将资源具体呈现出来的形式,客户端想要操作服务器,必须通过某种手段让服务器端发生状态转化,而这种转化是建立在表现层之上的,所以实际就是表现层状态转化。

在具体的HTTP协议里,客户端用到的手段是4个表示操作方式的动词:GET、POST、PUT、DELETE,它们分别对应4种基本操作:GET用来获取资源、POST用来新建资源(也可以用于更新资源)、PUT用来更新资源、DELETE用来删除资源。

  • 1.2.4 SOAP

SOAP(Simple Object Access Protocol)是一种简单的基于XML的简易协议,可使应用程序在HTTP之上进行信息交换。

它由四部分组成:

  • SOAP信封(定义了一个框架,该框架描述了消息中的内容,包括消息的内容、发送者、接收者、处理者以及如何处理这些消息);

  • SOAP编码规则(定义了一种系列化机制,用于交换应用程序所定义的数据类型的实例);

  • SOAP RPC表示(定义了用于表示远程过程调用和应答协定);

  • SOAP绑定(定义了一种使用底层传输协议来完成在节点间交换SOAP信封的约定)。

  • 1.2.5 FTP

FTP(File Transfer Protocol)即文件传输协议,是用于在网络上进行文件传输的一套标准协议,目标是提高文件的共享性和可靠高效地传送数据。

任何操作系统上的程序只要符合 FTP 协议,就可以互相传输数据。

  • 1.2.6. POP3

POP3(Post Office Protocol 3)是邮局协议的第3个版本,主要用于支持使用客户端远程管理在服务器上的电子邮件。

POP3允许用户从服务器上把邮件存储到本地主机上,同时删除保存在邮件服务器上的邮件。

  • 1.2.7 SMTP

SMTP(Simple Mail Transfer Protocol)是一种提供可靠且有效的电子邮件传输的协议,主要用于系统之间的邮件信息传递,并提供有关来信的通知。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

php在线相册

1、将静态页面效果完成 解压到www里 整个数据 暂时是错误的 建立连接密码为root 运行sql文件 开始 测试 导入alumbenew2 2.提交表单方式 3.利用php获取表单值的方法

三目运算判断字母大小写-C语言

1.问题: 输入一个字符,判别它是否为大写字母,如果是,将它转换成小写,如果不是,不转换。然后输出最后得到的字符,要求使用三目运算符。 2.解答: 用条件表达式来处理,当字…

【C++进阶】2024年了set、map还搞不懂底层细节?

🚀个人主页:小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 一、前情提要1、什么是关联式容器?2、键值对又是什么? 二、树形结构的关联式容器1、set1.1…

细说机房安装带孔的通风防静电地板的原因

静电在我们的日常生活中无处不在,但在机房等特殊环境中,静电却可能带来巨大的危害,为了防止静电带来的危害,很多机房都会安装防静电地板。其中有一部分机房会安装带孔的通风防静电地板,那么带孔的通风防静电地板有什么…

小程序-生命周期与WXS脚本

生命周期 什么是生命周期 生命周期(Life Cycle)是指一个对象从创建 -> 运行 -> 销毁的整个阶段,强调的是一个时间段。 我们可以把每个小程序运行的过程,也概括为生命周期: 小程序的启动,表示生命…

Java免税商品购物商城:Spring Boot实现详解

第一章 绪论 1.1 课题开发的背景 从古至今,通过书本获取知识信息的方式完全被互联网络信息化,但是免税商品优选购物商城,对于购物商城工作来说,仍然是一项非常重要的工作。尤其是免税商品优选购物商城,传统人工记录模式…

夹耳蓝牙耳机哪个品牌质量最好最耐用?2024年耳夹式耳机选购指南

随着科技的进步和人们对音质要求的提高,耳夹式耳机逐渐成为大家的耳机新宠。但是,面对市场上琳琅满目的耳夹式耳机品牌,许多人都会困惑:夹耳蓝牙耳机哪个品牌质量最好最耐用?其实,选对品牌不仅关系到音质的…

计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践

计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践 1. 什么是生成对抗网络? 生成对抗网络(Generative Adversarial Networks,简称GANs)是由Ian Goodfellow等人在2014年提出的一种深度学习模型,主要用于数…

OpenHarmony(鸿蒙南向)——平台驱动开发【PIN】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 概述 功能简介 PIN即管脚控制器,用于统一管理各SoC的…

Python 在PDF中插入文本超链接和图片超链接 (详解)

目录 使用工具 Python给PDF添加网页链接 Python给PDF添加内部文件链接 Python给PDF添加外部文件链接 Python给PDF中现有文本添加超链接 Python在PDF中插入带超链接的图片 Python给PDF中现有图片添加超链接 超链接是指向特定资源(如外部网页、文档内部位置或其…

Android个性名片界面的设计——约束布局的应用

节选自《Android应用开发项目式教程》,机械工业出版社,2024年7月出版 做最简单的安卓入门教程,手把手视频、代码、答疑全配齐 【任务目标】 使用约束布局、TextView控件实现一个个性名片界面的设计,界面如图1所示。 图1 个性名片…

跟王道学c记录

scanf int a; scanf("%d",&a); 一定要有取地址符 printf 用%f精度修饰符指定想要的小数位数。例如,%5.2f会至少显示5位数字并带有2位小 数的浮点数 用%s精度修饰符简单地表示一个最大的长度,以补充句点前的最小字段长度 printf 数的所有输出都是右对齐的,除非…

C++的哲学思想

C的哲学思想 文章目录 C的哲学思想💡前言💡C的哲学思想☁️C底层不应该基于任何其他语言(汇编语言除外)☁️只为使用的东西付费(不需要为没有使用到的语言特性付费)☁️以低成本提供高级抽象(更…

exBase

1.准备工作 1.端口配置 下列为默认端口号,若部分端口号已被占用,用户可以根据实际情况进行修改。 端口号 说明 31030 exBase默认端口 31003 配置库默认端口 2181 zookeeper默认端口 9092 kafka默认端口 8091 metaNode的RPC端口 8092 node…

【Linux】进程管理:从理论到实践(一)

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一: 🔥 进程的基本概念 二: 🔥 描述进程-PCB三: 🔥 查看进程 🥝 通过系统目录🥝 通过ps命…

小程序视频编辑SDK解决方案,轻量化视频制作解决方案

面对小程序、网页、HTML5等多样化平台,如何轻松实现视频编辑的轻量化与高效化,成为了众多开发者和内容创作者共同面临的挑战。正是洞察到这一市场需求,美摄科技推出了其领先的小程序视频编辑SDK解决方案,为创意插上翅膀&#xff0…

线性代数(持续更新)

一.矩阵及其计算 1.矩阵的概念 矩阵就是一个数表 元素全是0,是零矩阵,用0来表示 当mn时,称为n阶矩阵(方阵) 只有一行的叫行矩阵,只有一列的叫列矩阵 只有对角线有元素的叫做对角矩阵,用dia…

FTP被动模式配置

FTP被动模式配置 非云服务器或未开启防火墙的服务器不需要设置 背景: 某些FTP客户端与FTP服务器进行数据交互时,客户端数据传输使用的是被动模式; 被动模式会导致服务端的数据通道端口随机变动,服务器的防火墙无法设置放行规则…

Excel数据检视——对角线连续数据连线

实例需求:数据表如下图所示,现需要根据规则,在符合要求的单元格上,添加连线。 连续单元格位于对角线方向单元格内容相同连续单元格数量不少于7个 示例代码如下。 Sub LT2RB()Dim objDic As Object, rngData As Range, bFlag As …

基于springBoot校园健康驿站管理平台(源码+教程)

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳…