软件测试/测试开发丨接口测试学习笔记

文章介绍了接口测试的概念、价值以及分层测试体系,强调接口测试在提升测试效率和早期发现问题上的重要性。同时,详细讲解了HTTP协议,包括请求和响应的结构,并提到了RESTful架构的原则。此外,文中还提供了接口测试的学习路线,涵盖了从协议到工具如Postman、Charles的使用。
摘要由CSDN通过智能技术生成

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/25566

1、接口测试价值与体系

目录

  • 接口测试概念
  • 接口测试的价值
  • 分层测试体系
  • 接口测试学习路线

接口测试概念

  • 接口:不同的系统之间相互连接的部分,是一个传递数据的通道
  • 接口测试:检查数据的交换、传递和控制管理过程

接口本质是后端预先定义好的函数或方法,这些函数可以提供一些确定的功能和服务

接口测试的价值

  • 传统的测试方法成本急剧上升
  • 测试效率下降

[image]

分层测试体系

  • 越往上,发现 Bug 的时间越晚,成本越高
  • 接口测试(Service)相比 UI 测试,可以更早发现问题,更快的质量反馈

[image]

接口测试学习路线

接口测试与 mock 学习路线

形式章节描述
知识点接口测试价值与体系了解接口测试的知识体系与学习路线
知识点常见的接口协议了解常见接口协议、重点掌握 HTTP 协议
知识点接口测试用例设计掌握接口测试用例设计思路
知识点postman 基础使用掌握 postman 的安装和基础使用
实战postman 实战练习使用 postman 完成接口测试
知识点抓包工具 charles掌握 charles 的安装和基础配置
知识点抓包工具 fiddler掌握 fiddler 的安装和基础配置
知识点抓包工具证书配置抓包工具证书配置 https 协议数据抓包
实战App 抓包实战练习对雪球实现抓包
实战接口测试实战练习结合 postman 完成对宠物商店的接口测试
知识点弱网测试使用 charles 完成弱网测试
知识点mock 的价值与意义了解 mock 测试的价值与意义
实战mock 实战练习雪球 mock 实战练习
知识点使用 curl 发送请求【选修】了解 curl 命令的参数
知识点tcpdump 与 wireshark 的使用【选修】了解 tcpdump 与 wireshark 的基本使用

2、常见的接口协议

目录

  • 网络模型
  • 常见接口协议
  • HTTP 协议详解
  • Restful 架构

网络模型

常见接口协议

image

RPC 协议

  • RPC(Remote Procedure Call)

  • 以本地代码调用的方式实现远程执行

  • 主要用于公司内部的服务调用

  • 优点:传输效率更高、性能损耗更低、自带负载均衡策略、更好的服务治理能力

  • 常见的 RPC 协议

    • Dubbo:Java 基础之上的高性能 RPC 协议
    • gRPC:高性能通用 RPC 框架,基于 Protocol Buffers。PB 是一个语言中立、平台中立的数据序列化框架
    • Thrift:与 gRPC 类似的多语言 RPC 框架

HTTP 协议

  • 请求

    • 请求行:method url protocol
    • 请求方法:GET、POST、PUT、DELETE、HEAD
    • 请求头: Host Cookie User-Agent
    • 请求参数 query
    • 请求体:JSON XML FORM
      http端口默认:80,https端口默认:443
  • 响应:

    • 响应状态行
    • 响应头
    • 响应体

URI 和 URL

  • URI,统一资源标识符,用来唯一的标识一个资源。

  • URL,统一资源定位符,它是一种具体的 URI

  • URL 结构:https://www.baidu.com/s?wd=霍格沃兹&rsv_spt=1

    1. 协议:http
    2. 域名:www.baidu.com
    3. 端口:跟在域名后面,域名和端口之间使用“:”作为分隔符,非必须,如果省略端口部分将采用默认端口
    4. 路径:/s
    5. 请求参数:wd=霍格沃兹&rsv_spt=**1

HTTP 请求报文

[image]

> GET /uploads/user/avatar/31438/8216a3.jpg HTTP/1.1
> Host: ceshiren.com
> Accept-Encoding: deflate, gzip
> Connection: keep-alive
> Pragma: no-cache
> Cache-Control: no-cache
> User-Agent: Mozilla/5.0 
(Macintosh; Intel Mac OS X 10_15_0)
 AppleWebKit/537.36 
 (KHTML, like Gecko) 
 Chrome/80.0.3987.116 Safari/537.36
> Accept: image/webp,image/apng,image/*,*/*;q=0.8
> Referer: https://ceshiren.com/
> Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
> Cookie: user_id=xx;

_homeland_session=xx;
>

HTTP 响应报文

[image]

< HTTP/1.1 200 OK
< Server: nginx/1.10.2
< Date: Thu, 12 Mar 2020 09:13:44 GMT
< Content-Type: image/png
< Content-Length: 11390
< Connection: keep-alive

HTTP 响应状态码

  • 1xx 临时响应,表示通知信息,请求收到了或正在进行处理

  • 2xx 表示成功,接受或知道了

    • 200 成功
  • 3xx 表示重定向,要完成请求还必须才去进一步的行动

    • 301 永久移动
    • 302 临时移动
  • 4xx 表示客户端请求错误

    • 403 未授权
    • 404 未找到
  • 5xx 表示服务端错误

    • 500 服务器内部错误
    • 503 服务不可用

RESTful 架构

  • Restful:Representational State Transfer

  • 借助于 HTTP 协议的基本请求方法代表资源的状态切换

    • GET:获取资源
    • POST:新增或者更新
    • PUT:更新资源
    • DELETE:删除资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值