• day01_接口测试常识丶HTTP协议


    什么是接口

    • 接口:是指系统或组件之间的交互点,通过这些交互点可以实现数据的交互。(数据交互的通道)。接口可分为:硬件接口和软件接口。我们这里只关注软件层面的接口。

    接口的类型

    接口测试分类有许多种,按照范围划分:系统之间的接口和程序内部的接口
    • 系统之间的接口:多个内部系统之间的交互,内部系统与外部系统之间的交互
    • 程序内部的接口:方法与方法之间,模块与模块之间的交互 

    什么是接口测试

    • 接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。 

    接口测试原理

    模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。 
     

    接口测试的特点 

    • 测试可以提前介入,提早发现Bug,符合质量控制前移的理念
    • 可以发现一些页面操作发现不了的问题
    • 接口测试低成本高效益(底层的一个Bug能够引发上层8个左右Bug,接口测试可以实现自动化)
    • 不同于传统的单元测试,接口测试是从用户的角度对系统进行全面的检测

    接口测试的实现方式

    • 使用接口测试工具来实现(比如:JMeter、Postman)
    • 通过编写代码来实现(比如:Python + Requests)

    接口自动化测试 

    • 接口自动化测试:是让程序或工具代替人工自动的完成对接口进行测试的一种过程

    HTTP协议

    HTTP协议介绍 

    • HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。特点:支持客户端/服务器模式丶简单快速丶灵活丶无连接丶无状态 。

    HTTP请求

    http请求由三部分组成,分别是:请求行、请求头、请求体 。如下图所示:

    请求行

    组成:说明请求方法、URL以及所使用的协议版本

    位置:第一行信息

    常用请求方法:

    • GET:从服务器获取资源(一项或多项)
    • POST:在服务器新建一个资源
    • PUT:在服务器更新资源(客户端提供改变后的完整资源)
    • DELETE:从服务器删除资源
    • HEAD:请求获取由Request-URI所标识的资源的响应消息报头
    • TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
    • CONNECT:保留将来使用
    • OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求

    URL

    URL:(Uniform Resource Locator)统一资源定位符,是互联网上标准资源的地址。HTTP使用URL来建立连接和传输数据。如下图所示:

    • 协议部分:“http”,常见的协议有HTTP,HTTPS、FTP等
    • 域名部分:“www.itcast.cn”,也可以使用IP地址作为域名使用
    • 端口部分:“8080”,端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
    • 资源路径部分:“/news/index.html”
    • 查询参数部分:“uid=123&page=1”,可以允许有多个参数,多个之间用“&”作为分隔符

    协议版本:HTTP/1.1

    请求头

    位置:第一行之后,空行之前的

    请求头部由键值对组成,每行一对。 请求头部通知服务器有关于客户端请求的信息,典型的请求头有:
    • User-Agent:产生请求的浏览器类型
    • Accept:客户端可识别的内容类型列表
    • Content-Type:请求体数据的类型,常见的类型有:
      • text/html: HTML格式
      • text/plain:纯文本格式
      • image/jpeg:jpg图片格式
      • application/json: JSON数据格式
      • application/x-www-form-urlencoded: form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据格式)
      • multipart/form-data: 在表单中进行文件上传时使用 

    请求体 

    位置:空行之后的数据

    • GET方法是没有请求体的,POST、PUT方法中才有请求体
    • 请求体的数据可以是:表单数据、文本、XML、JSON
    • 与请求数据相关的最常使用的请求头是Content-Type和Content-Length 

    HTTP响应

    HTTP响应也由三个部分组成,分别是:状态行、响应头、响应体 ,如下图所示:

    状态行

    • 位置:第一行内容
    • 状态行由协议版本号、状态码、状态消息三部分组成 

    协议版本号:HTTP/1.1

    状态码

    状态码有三位数字组成,第一个数字定义了响应的类别:
    • 1xx:指示信息--表示请求已接收,继续处理
    • 2xx:成功--表示请求已被成功接收、理解、接受
    • 3xx:重定向--要完成请求必须进行更进一步的操作
    • 4xx:客户端错误--请求有语法错误或请求无法实现
    • 5xx:服务器端错误--服务器未能实现合法的请求

    状态消息:如上图所示的OK

    响应头

    • 位置:第一行之后,空格之前
    • 响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理响应数据 
     

    响应体

    • 位置:空格之后的内容
    • 响应体就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源码 
  • 相关阅读:
    IDEA一些介绍
    win32控制台程序使用CfileDialog进行文件读取
    判断GPS、网络是否开启
    使用高德地图SDK获取定位信息
    #子线程消息被阻挡
    strlen与sizeof
    C++中路径操作
    20155235 《网络攻防》 实验一 逆向及Bof基础实践说明
    20155235 《信息安全系统设计基础》课程总结
    2017-2018-1 20155235 《信息安全系统设计基础》第十四周学习总结
  • 原文地址:https://www.cnblogs.com/wurengen/p/15355009.html
Copyright © 2020-2023  润新知