接口自动化测试从入门到高级实战!

接口测试背景和必要性

接口测试是测试系统组件间接口(API)的一种测试,主要用于检测内部与外部系统、内部子系统之间的交互质量,其测试重点是检查数据交换、传递的准确性,控制和交互管理过程,以及系统间相互逻辑依赖关系等。

现在的互联网应用(App)已经普遍基于前后端分离架构思路构建,即后端提供数据接口,前端调用接口返回 JSon 数据渲染到 UI。而随着微服务的流行,后端服务模块越来越多,技术团队迫切需要一个效率更高更稳定的获取系统质量信息的方法,以便进行缺陷检测和质量监督。

真实的企业后端服务和分层自动化的关键质量保证手段

之前基于 UI 自动化测试技术的思路和手段由于低效繁杂且容易出错已经无法满足实际需要,而面向服务的接口自动化测试体系则应运而生,成为业界最主流的质量管理手段。尤其是对高复杂性的互联网企业平台,系统越复杂庞大,接口测试自动化和持续集成的效果就越明显。业界已经有成熟的低成本、高效率的解决方案、开源工具和案例经验。当下,熟悉和掌握接口自动化测试技术也成为了一线互联网企业对中高级测试开发工程师的基本要求。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:310357728【暗号:csdn999】

接口测试的质量目标

建设完备的接口自动化测试体系主要从以下几个角度考虑:

质量维度

  • 功能正常:保持新老版本的兼容
  • 性能正常:单次请求的响应时间跟总体的 qps 相关
  • 变更检测:字段的缺失,字段的类型变更
  • 异常和健壮性测试

质量体系

  • 构建接口层的快速稳定的质量保证体系
  • 构建接口监控体系

接口测试流程

在企业内部实施接口测试的实际流程如下:

  1. 接口的范围:需要覆盖多少业务和接口
  2. 接口分析:接口的协议、上下游依赖
  3. 接口测试用例设计:业务用例如何模拟和覆盖
  4. 接口测试框架选择:选择合适的框架
  5. 测试用例编写与维护:用例编写与维护更新
  6. 持续集成:不断集成测试

待测接口范围

常见的待测接口范围如下:

  1. 业务需求调研:研发和产品反馈常出问题的业务
  2. 接口文档:人工文档、Swagger 自动生成的文档
  3. 代码分析:分析 Spring 等框架的代码
  4. 线上 Log 和数据:线上的生产监控和接口 Log
  5. 客户端抓包:基于用户角度的接口行为分析

常见抓包分析

  1. 监听分析:TCPDUMP + WireShark + HAR 提取工具
  2. 代理分析:Charles + BurpSuite
  3. 转发分析:修改 Host 域名 + 反向代理转发

测试用例设计

  1. 接口调用的流程分析
  • 代理抓包
  • 线上 Log 提取
  • 人工用例补充:用流程图和思维导图进行业务建模
  • 正常场景用例 Right Path
  • 异常场景用例
  • 安全和稳定性用例

接口测试框架选择

关于如何选择接口测试框架,列举几个常见的框架特性供参考:

  1. 早期阶段:基于各种语言的 HTTPClient 封装
  2. JMeter:性能测试工具,不具备完备的接口测试框架功能
  3. RobotFramework:强大的ATDD工具,不过约束性太大
  4. RestAssured + Swagger
  5. SoapUI [商业化]

这里推荐开源的 Rest-Assured,它有如下优点:

  • 简约的接口测试 DSL
  • 支持 XML JSon 的结构化解析
  • 支持 XPath JSonPath GPath等多种解析方式
  • 对 Spring 的支持比较全面

落地接口自动化测试体系有哪些技能挑战?

要真正落地接口自动化测试体系,测试开发工程师必须根据公司业务实际情况,选择合适的框架,并熟练掌握接口测试工具和平台使用,设计出通用、易于校验、健壮易用的接口测试用例,还需要掌握数据驱动机制,能用断言来完善接口测试用例。

其次,还需要了解接口测试体系架构与常见后端发布机制,能基于 RPC 协议的微服务框架如 Dubbo 做测试,熟悉测试用例和套件管理机制,能掌握 Jenkins 执行用例的方法,让接口测试实现真正的自动化。

另外,还要对接口测试方案做持续优化,可进一步通过抓包、Hook 等方法实现接口测试用例的自动生成,并掌握基于接口的快速回归测试手段提升效率。

熟练掌握接口自动化测试体系背后的这些技能和处理问题的思路,实现时间、人力、收益的平衡,对于一个经验尚浅的初、中级测试开发人员来说绝对是一个艰巨的挑战。

END今天的分享就到此结束了,点赞关注不迷路!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

23种设计模式之装饰者模式(被装饰者,接口层,装饰抽象层,具体装饰者)

23种设计模式之装饰者模式 文章目录 23种设计模式之装饰者模式设计思想装饰者模式的优点装饰者模式的缺点装饰者模式的优化方法UML 解析预设场景 代码释义总结 设计思想 原文:装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能&#xff0…

【S32DS RTD实战】-1.3-S32K3工程生成S19,BIN,Hex文件,以及Post-build steps的妙用

目录 1 方法一:逐个生成Motorola S-record(s19,srec…),Intel HEX,Bin文件 1.1 生成Motorola S-record(s19,srec…)文件 1.2 生成Intel HEX文件 1.3 生成Bin文件 2 …

中文语音标注工具FunASR(语音识别)

全称 A Fundamental End-to-End Speech Recognition Toolkit(一个语音识别工具) 可能大家用过whisper(openAi),它【标注英语的确很完美】,【但中文会出现标注错误】或搞了个没说的词替换上去,所…

电子学会C/C++编程等级考试2022年06月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:逃离迷宫 你在一个地下迷宫中找到了宝藏,但是也触发了迷宫机关,导致迷宫将在T分钟后坍塌,为此你需要在T分钟内逃离迷宫,你想知道你能不能逃离迷宫。迷宫是一个边长为m的正方形,其中"S"表示你所在的位置,"…

大语言模型有什么意义?亚马逊训练自己的大语言模型有什么用?

近年来,大语言模型的崭露头角引起了广泛的关注,成为科技领域的一项重要突破。而在这个领域的巅峰之上,亚马逊云科技一直致力于推动人工智能的发展。那么,作为一家全球科技巨头,亚马逊为何会如此注重大语言模型的研发与…

深度学习 Day13——P2彩色图片分类

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 文章目录 前言1 我的环境2 代码实现与执行结果2.1 前期准备2.1.1 引入库2.1.2 设置GPU(如果设备上支持GPU就使用GPU,否则使用C…

论文阅读《High-frequency Stereo Matching Network》

论文地址:https://openaccess.thecvf.com/content/CVPR2023/papers/Zhao_High-Frequency_Stereo_Matching_Network_CVPR_2023_paper.pdf 源码地址: https://github.com/David-Zhao-1997/High-frequency-Stereo-Matching-Network 概述 在立体匹配研究领域…

Unity之OpenXR+XR Interaction Toolkit接入微软VR设备Windows Mixed Reality

前言 Windows Mixed Reality 是 Microsoft 用于增强和虚拟现实体验的VR设备,如下图所示: 在国内,它的使用率很低,一把都是国外使用,所以适配起来是相当费劲。 这台VR设备只能用于串流Windows,启动后,会自动连接Window的Mixed Reality程序,然后打开微软的增强现实门户…

前端框架(Front-end Framework)和库(Library)的区别

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

树莓派,opencv,Picamera2利用舵机云台追踪人脸

一、需要准备的硬件 Raspiberry 4b两个SG90 180度舵机(注意舵机的角度,最好是180度且带限位的,切勿选360度舵机)二自由度舵机云台(如下图)Raspiberry CSI 摄像头 组装后的效果: 二、项目目标…

VBA信息获取与处理:在EXCEL中随机函数的利用

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…

点评项目——秒杀优化

2023.12.11 上一张的秒杀券下单还可以进行优化,先来回顾一下下单流程: 可以看出流程设计多次查询和操作数据库的操作,并且执行顺序是一个线程串行执行,执行性能是比较低的。 优化方案:我们将判断秒杀库存和校验一人一单…