持续集成下接口自动化测试实践

news2024/11/16 21:55:26

目录:导读

引言

接口自动化测试工具介绍

接口自动化测试在持续集成中的运用

小结


引言

目前很多持续集成项目都需要执行接口层的测试,当你了解其基本概念,理解了接口协议、如何传参、测试原理后,无需 掌握程序语言,使用 行业 内成熟的接口测试 工具,就 可 以快速地在项目中展开接口测试,甚至可以实现自动化接口测试,并用于整个持续集成的过程。


进入正题前,不得不先提到测试分层,这是近年比较热议的主题,我们看看下图:
 

Unit 代表单元测试,Service 代表服务集成测试(或接口集成测试),UI 代表页面系统测试。单元测试需要强大的代码能力,很多测试人员还没有能力去执行,因此目前大多数公司还处于开发自测的阶段。随着开源 UI 自动化测试框架 Selenium 的发展,WebUI 自动化测近几年已趋于成熟(Appium 是移动端 UI 自动化测试的代表框架),但其有3个明显的缺点:

  • UI 测试介入测试时机较晚,修复发现的漏洞成本较大;
  • UI 测试很难发现底层逻辑问题;
  • 页面元素经常变换,导致自动化产出、投入比偏低,而这些恰恰是接口自动化测试所能解决的问题。

针对接口自动化测试,目前在业内有两大类解决方案:

  1. 一类是通过代码编写接口测试框架,实现接口自动化测试,其要求测试人员掌握扎实的编程基础;
  2. 另一类是借助接口测试工具,配合 Postman、Eolink 等集成工具实现接口自动化测试持续集成。

前者灵活,但是具有一定的学习门槛,而后者的学习成本更低,适合新人上手。

接口自动化测试工具介绍

接口测试工具有很多,其中 Eolink 安装简单、使用方便、功能强大,还支持团队协同、接口监控、Mock 等功能,这些是 Postman 等一些海外工具所不具备的。我们可以借助 Eolink 工具,更好的组织内开展接口测试持续集成。

Eolink体验地址:Eolink-api接口管理平台_api管理系统_接口自动化平台

我所在的电力行业支付项目,每周需要迭代1次,每次系统集成前必须优先安排进行接口测试,测试的内容包括内部和第三方接口(特别是支付网关、银行接口、监管服务等)进行功能或数据处理,在短时间内将进行高集中遍历:

发布前需要对项目进行回归测试,但是传统测试方式的覆盖面窄、效率低下,使用 Eolink 自动化测试,提高了测试范围以及效率;

2. 产品需求变动/代码改动后,测试人员无法确定测试范围。可以用自动化测试进行大范围回归测试,保证基本业务正常,借助测试工具的监控能力及时发现接口变化与代码变动;

如图:Eolink获取swagger同步 openapi 界面

如图:gitlab中设置钩子界面

接口自动化测试在持续集成中的运用

3.传统测试方式的周期长,无法每天24小时随时执行测试,并且依赖于人的专业性,测试效果不可靠。可以用 API 自动化测试的定时测试任务或者将 API Studio 集成到 Jenkins 上,实现代码提交即触发测试并实时得到测试报告。

4.传统测试团队成员之间缺乏协作,互相不清楚各自编写的测试用例、测试脚本、测试结果等,导致重复劳动,可以用 API Studio 实现测试团队的在线协作。

如图:团队成员可以协同测试用例设计

如图:当 API 发生变化时通过邮件和站内信自动通知相关成员,并且已与QQ和飞书打通

5.测试团队使用 API Studio 日常维护 API 自动化测试用例后,可有效解决上述问题,帮助测试团队提高测试能力和效率。

小结

持续集成的概念其实并不复杂,就是一系列频繁的操作流程:包括构建、部署、测试和发布等。能够快速发现错误、防止分支大幅偏离主干、快速更新迭代和发布。

为了达到使产品可以快速迭代,同时还能保持高质量的集成效果。它的核心措施是在代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能成功集成。

所以在分层自动化测试的思想指引下,接口层的自动化测试是最为行之有效、门槛不高、且 ROI 最优的投入策略,值得我们开展与实践。

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

 获取方式:留言【软件测试学习】即可

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

 

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

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

相关文章

【MySQL高级】——目录结构数据库和文件系统的关系

一、目录结构 <1> 主要目录结构 find / -name mysql<2> 数据库文件目录 目录&#xff1a;/var/lib/mysql/ 配置方式&#xff1a;show variables like ‘datadir’; <3> 相关命令目录 目录&#xff1a;/usr/bin&#xff08;mysqladmin、mysqlbinlog、my…

软件著作权申请流程待发放多久就能到已发放拿到纸质证书?

软件著作权申请一般有两种途径 1、代理 代理机构有加急通道&#xff0c;软件著作权交件后最快20-30工作日内出&#xff0c;待发放到已发放只要3工作日拿到就可以邮寄纸质证书给你了。 2、版权中心官网自己登记 流程比较缓慢&#xff0c;而且最要命的是&#xff0c;证书是用邮…

数据划分方法简述:数据离散化和均值标准差分级法(含python代码)

文章目录 1 问题缘起2. 数据离散化等距离散等频离散聚类离散其他 3. 均值标准差分级 1 问题缘起 在数学建模中&#xff0c;我经常遇到这样一个问题&#xff1a; 在某一步中&#xff0c;需要把数据分成好几个类别或者是按照数据大小分级划分。 放到一维数据中形象一点解释就是…

InstructGPT原理讲解及ChatGPT类开源项目

InstructGPT原理讲解及ChatGPT类开源项目 Generative Pre-Trained Transformer&#xff08;GPT&#xff09; 是OpenAI的提出的生成式预训练语言模型&#xff0c;目前已经发布了GPT-1、GPT-2、GPT-3和GPT-4&#xff0c;未来也将发布GPT-5。 最近非常火的ChatGPT是基于Instruct…

【ChatGPT】稳定性好响应速度快可部署到国内服务器的ChatGPT 强力推荐!

朋友们&#xff0c;大家好&#xff0c;我是 jonssonyan。今天分享一个免费开源的 ChatGPT 项目&#xff0c;它的表现无论是响应速度还是稳定性都比 ChatGPT Plus 还要优秀&#xff0c;只需要有个 Access Token 或者使用热心网友提供的共享账号 就可以免费在线体验&#xff0c;也…

Vicuna-13B量化模型单GPU可跑

链接在这&#xff08;需要科学上网&#xff09; Vicuna-13B: Best Free ChatGPT Alternative According to GPT-4 &#x1f92f; | Tutorial (GPU) 有人在B站转了人家的视频 ChatGPT&#xff1a;在你的本地电脑上运行Vicuna-13B &#x1f92f;|教程 (GPU) 下面就是部署的步骤…

023 - C++ 继承

本期我们学习 C 面向对象编程中的继承。 面向对象编程是一个巨大的编程范式&#xff0c;类之间的继承是它的一个基本面&#xff0c;它是我们可以实际利用的最强大的特性之一。 先了解这些 继承允许我们有一个相互关联的类的层次结构。展开来说&#xff0c;它允许我们有一个包…

Ceph入门到精通-Ceph介绍及放置规范

2.cephadm介绍 2.1cephadm介绍 Cephadm 是随着 Ceph 新版本 v15.2.0(Octopus)发布的安装工具&#xff0c;并且不支持 Ceph的旧版本&#xff0c;Ceph中已经Cephadm 不依赖于外部配置工具&#xff0c;如 Ansible、 Rook 和 Salt&#xff0c;它通过 SSH 将管理器守护进程连接到主机…

通信中间件

通信中间件需要解决什么问题 分布式系统中两个不同的系统需要进行通信的时候&#xff0c;使用的是scocket编程&#xff0c;需要直接面对网络中的四层模型&#xff0c;编程时需要确定目标端的详细物理地址。这是非常不方便的。为了解决这个问题&#xff0c;需要通信中间件来屏蔽…

Linux系统编程学习 NO.1 ——操作系统的历史发展

什么是操作系统&#xff1f; 首先&#xff0c;需要明白一个概念操作系统的本质是系统软件&#xff0c;我们平时在电脑上的界面就是一种图形化的操作系统界面。界面上通常安装可执行应用程序如QQ&#xff0c;wps等等&#xff0c;这些应用程序被称为应用软件。大家买的电脑其实是…

【Java实战篇】Day14.在线教育网课平台--消息队列实现异步通知

文章目录 一、需求&#xff1a;支付通知1、需求分析2、技术方案3、集成RabbitMQ4、生产端发送消息5、消费方发送消息 二、需求&#xff1a;在线学习1、需求分析2、表设计与实体类3、接口定义--查询课程4、接口定义获取视频5、Service层开发6、FeignClient定义7、代码完善 三、需…

HOG+SVM分类器实践

文章目录 HOGSVM分类器实践制作SVM分类器导入所需的库提取HOG特征读取正样本和负样本训练分类器定义主函数小结 测试SVM分类器相关疑问1. 提取HOG特征为什么不能彩色图像呢&#xff1f;2. 出现如下错误3. 测试代码中&#xff0c;当我传入100*100的图片时候&#xff0c;为什么im…

Linux下安装Java8环境

查看主机是否已经安装Java环境 java -version 如下图所示&#xff0c;未找到java命令&#xff0c;则需要安装Java环境 JDK官网下载&#xff1a; https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 根据自己系统的位数下载相应版本…

基于Dokcer安装RabbitMQ

基于Dokcer安装RabbitMQ 一、RabbitMQ介绍 1.1 现存问题 服务调用&#xff1a;两个服务调用时&#xff0c;我们可以通过传统的HTTP方式&#xff0c;让服务A直接去调用服务B的接口&#xff0c;但是这种方式是同步的方式&#xff0c;虽然可以采用SpringBoot提供的Async注解实现…

第6章:集合

集合简介 一种无序且唯一的数据结构。不关心顺序&#xff0c;集合里面的元素都是唯一的。 栈&#xff0c;队列&#xff0c;链表他们里面都有可能出现重复的数据&#xff0c;但是集合里面的元素是唯一的。 栈&#xff0c;队列&#xff0c;链表它们都有自己的顺序&#xff0c;但是…

使用媒体查询实现移动端适配,媒体查询meta标签配置(@media screen and,min-width和max-width)

简述&#xff1a;我们在写网站的时候&#xff0c;难免会遇到需要做移动端适配的需求&#xff0c;今天来记录下使用媒体查询实现移动端的适配。媒体查询是一种CSS技术&#xff0c;可以根据设备屏幕的属性&#xff08;如宽度、高度、方向和分辨率&#xff09;选择应用特定样式&am…

火爆全网,JMeter接口自动化测试详细实战(超详细)吐血整理...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 JMeter接口自动化测…

深度学习 - 44.Gate 与 MMOE 实现多目标学习

目录 一.引言 二.摘要 Abstract 三.介绍 Introduction 四.相关工作 RELATED WORK 1.DNN 中的多任务学习 2.SubNet 集成与 Expert 混合 3.多任务学习应用 五.建模方法 MODELING APPROACHES 1.Shared-bottom Multi-task Model 2.Mixture-of-Experts 3.Multi-gate Mixt…

NOPI用法之自定义单元格背景色(3)

NPOI针对office2003使用HSSFWorkbook&#xff0c;对于offce2007及以上使用XSSFWorkbook&#xff1b;今天我以HSSFWorkbook自定义颜色为例说明&#xff0c;Office2007的未研究呢 在NPOI中默认的颜色类是HSSFColor&#xff0c;它内置的颜色有几十种供我们选择&#xff0c;如果不…

模态分解算法 EMD、EEMD、CEEMD

一、模态分解算法EMD算法介绍 &#xff08;一&#xff09;模态分解相关的算法有以下几类 IMF 固有模态函数\EMD经验模态分解\EEMD集合经验模态分解\CEEMD 互补集合经验\&#xff08;EEMD的标准形式&#xff09;CEEMDAN自适应噪声完备集合经验模态分解\VMD 变分模态分解 &…