软件测试-接口测试-知识点

接口测试学习目标

  • 能够根据接口API文档编写接口测试用例
  • 能够使用Postman工具进行接口测试,并能够对大量接口用例进行管理、对接口响应结果进行断言、处理多接口的依赖及生成测试报告
  • 能够使用Python+Requests封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告

1.基础概念

1.1接口

接口概念

接口是数据交互的通道,接口是系统或组件之间的交互点,通过交互点可以实现数据交互;
在这里插入图片描述

接口类型

  • 系统之间的接口:内部系统之间、内部和外部系统之间的交互;
  • 系统内部接口:方法与方法之间,模块与模块之间的交互;
    在这里插入图片描述

接口测试概念

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

接口测试原理

模拟客户端向服务器端发送请求,服务器接受请求后进行相应的业务处理,向客户端返回响应数据,检验响应数据是否符合预取;

接口测试的特点

  • 提前介入,提早发现Bug,符合质量前移的理念;
  • 发现一些页面操作发现不了的bug;
    -低成本高效益;
  • 从用户角度对系统进行全面的测试;

接口测试实现方式

  • 测试工具:Postman、JMeter
  • 编写代码:python+Requests

接口自动化测试

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

1.2 Http

http概念

HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互
联网上应用最为广泛的一种网络协议。

url格式

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

http协议特点

  • 简单快速
  • 无连接
  • 无状态;
  • 灵活;
  • 支持C/S模式

HTTP请求
在这里插入图片描述

请求行:
说明请求方法、要访问的资源以及所使用的协议版本;

  • 请求方法:
    GET:从服务器获取资源(一项或多项)
    POST:在服务器新建一个资源
    PUT:在服务器更新资源(客户端提供改变后的完整资源)
    DELETE:从服务器删除资源
  • 请求头:
    紧接着请求行,请求头部由键值对组成,每行一对。 请求头部通知服务器有关于客户端请求的信息,典型 的请求头有:
    User-Agent:产生请求的浏览器类型
    Accept:客户端可识别的内容类型列表
    Content-Type:请求体数据的类型
  • 请求体
    请求体不在GET方法中使用,经常在POST、PUT方法中使用
    请求体的数据可以是:表单数据、文本、XML、JSON
    与请求数据相关的最常使用的请求头是Content-Type和Content-Length

HTTP响应

HTTP响应也由三个部分组成,分别是:状态行、响应头、响应体
在这里插入图片描述

状态行

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

响应头

响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理响应数据

响应体

响应体就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源码

1.3 接口测试的流程(重点)

接口测试的流程

  1. 需求分析(依靠需求文档)
  2. 接口文档解析(开发人员编写)
  3. 设计测试用例
  4. 执行测试
  5. 接口缺陷跟踪管理
  6. 生成测试报告
    7.接口自动化持续集成(可选)

1.4 接口规范

传统接口风格
在这里插入图片描述

RESTful接口风格
在这里插入图片描述

一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。
REST:即(Representational State Transfer)的缩写。词组的翻译是"表现层状态转化"。如果一个架构符合REST原
则,就称它为RESTful架构。

RESTful架构特点

  1. 每一个URL代表一种资源;
  2. 客户端和服务器之间,传递这种资源的某种表现层;
  3. 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化";
  4. 接口之间传递的数据最常用格式为JSON。

常用的HTTP动词有下面四个:

GET:从服务器获取资源(一项或多项)
POST:在服务器新建一个资源
PUT:在服务器更新资源(客户端提供改变后的完整资源)
DELETE:从服务器删除资源

1.5 接口文档

概念

接口文档:又称为API文档,一般是由开发人员所编写的,用来描述系统所提供接口信息的文档。 大家都根据这个接口文档进行开发,并需要一直维护和遵守。

为什么要编写接口文档

  1. 通过一个统一的参考文件,前后端人员可以更好的配合,提高效率;
  2. 项目迭代或者项目人员更迭时,方便后期人员查看和维护;
  3. 方便接口测试

接口文档的内容

  • 基本信息
    接口名称、请求方法、请求路径、接口描述
  • 请求参数
    请求头
    请求体(包含具体的请求参数名称、参数类型、是否必须、示例、备注)
  • 返回数据
    不同情况的响应状态码
    响应数据(包含具体的响应数据名称、类型、是否必须、默认值、示例、备注)
1.5.1接口文档示例-用户登录
  • 基本信息
    接口名称、请求方法、请求路径、接口描述
    在这里插入图片描述
  • 请求参数
    请求头
    请求体(包含具体的请求参数名称、参数类型、是否必须、示例、备注)
    在这里插入图片描述
  • 返回数据
    不同情况的响应状态码
    响应数据(包含具体的响应数据名称、类型、是否必须、默认值、示例、备注)
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

通过抓包去查看网页的接口信息
在这里插入图片描述
在这里插入图片描述
接口测试去验证

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

在这里插入图片描述
在这里插入图片描述

1.6 接口用例设计

接口测试的测试点
在这里插入图片描述

功能测试:验证接口功能是否按照接口文档实现(输入+处理+输出);
单接口测试

  • 正向功能:(通过性测试)
    仅必填参数
    全部参数
    参数组合
  • 反向测试:(异常测试)
    参数异常:无参、少参、多参、错误参数
    数据异常:数据为空、长度不符、类型不符、错误数据
    业务数据异常:结合业务功能考虑输出的各种异常返回情况
    在这里插入图片描述
    多接口测试 业务场景功能测试(站在用户角度考虑常用的使用场景)
  • 业务之间数据依赖

接口测试用例设计
you

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值