接口自动化测试工程化——了解接口测试

什么是接口测试

接口测试也是一种功能测试

我理解的接口测试,其实也是一种功能测试,只是平时大家说的功能测试更多代指 UI 层面的功能测试,而接口测试更偏向于服务端层面的功能测试。

接口测试的目的

测试左移,尽早介入测试,尽早发现系统更深层的问题,降低问题修复成本。

接口测试测什么

接口测试是为了验证服务端接口内部逻辑的正确性,而这个正确性也分两方面:

接口能否正确处理正常数据,并返回正确的响应,响应可能包括数据结构、数据内容等;

接口能否正确处理异常数据,并返回特定响应,主要是验证接口的健壮性。

总结一下

接口正确接受合法请求数据

接口正确拒绝非法请求数据

这都属于正向测试。

接口测试的场景

我认为接口测试主要分两种测试场景:

单接口健壮性测试

多接口场景测试

单接口测试

针对单个接口做健壮性测试,会覆盖正常场景以及异常场景,保证接口的正确性和健壮性;

单接口测试不关注用户层面的业务逻辑,只关注接口的内部逻辑,所以它更接近于单元测试。

总结:保证接口能正确处理各种正常、异常场景。

多接口场景测试

为了验证用户主流程、主功能的业务逻辑的正确性,不需要太多异常场景的验证;

多接口场景测试会更加关注用户层面的业务逻辑,所以它更接近于 UI 层面的功能测试;

比如需要验证一个电商付费流程,可能就包含以下接口:获取商品列表-获取商品细则-加入购物车-提交订单-订单付费,只需要关注正常场景即可。

总结:保证多个接口在正常数据流下能跑通。

单接口测试设计测试用例

在这里插入图片描述

什么是接口自动化测试

首先,要知道的是,只说接口测试,也是一种手工功能测试,只是测接口而已,所以接口自动化测试其实就是将接口测试从手工变成自动化。

常见的接口自动化测试方式

图片

这一知识库主要讲解的是工具实现接口自动化测试。

什么是工程化

这其实也是最近才接触的东西,感觉有点高端啊!

谷歌搜了下什么是工程化,结果出来的都是前端工程化,只能看完,然后按照自己的理解来描述一下了,只代表自己的看法:工程化其实是一种思想。

为什么要工程化

提高效率,包括但不限于开发效率、测试效率、维护效率、管理效率;

从流程混乱、耦合严重、依赖人工到规范化、模块化、自动化。

规范化

提高整个项目的可维护性:

版本管理规范:使用 git 来管理代码仓库;

开发流程规范:团队统一研测流程,比如:code review 流程、提测流程、复盘流程等;

编写代码规范:团队统一编写规范,比如:项目结构、项目代码、自动化测试脚本等。

模块化

提高整个项目的可读性;

将一些相关逻辑的内容放在同一个文件夹中。

自动化

能自动化完成的事情绝不让人来做,是工程化的核心:

自动初始化:比如一键安装本地环境,安装依赖项等;

自动执行测试:比如一键测试、一键生成测试报告等;

自动部署:比如使用 Jenkins,流水线的形式管理项目运行的声明周期。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】日志详解

本文使用的MySQL版本是8 日志概览 它们记录了数据库系统中的不同操作和事件,以便于故障排除、性能优化和数据恢复。本文将介绍MySQL中常见的几种日志,同时也会介绍一点常用的选项。 官方文档:MySQL :: MySQL 8.0 Reference Manual :: 7.4 M…

【机器学习】简答

1.什么是机器学习? 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。“训练”与“预测”是机器学习的两个过程,“模型”则是过程的中间输出结果,“训练”产生“模型”,“模型”指导 “预测”。计…

揭秘数据资产的核心价值:从数据收集到分析应用的全方位解决方案,引领企业驶向智能化未来

一、引言 在数字化浪潮席卷全球的今天,数据已成为企业最重要的资产之一。从海量的数据中提取有价值的信息,转化为企业的竞争优势,是每一家企业都面临的挑战和机遇。本文将深入探讨数据资产的核心价值,以及如何通过从数据收集到分…

【计算机毕业设计】259基于微信小程序的医院综合服务平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

QUIC 和 TCP: 深入解析为什么 QUIC 更胜一筹

引言 在过去的三十年里,HTTP(超文本传输协议)一直是互联网的支柱。我们可以通过 HTTP 浏览网页、下载文件、流式传输电影等。这一协议随着时间的推移已经得到了重大改进。 HTTP 协议是一个应用层协议,它基于 TCP(传输…

电商客服日常必备的快捷回复软件

在数字化时代,客户服务的质量和效率直接影响着企业的品牌形象和客户满意度。尽管智能机器人自动回复功能日益强大,但人工客服的个性化服务和问题解决能力仍然不可或缺。 今天,我向大家推荐一款电商客服日常必备的快捷回复软件——客服宝聊天…

Unity资源 之 最受欢迎的三消游戏开发包 - Bubble Shooter Kit 【免费领取】

三消游戏开发包 - Bubble Shooter Kit 免费领取 前言资源包内容领取兑换码 前言 如果你是一名 Unity 游戏开发者,并且正在寻找一种快速、简单的方式来创建自己的三消游戏,那么 Bubble Shooter Kit 就是你所需要的。 资源包内容 Bubble Shooter Kit 是…

数据结构 实验 2

题目一:遍历二叉树 一、实验目的 熟练掌握指针变量、链表的含义掌握二叉树的结构特性,以及二叉链表的存储方式的特点掌握用递归的方法处理二叉树的基本算法掌握二叉树的四种遍历方式(先序、中序、后序、按层次) 二、实验步骤 …

java(JVM)

JVM Java的JVM(Java虚拟机)是运行Java程序的关键部件。它不直接理解或执行Java源代码,而是与Java编译器生成的字节码(Bytecode)进行交互。下面是对Java JVM更详尽的解释: 1.字节码: 当你使用J…

【elementui源码解析】如何实现自动渲染md文档-第一篇

文章目录 目录 背景 获取源码 代码分析 背景 之前基于vant3的源码开发过二次开发过组件,其中vant实现了将md文档渲染到界面上,有天突发奇想想知道这是如何实现的将md文档渲染到界面上的,因为平时开发中使用elementui占多数,所…

【kaggle量化交易第一名方案】Trading at the Close

2024 1st Place Solution Overview 最终模型(CV/Private LB为5.8117/5.4030)是CatBoost(5.8240/5.4165)、GRU(5.8481/5.4259)和Transformer(5.8619/5.4296)的组合,权重分别为0.5、0.3、0.2,从验证集中搜索得到。这些模型共享相同的300个特征。 此外,在线学习(On…

docker的教程长亭

把我的常用docker写在这里 之前用 vul - hub 靶场经常用 现在docker不知道为什么挂了 开启 docker-compose up -d 关闭 docker-compose down docker ps 只是运行 docker ps -a 所有 包括停止 docker ps -q 只看id docker stop <container_name_or_id> docker 的容器…

Linux Debian12使用podman安装xss-labs靶场环境

一、xss-labs简介 xss-labs靶场是一个专门用于学习和练习跨站脚本攻击&#xff08;XSS&#xff09;技术的在线平台。它提供了一系列的实验场景和演示&#xff0c;帮助安全研究人员、开发人员和安全爱好者深入了解XSS攻击的原理和防御方法。 二、安装podman环境 Linux Debian…

SylixOS下UDP组播测试程序

SylixOS下UDP组播测试 测试效果截图如下: udp组播发送测试程序。 /********************************************************************************************************* ** ** 中国软件开源组织 ** ** …

vite配置unocss

在vue3vitetseslintprettierstylelinthuskylint-stagedcommitlintcommitizencz-git介绍了关于vitevue工程化搭建&#xff0c;现在在这个基础上&#xff0c;我们增加一下unocss unocss官方文档 具体开发中使用遇到的问题可以参考不喜欢原子化CSS得我&#xff0c;还是在新项目中使…

H5单点登录分析介绍(登录状态检验状态透传分析)

文章目录 1、单点登录解决方案1.1、后端保存登录状态1.2、token模式 2、user服务-登录接口2.1、UserController2.2、UserInfoServiceImpl2.3、载荷2.4、响应2.5、Redis Desktop Manager 3、user服务-登录成功获取用户信息回显3.1、UserController3.2、UserInfoServiceImpl3.3、…

【kubernetes】k8s中包管理工具-----Helm 超详细解读

目录 一、Helm 1.1什么是 Helm 1.2Helm 有三个重要的概念 1.2.1Chart 1.2.2Repository&#xff08;仓库&#xff09; 1.2.3Release 1.3Helm3 与 Helm2 的区别 二、Helm 部署 2.1安装 helm 2.2命令补全 2.3使用 helm 安装 Chart 2.3.1添加常用的 chart 仓库 2.3.2…

【springBoot学习篇】springBoot集成mybatis

目录 第一步&#xff1a;新建spring项目的时候&#xff0c;需要勾选mybatis框架和jdbc连接数据库的包 第二步&#xff1a;在resource目录下面的配置文件当中添加以下的内容&#xff1a;配置数据源 第三步&#xff1a;配置实体类 第四步&#xff1a;添加一个对象的增删改查方…

鸿蒙轻内核Kconfig使用笔记

鸿蒙轻内核使用Kconfig进行图形化配置&#xff0c;本文专门讲解下鸿蒙轻内核LiteOS-M和LiteOS-A的图形化配置方法。本文中所涉及的源码&#xff0c;均可以在开源站点 https://gitee.com/openharmony/kernel_liteos_a 、 https://gitee.com/openharmony/kernel_liteos_m 获取。本…

Ubuntu系统设置中文输入法

重新设置超级用户权限(root)密码(非必要) sudo passwd root 需要注意的是Ubuntu的root密码不能少于8个字符 设置成功后输入命令和新的密码即可无需输入sudo启用root命令 su - 更新软件包列表 sudo apt update sudo apt upgrade 安装fcitx5输入法框架 个别情况需要卸载旧的…