测试笔记:接口测试

目录

  • 1.接口
    • (1)接口概念
    • (2)接口类型
  • 2、接口风格
    • (1)传统风格
    • (2)RESTful风格接口
  • 3、接口测试
    • (1)接口测试是什么
    • (2)接口测试原理
    • (3)自动化接口测试
    • (4)接口测试特点
  • 4、使用工具抓取请求数据
  • 5、接口测试流程
    • (1)复习功能测试流程
    • (2)接口测试流程
    • (3)接口文档
    • (4)接口文档内容-结构
    • (5)接口文档解析
    • (6)接口测试用例编写
  • 6、Postman

1.接口

(1)接口概念

传输数据、交互数据的通道

(2)接口类型

(1)语言划分:Java 、php
(2)协议划分:http 、tcp
(3)范围划分:

  • 系统层面
    a.内部系统和内部系统
    b.内部系统和外部系统
    在这里插入图片描述

  • 程序之间:
    函数与函数、方法与方法、模块与模块之间

2、接口风格

(1)传统风格

对用户进行操作的相关接口,包括增删改查

特点:

  • 请求方法:只使用get和post即可
  • URL不唯一,同一个操作可以对应不同的URL。一个URL只对应一种操作
  • 状态码的使用较单一,200最常见
    在这里插入图片描述

(2)RESTful风格接口

REST:Representational State Transfer表现层状态转化,对同一个数据的不同操作
表现层:数据的不同表现形式(如:图片、文字可以表现统一对象)
特点:

  • 每个URL代表一种资源
  • 客户端和服务器之间,传递对这种资源的某种表现层
  • 客户端通过4个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”
  • 接口之间传递的数据最常用的格式为JSON
    在这里插入图片描述

3、接口测试

(1)接口测试是什么

对系统或组件之间的接口进行测试,校验数据传递、交换和控制管理过程,以及接口之间的逻辑依赖关系
逻辑依赖:如登录态失效后,使用个人中心页面的url重新打开,会先跳转到登陆页面,登陆成功后才能继续访问个人中心

(2)接口测试原理

使用工具或代码模拟客户端向服务器端发送请求,校验服务器响应是否正确,是否与预期结果一直
在这里插入图片描述

a.测试目标:针对服务器
b.怎么测:
工具:postman\jemeter\抓包工具fiddler,charles
代码:python\UnitTest\Requests框架,java

(3)自动化接口测试

借助工具、代码模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致

(4)接口测试特点

  • 发现页面操作发现不了的问题。不需要前端页面,不受前端限制,进行测试。
  • 实现接口自动化,达到低成本高收益
  • 测试可以提前介入,符合质量前移的观念
  • 与单元测试不同,接口测试是站在用户角度进行测试

4、使用工具抓取请求数据

在这里插入图片描述

5、接口测试流程

(1)复习功能测试流程

在这里插入图片描述

(2)接口测试流程

(1)需求分析:主要依据需求文档
(2)接口文档解析:一般由开发人员编写API接口文档
(3)设计测试用例
(4)执行测试:使用接口测试工具或代码
(5)接口缺陷管理与跟踪
(6)生成测试报告
(7)接口自动化持续集成(可选)

(3)接口文档

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

  • 对前后端通信有帮助
  • 项目迭代或人员变更时,方便后期人员查看和维护
  • 方便测试人员进行接口测试
    在这里插入图片描述

(4)接口文档内容-结构

格式:word、pdf、excel、在线文档
加密方式、全局错误码、接口描述、请求URL或资源路径、请求方式、请求参数(请求头、请求体参数说明:参数名、描述、是否必传、默认值、类型、长度)、返回成功(失败)说明【预期结果】

(5)接口文档解析

接口文档解析本质:从接口文档中找出http请求所需要的数据信息(请求方法、URL、请求头、请求体、响应状态码和描述)
在这里插入图片描述

(6)接口测试用例编写

业务场景就是多个接口串联起来
在这里插入图片描述

6、Postman

(1)可以保存接口请求的历史记录
(2)可以使用测试集Collections可以更有效的管理组织接口
(3)可以在团队之间同步接口数据

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Node.js学习笔记——fs模块

fs全称为file system,称之为文件系统,是Node.js中的内置模块,可以对计算机中的磁盘进行操作。 本章节会介绍如下操作: 文件写入文件读取文件移动与重命名文件删除文件夹操作查看资源状态 一、文件写入 文件写入就是将数据保存…

利用nginx实现动静分离的负载均衡集群实战

前言 大家好,我是沐风晓月,今天我们利用nginx来作为负载,实现两台apache服务器的动静分离集群实战; 本文收录于沐风晓月的专栏《linux基本功-系统服务实战》,更多内容可以关注我的博客: https://blog.csd…

Visual Studio 2015 + cmake编译QT5程序

概述 由于QT的集成开发环境QTCreate,在代码调试功能上远不及Visual Studio方便,因此,在Windows平台,可以使用Visual Studio来开发调试QT程序,本文章就主要介绍下,如何使用CMAKE编译QT5程序,并使…

【JAVA真的没出路了吗?】

2023年了,转行IT学习Java是不是已经听过看过很多次了。随之而来的类似学Java没出路、Java不行了、对Java感到绝望等等一系列的制造焦虑的话题也在网上层出不穷,席卷了一大片的对行业不了解的吃瓜群众或是正在学习中的人。如果是行外人真的会被这种言论轻…

【教程】使用ChatGPT制作基于Tkinter的桌面时钟

目录 描述 代码 效果 说明 下载 描述 给ChatGPT的描述内容: python在桌面上显示动态的文字,不要显示窗口边框。窗口背景和标签背景都是透明的,但标签内的文字是有颜色。使用tkinter库实现,并以class的形式书写,方…

GPS时间序列分析---剔除跳跃点,拟合时间序列

通常利用GPS时间序列进行数据分析时,会遇到大地震的发生,这个时候会导致GPS的观测结果出现很大的跳跃值,这对后续的数据处理和分析带来了困难。这里分享一个最近了解的,可以用于处理这一问题的工具包---TSAnalyzer。下面主要介绍该…

Adobe:当创意工作遇上生成式AI

放眼全球IT行业,当前最炙手可热的领域是什么?答案显然只有一个:因为ChatGPT而火爆全球的生成式AI(Artificial Intelligence Generated Content,简称AIGC),又称人工智能生成内容。那么当创意设计…

再学一下Feign的原理

简介 Feign是Spring Cloud Netflix组件中的一个轻量级Restful的HTTP服务客户端,它简化了服务间调用的方式。 Feign是一个声明式的web service客户端.它的出现使开发web service客户端变得更简单.使用Feign只需要创建一个接口加上对应的注解, 比如FeignClient注解。…

Go分布式爬虫学习笔记(十四)

文章目录14_context为什么需要Context?级联退出Context 的使用方法。context.ValuecontextContext 最佳实践Context 底层原理14_context Never start a goroutine without knowing how it will stop。 如果你不知道协程如何退出,就不要使用它。 为什么需要Context?…

家政服务系统APP小程序需具备哪些功能?

由于工作忙碌或者是懒人经济作祟,现代人对于家政服务的需求直线上升。而且互联网技术深入生活的方方面面,让上门家政服务系统开发成为很多线下家政公司转型互联网的方式,那么开发一款家政服务系统APP小程序需具备哪些功能呢? …

逻辑回归 算法推导与基于Python的实现详解

文章目录1 逻辑回归概述2 逻辑回归公式推导与求解2.1 公式推导2.2公式求解3 基于Python的实现3.1可接收参数3.2 完整代码示例1 逻辑回归概述 逻辑回归(Logistic Regression)是一种用于分类问题的统计学习方法。它基于线性回归的原理,通过将线…

【软考——系统架构师】架构、系分、软设的区别和联系

🔎这里是【软考——系统架构师】,关注我考试轻松过线 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 文章目录👀三科相同点👀三科不同点--上午题&am…

CISAW-CISDR灾难备份与恢复专业级认证

证书样板: 认证机构 中国网络安全审查技术与认证中心(英文缩写为:CCRC,原为中国信息安全认证中心)于 2006 年由中央机构编制委员会办公室批准成立,为国家市场监督管理总局直属事业单位。依据《网络安全法》 《网络安…

Java每日一练(20230401)

目录 1. 合并K个升序链表 🌟🌟🌟 2. 最长有效括号 🌟🌟🌟 3. 分割回文串 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 …

Linux系统一键安装最新内核并开启 BBR 脚本

本脚本适用环境 系统支持:CentOS 6,Debian 8,Ubuntu 16 虚拟技术:OpenVZ 以外的,比如 KVM、Xen、VMware 内存要求:≥128M 更新日期:2022 年 5 月 11 日 关于本脚本 1、本脚本已在 蓝易云 上…

后端Springboot框架搭建APi接口开发(第二章)

上一章我讲述了如何使用Mybatis操作数据库。这一章我讲述如何利用Sptring框架搭建API接口 第一节:封装SqlSessionFactory工具类 在API操作数据库大量调用SqlSessionFactory,因此应将SqlSessionFactory封装成工具类供方法随时调用 在文件结构中的util文…

前端直接生成GIF动态图实践

前言去年在博客中发了两篇关于GIF动态生成的博客,GIF图像动态生成-JAVA后台生成和基于FFmpeg的Java视频Mp4转GIF初探,在这两篇博客中都是采用JAVA语言在后台进行转换。使用JAVA的同学经过自己的改造和开发也可以应用在项目上。前段时间有朋友私下问&…

MySQL主从复制、读写分离(MayCat2)实现数据同步

文章目录1.MySQL主从复制原理。2.实现MySQL主从复制(一主两从)。3.基于MySQL一主两从配置,完成MySQL读写分离配置。(MyCat2)1.MySQL主从复制原理。 MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据…

设计模式之门面模式(C++)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、门面模式是什么? 门面模式是一种结构型的软件设计模式,也叫外观模式,它提供了统一的接口去…

程序员的天花板到底有多高?

程序员是很多人眼里的职业天花板,毕竟薪资水平、发展前景摆在那里,而且,一个又会debug又会修电脑(划掉),还会费心为你制造浪漫的程序员,有谁不喜欢呢? 但现实中很多程序员都焦虑担忧…