首页 > 其他分享 >持续集成下接口自动化测试实践

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

时间:2022-10-17 17:11:29浏览次数:68  
标签:集成 测试 接口 API Eolink 自动化

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


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

 

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

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

 

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

一类是通过代码编写接口测试框架,实现接口自动化测试,其要求测试人员掌握扎实的编程基础;
另一类是借助接口测试工具,配合 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 最优的投入策略,值得我们开展与实践。

 

标签:集成,测试,接口,API,Eolink,自动化
From: https://www.cnblogs.com/apibest/p/16799840.html

相关文章

  • Selenium4Web自动化1-自动化入门与环境搭建
    一、自动化测试基础1分层自动化测试  分层的自动化测试:从黑盒(UI)单层到黑盒和白盒多层的自动化测试,即从全面黑盒自动化测试到对系统的不同层次进行的自动化测试。1......
  • wangEditor集成Word导入功能
    ​项目需求可发布文章需求涉及到富文本编辑器经过查阅我选择了较为简便不需要后端支持可独立完成的tinymce框架官方文档也是相当完整虽然都是全英文但是有强大的谷......
  • 你写的接口脚本合理么
     转载:https://mp.weixin.qq.com/s?__biz=MzkwNTI2NjAxMA==&mid=2247483732&idx=1&sn=08d4ff73a36b600f9898ec39213dde3d&chksm=c0fb1761f78c9e772cd87f17ef4cb7158d48625c......
  • 最新版本小红书接口 xhs接口 小红书数据 小红书爬虫 小红书APP 小红书api
    最新版本APP协议,可提供数据接口 q+3275974800!仅供学习交流,如果侵权请联系删除,谢谢!达人详情  笔记详情  笔记列表 ......
  • 接口测试平台演进思考
    很多小伙伴都比较关心如何构建一个接口自动化平台,笔者恰好有从零开始搭建自动化测试平台直到产品商业化的过程经验,可以和大家分享下。由于企业性质的问题,无法分享过多的代......
  • selenium 自动化登录(京东案列)
    京东这一个网站呢,适合和豆瓣有点相似的,但是呢,豆瓣应该是最近改版了,看过以前的视频都知道,豆瓣和京东,里面的滑块图片和背景图片都能在我们的网页中的src中找到但是呢,豆瓣改成......
  • windows minio服务安装以及springboot集成
    @​​TOC​​​​​​本文只介绍如何将minio做成服务​​1.将minio做成服务将MinioServer.exe放在minio安装目录中同目录下创建MinioServer.xml。特别注意,xml和exe必须同名......
  • vue接口请求(get和post)
    get路由带参数(无参数也参照此写法,替换接口地址就行)this.axios({method:'get',headers:{'Content-Type':'application/json;chars......
  • 在数字化转型的大背景下,还有企业用ESB来做IT系统集成吗?
    数字化转型确切的说是数字企业、数字工厂的建设,实质上就是物理形式的工厂在数字空间的投射,并基于此来实现的以人机物(Human,Machines,Things)泛在互联为基础上,深度感知为支撑,智......
  • Java_SE_Lesson_3:接口、单例模式、包与访问控制
    接口中所声明的方法都是抽象方法。接口中的方法都是public​的。接口中也可以定义成员变量。接口中的成员变量都是public,final,static的。一个类不能既是f......