接口测试 - 了解接口测试和接口协议

文章目录

  • [1. 接口测试概念](#1. 接口测试概念)
  • [2. 接口协议](#2. 接口协议)
    • [2.1 网络模型](#2.1 网络模型)
    • [2.2 网络常见接口协议](#2.2 网络常见接口协议)
    • [2.3 HTTP 协议详解](#2.3 HTTP 协议详解)
      • [2.3.1 请求与响应基本信息:](#2.3.1 请求与响应基本信息:)
      • [2.3.2 URL 和 URI](#2.3.2 URL 和 URI)
      • [2.3.3 请求报文](#2.3.3 请求报文)
      • [2.3.4 响应报文](#2.3.4 响应报文)
      • [2.3.5 Http响应状态码](#2.3.5 Http响应状态码)
    • [2.4 Restful 架构](#2.4 Restful 架构)
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1. 接口测试概念

  • 什么是接口测试呢?

    接口测试:接口测试是检查数据的交换、传递和控制管理过程;模拟客户端调用后端API接口,验证响应与预期是否一样;

  • 是什么接口?

    • 接口:不同的系统之间相互连接的部分,是一个传递数据的通道;
    • 接口分为:
      内部接口:开发写的API接口;
      外部接口:第三方接口,如:第三方登录,第三方支付;
  • 接口测试的意义是什么?

    随着系统越来越复杂,接口越来越多,测试方法成本上升,测试效率会下降;

通过分层,进行接口测试,保证服务端质量;

  • 分层测试体系: 马丁福勒大佬提出
    提出:越往UI层,发现 Bug 的时间越晚,成本越高
    接口测试(Service)相比 UI 测试,可以更早发现问题,更快的质量反馈

2. 接口协议

2.1 网络模型

OSI七层模型:书本上的-理论的,实际不是

五层体系结构:为了讲清网络原理划分的

实际使用就是TCP/IP四层模型

2.2 网络常见接口协议

接口测试必须了解常见的协议

接口传输一般使用的是HTTP/HTTPS协议

常见接口协议:

2.3 HTTP 协议详解

重点理解HTTP协议

下面是简单介绍:

重点可以看这里有详细版:点击查看 → http协议详解

2.3.1 请求与响应基本信息:

  • 请求
    • 请求行:method url protocol
    • 请求方法:GET、POST、PUT、DELETE、HEAD
    • 请求头: Host Cookie User-Agent
    • 请求参数 query
    • 请求体:JSON XML FORM
  • 响应:
    • 响应状态行
    • 响应头
    • 响应体

2.3.2 URL 和 URI

  • URI,统一资源标识符,用来唯一的标识一个资源。
  • URL,统一资源定位符,它是一种具体的 URI
  • URL 结构:https://www.douyin.com/s?modal_id=758404\&rsv_spt=1
    • 协议:https
    • 域名:https://www.douyin.com
    • 端口:跟在域名后面,域名和端口之间使用":"作为分隔符,非必须,如果省略端口部分将采用默认端口
    • 路径:/s
    • 请求参数:modal_id=758404&rsv_spt=1

2.3.3 请求报文

bash 复制代码
GET http://crl.amazontrust.com HTTP/1.1
Connection: Keep-Alive
Accept: */*
User-Agent: Microsoft-CryptoAPI/10.0
Host: crl.rootca1.amazontrust.com

请求报文:

2.3.4 响应报文

html 复制代码
HTTP/1.1 200 OK
Content-Type: binary/octet-stream
Content-Length: 651
Connection: keep-alive
Last-Modified: Tue, 16 Dec 2025 xxx GMT
x-amz-server-side-encryption: AES256
x-amz-version-id: tJQubiR8die7WGkYIiKymcACtEbvX8B6
Accept-Ranges: bytes

body

2.3.5 Http响应状态码

  • 1xx 临时响应,表示通知信息,请求收到了或正在进行处理
  • 2xx 表示成功,接受或知道了
    200 成功
  • 3xx 表示重定向,要完成请求还必须才去进一步的行动
    301 永久移动
    302 临时移动
  • 4xx 表示客户端请求错误
    403 未授权
    404 未找到
  • 5xx 表示服务端错误
    500 服务器内部错误
    503 服务不可用

2.4 Restful 架构

Restful全称:Representational State Transfer

借助于 HTTP 协议的基本请求方法代表资源的状态切换,是一种规范,可以不遵守;

通过请求查看请求类型:

GET:获取资源

POST:新增或者更新

PUT:更新资源

DELETE:删除资源

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
Wpa.wk2 小时前
接口测试 - 接口测试用例设计
经验分享·测试用例·接口测试·postman
洛白白2 小时前
升维与时间的魔法:让问题在更高处自然蒸发
经验分享·学习·生活·学习方法
源代码•宸2 小时前
goframe框架签到系统项目开发(分布式 ID 生成器、雪花算法、抽离业务逻辑到service层)
经验分享·分布式·mysql·算法·golang·雪花算法·goframe
么么...2 小时前
SQL 学习指南:从零开始掌握DQL结构化查询语言
数据库·经验分享·笔记·sql
百度测试开发2 小时前
【最细】软件测试面试项目讲解,项目经验,功能到接口到自动化...
自动化测试·软件测试·功能测试·软件测试工程师·接口测试·软件测试项目·软件测试面试
与遨游于天地3 小时前
日志系统 Kafka 积压处理有效方案
经验分享·分布式·kafka
zore_c3 小时前
【数据结构】堆——超详解!!!(包含堆的实现)
c语言·开发语言·数据结构·经验分享·笔记·算法·链表
secondyoung3 小时前
Pandoc转换Word文档:使用Lua过滤器统一调整Pandoc文档中的图片和表格格式
经验分享·junit·word·lua·markdown·pandoc·mermaid
弓乙图18 小时前
弓乙图 宇宙星系的演化本源
经验分享·微信