自动化测试——接口测试怎么做?

article/2025/9/2 7:16:58

目录:
一、什么是接口?
二、接口测试流程
三、接口测试工具
四、接口测试技术点
五、总结
导读:
为什么要做接口测试
接口测试本质上是功能测试的一种,属于后端服务器测试。但是它的影响范围要远广于web,app层面。原因很简单,因为目前很多公司,服务架构都是多端共用一套接口。和用户直接交互的UI界面,web,app,小程 序,H5,它们有可能都是公用一套接口逻辑。后端如果服 务器挂了,或者出bug了,这些终端可能都会出问题。所以,做接口测试就非常有必要的。重要性:

  1. 越底层发现bug,它的修复成本是越低的。
  2. 前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。
  3. 检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。
  4. 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
  5. 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
  6. 现在很多系统前后端架构是分离的,从安全层面来说:

(1)只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。( 想了解更多测试内容,加入我们,642830685,领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!有技术大牛解惑答疑,同行交流)

(2)前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

在这里插入图片描述
一、什么是接口

接口测试是目前测试的主流手段之一,采用接口测试也有许多优点:

1.提高测试效率:可通过自动化手段实现重复验证,也可以在依赖服务没有开发完成时优先测试部分服务

2.方便定位Bug:通过接口的抓包和分析,可以清楚的知道问题是来源于前端还是后台服务

3.提高服务端健壮性:通过接口测试可以测出来开发是否在后端做了校验,帮助提高服务的健壮性

对很多新手来说接口测试很高大上,但实际上接口测试很简单,掌握关键技术以后就可以把接口测试应用到日常工作中。开始讲解接口测试之前,先看看当你在浏览器中输入地址,并看到Web页面的时候底层问题:

1.浏览器根据输入把请求发送到服务器

2.服务器获取到请求以后生成响应文件,把响应文件发送给浏览器

3.浏览器解析响应,渲染数据生成Web页面的展示效果
在这里插入图片描述
说了这么多,接口测试到底有重要呢,那么作为小白应该如何学习接口测试呢?

重点来了

首先你要学习网络协议知识,因为大部分接口都是基于http协议的,当然还有其它的比如dubbo协议。

其次你需要学习两款测试工具,postman用来调用接口,fiddler用来抓包定位bug,当然,你使用浏览器自带的F12也是可以的。

二、接口测试流程
接口测试流程和手动测试/UI测试流程类似,但是侧重点不同:

需求分析:需求文档 VS 接口文档。

编写和评审用例:根据需求变更结合业务优先级,边界值等价类等分析方法设计手动测试用例;根据接口的参数组合以及接口的预期返回设计接口测试用例。

准备测试环境和测试脚本:接口测试需选择合适的工具实现步骤2中评审的用例。

执行测试用例,发送测试报告:接口测试自动运行脚本,生成和发送测试报告。

三、接口测试工具
接口测试的实现有多种工具,可根据团队情况选型:

Postman:谷歌提供的开源接口测试工具,支持Http接口的调用和验证

Jmeter:Apache提供的开源接口测试工具,除了支持Http接口还有很多扩展功能(Mysql,Redis,RabbitMQ…)

Fiddler:抓包工具,常用于接口分析以及Mobile端接口自动化

HttpComponents:Apache提供的开源包,可以基于它实现接口代码的编码

在这里插入图片描述
四、接口测试技术点
接口测试最常用的技术点:

1.参数化:自动生成不同的接口数据,或者符合后端服务校验规约的接口数据(eg: 手机号,身份证,邮箱,用户姓名)

2.断言:验证接口的返回,包括响应码,响应字段的校验(Json报文,HTML或XML报文)

3.关联:多接口测试时,不同接口间的参数传递

4.数据库:除了验证相应报文,还可验证数据库字段确保程序逻辑的正确性

5.持续集成:接口工具或框架和Jenkins等持续集成工具的结合,实现无人值守或者自动触发
在这里插入图片描述
以上就是一个简单的接口测试涉及到的方方面面,小伙伴们在日常工作中可以按这个思路开启接口测试之路,并不断丰富总结自己对接口测试工具,知识点以及流程的灵活应用,为什么让大家一定要掌握好接口测试?

原因也简单,因为它是你后续深入进阶学习自动化和性能测试的基础。拿接口自动化来说,这是目前公司使用性价比最高的自动化,原因就在于ui自动化成本太高,经常页面大改,可能整个框架就废了,所以很多公司都优先做接口自动化,比较稳定,目前需求最多的。所以找工作,优先学习掌握接口自动化。

五、总结:
接口测试不仅仅是你找工作的必备技能,更是你以后深入学习自动化以及性能测试的基础。除非,你想一直做点点点工程师,不然自动化测试和性能测试重要性不言而喻。当然,也不是你想点就一直能点的,非常容易就被淘汰!

希望本文对你有所帮助,加入我们,了解更多,还有技术大牛解惑答疑哦


http://chatgpt.dhexx.cn/article/B884vxV2.shtml

相关文章

接口测试教程(一看就会)

前言 掌握了http协议,就掌握了接口测试 笔者在网络上看过不少接口测试教程,一上来就开始讲怎么操作工具,而不告诉读者为什么要这么操作。读者可能照猫画虎成功了,也可能操作失败了但不知为何出错。 因此,本文作为接口…

接口测试的价值(为什么要做接口测试)

目录 首先了解一下互联网的技术架构: 接口测试的必要性 接口测试不能取代UI的测试 首先了解一下互联网的技术架构: 按照端来划分可以分为两部分:移动端和服务端,各自的内容大概如下图所示 后端(服务端)…

接口测试的原理,什么是接口测试?为什么要做接口测试?如何开展接口测试?

什么是接口? 业内常说的接口一般指两种: API:应用程序编程接口,程序间的接口GUI:图形用户界面,人与程序的接口 软件接口测试中的接口特指API接口接口测试又称API测试 接口实例:系统与系统间…

接口测试到底怎么做,5分钟时间看完这篇文章彻底搞清楚

01、通用的项目架构 02、什么是接口 接口:服务端程序对外提供的一种统一的访问方式,通常采用HTTP协议,通过不同的url,不同的请求类型(GET、POST),不同的参数,来执行不同的业务逻辑。…

手把手教你做接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 简答的说就是通过URL像服务器或者其他模块等&…

接口测试是什么?为什么要做接口测试?

前言 接口测试现在已经成为测试工程师的必备技能 我是常常安利身边的工程师一定要精通接口测试,注意,这里是精通,不是知道或了解。原因很简单,你点开招聘网站上各大公司对于测试工程师的要求,就能看到接口测试已经成为…

如何做接口测试

文章目录 前言一、什么是接口、接口测试1.接口2.接口测试 二、进行接口测试的基本流程1.需求获取2.测试计划编写3.测试用例设计、评审4. 测试执行5.测试报告、评估 三、接口测试思路四、接口测试工具 前言 一、什么是接口、接口测试 首先进行接口测试之前,先了解什…

接口测试需要怎么做?

接口测试需要怎么做? 什么是接口测试?接口测试到底测什么?如何进行接口测试?SSL-Pinning的问题及解决方案接口测试自动化回归测试接口自动化回归测试方案接口测试的更多可能参考文献 关注【郑大钱呀】[公][众][号],回复…

接口测试到底怎么做?

01 通用的项目架构 02 什么是接口 接口:服务端程序对外提供的一种统一的访问方式,通常采用HTTP协议,通过不同的url,不同的请求类型(GET、POST),不同的参数,来执行不同的业务逻辑。 …

一篇文章,教你彻底掌握接口测试!

一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、…

ES7新特性async/await详解

一、async/await的用法 async用于修饰一个函数使函数返回一个Promise 对象。 async function testAsync() {return "hello async"; }const result testAsync(); console.log(result);await必须在用async修饰的函数中使用,await用于修饰一个语句&#x…

Elasticsearch 7新特性

Elasticsearch是一款强悍的分布式搜索和分析引擎,以下简称为ES,通过本文我简单介绍下ES7部分新特性,内容包括: 聚合查询的优化ES7中索引type被移除索引创建默认1个分片优化查询速度hits.total返回对象_flush和_force_merge不再强制…

ES7的新特性

1.新增了includes的数组查找方法 使用场景:确认数组中有我们需要查找的内容 在ES7之前,我们接触到的数组方法可以通过filter或者indexOf 如果使用filter 可以直接筛选之后输出,如果是indexOf则根据返回值来判断是否在当前数组中。 如果返回…

【Spring Cloud Alibaba】(二)微服务调用组件Feign原理+实战

系列目录 【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战 本文目录 系列目录前言什么是RPC?Feign和OpenFeign都是什么?HTTP调用 vs Feign(RPC)调用单独使用Feign实战Feign核心源码解读Feign整体设计架构Spring Cl…

聊聊 Feign 的实现原理

What is Feign Feign 是⼀个 HTTP 请求的轻量级客户端框架。通过 接口 注解的方式发起 HTTP 请求调用,面向接口编程,而不是像 Java 中通过封装 HTTP 请求报文的方式直接调用。服务消费方拿到服务提供方的接⼝,然后像调⽤本地接⼝⽅法⼀样去…

简单谈谈Feign

简单谈谈Feign 文章目录 简单谈谈Feign前言Feign属于RPC嘛? 原理简单图解原理简述Feign.Build动态代理工厂InvocationHandlerFactory动态代理类FeignInvocationHandler方法处理器MethodHandler 总结 本文只是简单粗略的分析一下feign的源码与过程原理 前言 Feign是…

Feign 原理 (图解)

疯狂创客圈 经典图书 : 《Netty Zookeeper Redis 高并发实战》 面试必备 面试必备 面试必备 【博客园总入口 】 疯狂创客圈 经典图书 : 《SpringCloud、Nginx高并发核心编程》 大厂必备 大厂必备 大厂必备 【博客园总入口 】 入大厂涨工资 必备的 …

Feign详解与实例

基本介绍 Feign是一种负载均衡的HTTP客户端, 使用Feign调用API就像调用本地方法一样,从避免了调用目标微服务时,需要不断的解析/封装json 数据的繁琐。Feign集成了Ribbon。Ribboneureka是面向微服务编程,而Feign是面向接口编程。 Fegin是一个…

Feign使用和原理的总结

官方参考 https://docs.spring.io/spring-cloud-openfeign/docs/current/reference/html/ 使用 引入依赖 <properties><java.version>1.8</java.version><spring-cloud.version>2021.0.1</spring-cloud.version></properties><depen…

Feign的介绍

Feign是springcloud里面的一个功能组件&#xff0c;那么它是实现一个什么功能呢&#xff1f; 首先我们可以先从字面意思上去理解一下它&#xff0c;Feign&#xff0c;英文翻译过来就是伪装的意思&#xff0c;实际上它的功能也是和伪装相关的&#xff0c;在我们之前在客户端配置…