如何做接口测试呢?接口测试有哪些工具

news2024/11/20 20:19:38

回想入职测试已经10年时间了,初入职场的我对于接口测试茫然不知。后来因为业务需要,开始慢慢接触接口测试。从最开始使用工具进行接口测试到编写代码实现接口自动化,到最后的测试平台开发。回想这一路走来感触颇深,因此为了避免打算学习接口测试的同学走冤枉路,特此分享我的学习经验。

这次从新的视角,新的语言来阐述下接口这个问题。

一、接口的重要性

在当前软件测试行业,接口测试基本上已经算是软件测试工程师的必备技能了。我们随便浏览一家大公司,都会对接口测试有明确的要求。

而且,接口测试对于一个初入软件测试的同学而言,重要性已经超越了其本身!!!

为什么这么说?

现在外行人一听到软件测试,反应过来的就是"点点点"的手工测试。但是真正的软件测试大牛,我们称其为"测试开发"。而手工测试与测试开发之间最大的区别就在于自动化。如果你打算由手工测试向测试开发的方向发展,接口以及接口测试就是唯一的中间媒介。


软件测试工程师晋升之路

二、接口在软件中的作用

我们在软件的UI界面中,看到的所有功能,都是通过接口来进行实现的。比如登录界面,你在登录页面输入的用户名和密码,就是通过登录这个接口传递给后端的服务器,再由后端的服务器将登录的结果(登录成功/登录失败)通过接口返回给前端的UI界面。我们测登录这个功能,其实测的就是登录接口的功能是否已经被后端开发实现。所以接口测试,会更加接近开发编写的代码,也更加容易实现自动化测试。

三、学习经验/视频分享

任何知识的学习,都不可能一蹴而就,而是循序渐进的过程。所以我将接口测试的学习,分为三个阶段:

第一阶段:基础阶段

1.了解接口以及接口测试相关的概念
2.掌握编写高质量接口测试用例的方法
3.掌握使用工具完成接口测试以及接口自动化测试
4.了解性能测试相关概念
5.使用工具完成接口的性能测试

第一阶段,学习的难度并不大,主要是概念的理解和工具使用。如果你身处职场之中,那么很容易将这些理论知识转化为实际的应用。如果你没有进入到软件测试这个行业中的话,理解了这些知识,我建议就可以先停一停学习的脚步,去找一份软件测试相关的工作。因为空谈理论,不结合实际,很难真正去理解接口和性能在软件测试中的应用意义。而且目前市场上,北上广深,对于能够完成接口+性能测试的软件工程师,offer基本都在11K左右,如果你是大学本科,13~15K都是可能的。

这阶段的学习资源也奉上:

1)《小白1小时也能听懂的接口测试》
本视频b站链接:https://www.bilibili.com/video/BV1i541147b8

2) 《常用抓包工具Charles测试实战》
本视频b站链接:https://www.bilibili.com/video/BV1gA411q74N

3)《3天接口测试postman视频教程》
本视频b站链接:https://www.bilibili.com/video/BV1h54y1L7kz

4)《自动化工具Jmeter_入门到进阶6小时搞定》
本视频b站链接:https://www.bilibili.com/video/BV1ty4y1q72g

第二阶段:进阶阶段

1.能够使用代码完成接口测试
2.能够搭建接口自动化框架,实现接口测试用例

该阶段,主要是对代码的使用。对于一个有志向,有抱负的软件测试工程师,代码是肯定要学习的。如果你没有代码基础,python就是一个很好的切入点。而且在软件测试项目中,接口自动化是应用最多的。所以以此为切入点,学习使用代码,在工作中有很大的帮助,对自己的能力的提升也非常的重要。

这阶段的学习资源也奉上:

1)《10天带你玩转python2020版》
本视频b站链接:https://www.bilibili.com/video/BV1jZ4y1s7LC

2)《Python实现接口自动化测试视频》
本视频b站链接:https://www.bilibili.com/video/BV1uz411q7Pg

第三阶段:扩展阶段

1.了解接口自动化的持续集成
2.了解接口的Mock测试
3.了解其他协议的接口测试方法

如果你身在职场,其实不需要专门花时间去学习,只需要在平时的时间,偶尔了解一下,扩展自己知识的宽度即可。

四、需要学习的接口工具建议

最后说一下,关于进行接口测试,需要学习的工具:

1. 必须掌握:

1.fiddler/Charles+chrome的开发者工具:这些都是抓包工具,前两个抓包APP的接口很好用,后一个测试WEB端项目,很方便。当然这三个工具学习的难度都不大,就算全部掌握,也花不了多少时间。

2.postman:接口调试工具,最容易上手,最方便的接口测试工具,强烈建议一定要会用。哪怕是会使用代码或者Jmeter实现接口自动化测试,这个工具都必须要掌握。

3.Jmeter:又是一款非常强大的接口测试工具。可以帮我们完成接口测试,接口性能测试,接口自动化测试。这么强大的功能,还等什么?一定要学会,掌握。学会使用Jmeter,我们就再也不怕接口相关的测试了。

4.Jenkins:持续集成的主要工具。如果要完成自动化测试,这个工具的使用就必须要掌握。这个工具的难点在于如何去搭建它。但是我们在项目中,Jenkins通常情况下都是搭建好的,所以我们重点学习如何创建Jenkins任务,以及自动执行任务就行。

5.git:版本控制工具。其实你也可以理解为,在自动化中,上传/下载自动化项目中的代码或者是脚本(Jmeter)

2. 了解:

soupUI:专业的soup协议接口的测试工具
telnet命令:执行Dubbo协议的工具
ps:soup和dubbo协议,在目前软件开发行业不算主流的接口协议,主流的接口协议还是http和https。

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

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

相关文章

数据结构-----串(String)详解

目录 前言 1.串的定义 相关类型 2.串的储存结构 顺序储存表示 堆分配储存表示 块链储存表示 3.串的操作方式 4.串的匹配算法 (1)BF算法 过程原理 代码实现(C/C) 算法分析 (2)KMP算法 过程…

2.(vue3.x+vite)组件注册并调用

前端技术社区总目录(订阅之前请先查看该博客) 关联博客 1.(vue3.x+vite)封装组件 一:umd调用方式 1:引入umd.js <script src="./public/myvue5.umd.js"></script>2:编写代码调用 (1)umd方式,根据“5

四川天蝶电子商务有限公司真实吗?

四川天蝶电子商务有限公司是一家专注于电商行业的企业&#xff0c;他们通过自己的经验和专业知识&#xff0c;教人带货的方法和技巧。带货是指通过社交媒体或其他渠道&#xff0c;向消费者推销商品并实现销售的过程。 教人带货的方法主要有以下几点&#xff1a; 1.选择合适的平…

以酒为媒、以酒载道,五粮液携手首届“金熊猫奖”,讲好中国白酒故事

执笔 | 尼 奥 编辑 | 萧 萧 这是一次光影艺术与白酒酿造的和美之约&#xff0c;也是中国文化与世界多元文明的交融时刻&#xff0c;在影视与美酒的碰撞瞬间&#xff0c;共同擘画“美美与共&#xff0c;天下大同”的文明图景。 9月19-20日&#xff0c;以“多彩文明荣耀光影…

Webshell 流量特征分析

前言&#xff1a;webshell是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境&#xff0c;主要用于网站管理、服务器管理、权限管理等操作。使用方法简单&#xff0c;只需上传一个代码文件&#xff0c;通过网址访问&#xff0c;便可进行很多日常操作&#xff0c;极…

2023-2024年最新大数据学习路线

文章目录 2023-2024年最新大数据学习路线大数据开发入门*01*阶段案例实战 大数据核心基础*02*阶段案例实战 千亿级数仓技术*03*阶段项目实战 PB级内存计算04阶段项目实战 亚秒级实时计算*05*阶段项目实战 大厂面试*06* 2023-2024年最新大数据学习路线 新路线图在Spark一章不再…

CSS 基础 3

目录 &#x1f680; 导读 -- target 盒子模型 看透网页布局的本质 盒子模型组成 边框(border) border-style ​编辑border-color border-width 边框写法 简写 分开写 表格细线边框 边框会影响盒子实际大小 内边距 内容 内边距-padding padding属性简写 pad…

vue点击pdf文件直接在浏览器中预览文件

好久没有更新文章了&#xff0c;说说为什么会有这篇文章呢&#xff0c;其实是应某个热线评论的要求出的&#xff0c;不过由于最近很长一段时间没打开csdn现在才看到&#xff0c;所以才会导致到现在才出。 先来看看封装完这个预览方法的使用&#xff0c;主打一个方便使用&#x…

Java学习day06:面向对象基础,构造方法,成员/局部变量

声明&#xff1a;该专栏本人重新过一遍java知识点时候的笔记汇总&#xff0c;主要是每天的知识点题解&#xff0c;算是让自己巩固复习&#xff0c;也希望能给初学的朋友们一点帮助&#xff0c;大佬们不喜勿喷(抱拳了老铁&#xff01;) Java学习day06&#xff1a;面向对象基础&a…

网络爬虫相关概念

目录 1、什么是爬虫&#xff1f; 2、网络爬虫步骤 3、爬虫核心 4、爬虫的用途 5、爬虫分类 6、反爬手段 1、什么是爬虫&#xff1f; 如果我们把互联网比作一张大的蜘蛛网&#xff0c;那一台计算机上的数据便是蜘蛛网上的一个猎物&#xff0c;而爬虫程序就是一只小蜘蛛&am…

给定一个链表,判断链表中是否有环

【思路】 快慢指针&#xff0c;即慢指针一次走一步&#xff0c;快指针一次走两步&#xff0c;两个指针从链表其实位置开始运行&#xff0c; **如果链表带环则一定会在环中相遇&#xff0c;**否则快指针率先走到链表的末尾。比如&#xff1a;陪女朋友到操作跑步减肥。 bool hasC…

测试域: 流量回放-工具篇jvm-sandbox,jvm-sandbox-repeater,gs-rest-service

JVM-Sandbox Jvm-Sandbox-Repeater架构_小小平不平凡的博客-CSDN博客 https://www.cnblogs.com/hong-fithing/p/16222644.html 流量回放框架jvm-sandbox-repeater的实践_做人&#xff0c;最重要的就是开心嘛的博客-CSDN博客 [jvm-sandbox-repeater 学习笔记][入门使用篇] 2…

Unity丨自动巡航丨自动寻路丨NPC丨

文章目录 概要功能展示技术细节小结 概要 提示&#xff1a;这里可以添加技术概要 本文功能是制作一个简单的自动巡逻的NPC&#xff0c;随机自动寻路。 功能展示 技术细节 using UnityEngine;public class NPCController : MonoBehaviour {public float moveSpeed 5.0f; // …

成都瀚网科技:抖音提供差异化​​亮点!

在抖音平台上&#xff0c;精选联盟是一个专门为优质品牌提供展示和推广机会的合作项目。对于斗店主来说&#xff0c;如何成功对接精选联盟并实现上市是一个重要目标。在这篇文章中&#xff0c;我们将分享一些豆点与精选联盟对接的方法&#xff0c;并提供上币指南。 1、提升店铺…

2023最新如何轻松升级、安装和试用Navicat Premium 16.2.10 教程详解

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

六、决策树算法(DT,DecisionTreeClassifier)(有监督学习)

决策树&#xff08;DT&#xff09;是一种用于分类和回归的非参数监督学习方法。其目标是创建一个模型&#xff0c;通过学习从数据特征中推断出的简单决策规则来预测目标变量的值。一棵树可以看作是一个片断常数近似值。 一、算法思路 具体可参考博文&#xff1a;七、决策树算…

linux升级glibc-2.28

1.准备工作 1.1升级gcc到gcc8 # 安装devtoolset-8-gcc yum install centos-release-scl yum install devtoolset-8 scl enable devtoolset-8 -- bash# 启用工具 source /opt/rh/devtoolset-8/enable # 安装GCC-8 yum install -y devtoolset-8-gcc devtoolset-8-gcc-c devtoolse…

【C语言】数组和指针刷题练习

指针和数组我们已经学习的差不多了&#xff0c;今天就为大家分享一些指针和数组的常见练习题&#xff0c;还包含许多经典面试题哦&#xff01; 一、求数组长度和大小 普通一维数组 int main() {//一维数组int a[] { 1,2,3,4 };printf("%d\n", sizeof(a));//整个数组…

[plugin:vite:css] [sass] Undefined mixin.

前言&#xff1a; vite vue3 TypeScript环境 scss报错&#xff1a; [plugin:vite:css] [sass] Undefined mixin. 解决方案&#xff1a; 在vite.config.ts文件添加配置 css: {preprocessorOptions: {// 导入scss预编译程序scss: {additionalData: use "/resources/_ha…