10年经验之谈 —— 如何做接口测试呢?接口测试有哪些工具?

2023-09-20 14:22:16

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

一、接口的重要性

在当前软件测试行业,接口测试基本上已经算是软件测试工程师的必备技能了。我们随便浏览一家大公司,都会对接口测试有明确的要求。而且,接口测试对于一个初入软件测试的同学而言,重要性已经超越了其本身!!!为什么这么说?现在外行人一听到软件测试,反应过来的就是"点点点"的手工测试。但是真正的软件测试大牛,我们称其为"测试开发"。而手工测试与测试开发之间最大的区别就在于自动化。如果你打算由手工测试向测试开发的方向发展,接口以及接口测试就是唯一的中间媒介。

软件测试工程师晋升之路

二、接口在软件中的作用

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

三、学习经验/视频分享

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

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

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

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

该阶段,主要是对代码的使用。对于一个有志向,有抱负的软件测试工程师,代码是肯定要学习的。如果你没有代码基础,python就是一个很好的切入点。而且在软件测试项目中,接口自动化是应用最多的。

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。

今天的分享就到此结束了,大家还有什么不懂的可以评论区下留言哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下

更多推荐

Windows如何删除“$WINDOWS.~BT“文件夹,解决权限不足无法删除

$WINDOWS.~BT是干嘛的$Windows.BT是升级或者安装Windows操作系统中间过程中产生的临时文件夹,一般用于保存下载后的升级文件,或者安装过程中复制文件时产生的。用于保存Windows安装记录,包括配置资料,错误报告等,如果安装失败便可反馈给微软公司,帮助用户解决安装过程中出现的问题。如果系统可正常运

GaussDB数据库SQL系列-表连接(JOIN)

目录一、前言二、GaussDBJOIN1、LEFTJOIN2、LEFTJOINEXCLUDINGINNERJOIN3、RIGHTJOIN4、LEFTJOINEXCLUDINGINNERJOIN5、INNERJOIN6、FULLOUTERJOIN7、FULLOUTERJOINEXCLUDINGINNERJOIN三、Gau

Intel汇编在VS下开发的环境配置

1.创建一个C/C++的空项目2.创建汇编源码文件,就是C++文件改后缀为asm3.在生成依赖项一栏中选择自定义4.选择masm5.在源文件上右击选择属性6.这么设置一下7.为了让代码看的更舒服一些,添加一些高亮插件8.安装AsmHighligher和AsmDude插件(非必须),其中前者主要是高亮配色(个人很喜欢这个

Android存储权限完美适配(Android11及以上适配)

一、Bug简述一个很普通的需求,需要下载图片到本地,我的三个测试机(荣耀Android10,红米11和小米Android13都没有问题)。然后,主角登场了,测试的三星Android13死活拉不起存储权限弹窗。想了下,三星的系统可能和小米的系统做了些区别。于是就是看了下存储权限的版本更迭,却是发现了些骚东西。二、原因很早

Java Script

初识JavaScriptJavaScript是什么?JavaScript(简称JS)是世界上最流行的编程语言之一是一个脚本语言,通过解释器运行主要在客户端(浏览器)上运行,现在也可以基于node.js在服务器端运行JavaScript最初只是为了完成简单的表单验证(验证数据合法性),结果后来不小心就火了.当前JavaS

Android 显示surfaceFlinger vsync 获取

文章目录vsync的概念vsync应用层获取的方式vsync信号传递vsync的概念vsync简单理解就是一帧图像在显示设备这边显示完成之后(图像从左上角扫描到了右下角了)发送的第一个硬件vsync信号,显示设备重新回到左上角开始显示的时候会在发第二个vsync信号。在发送第一个vsync信号出来的时候,上层要开始准备

IP归属地在金融行业的应用场景

IP归属地查询在各大行业当中的利用率可以说非常的高了,提供了各种的保障,比如安全保障、数据保障、性能保障等等。今天我就来详细说一说IP归属地在金融行业的应用场景有哪些?用途一:通过解析用户IP地址所处的区县位置与表单填写位置或者GPS位置进行交叉验证,判断位置是否一致;用途二:识别来自高危地区的IP地址,如缅甸、老挝;

【面试题】—— 笔试题(4题)

文章目录1.分割集合第一种方式:自己实现分割方法第二种方式:使用第三方依赖2.链表计算3.字符串计算4.找到相加为0的数字1.分割集合题目:编写一个Java函数,实现批量获取数据的功能(BService.get(Listids))。具体要求如下:1)提供一个函数BService.get(Listids),支持最多传入1

使用Jmeter+ant进行接口自动化测试(数据驱动)

最近在做接口测试,因为公司有使用jmeter做接口测试的相关培训资料,所以还是先选择使用jmeter来批量管理接口,进行自动化测试。话不多说,进入正题:1.使用csv文件保存接口测试用例,方便后期对接口进行维护(先新建txt文件,然后文件扩展名改为.csv,不要新建xls再改为csv,不然会出现读取不到文件的情况)注意

【C语言学习笔记---指针进阶02】

C语言程序设计笔记---017C语言进阶之回调函数1、函数指针数组2、回调函数3、回调函数的应用---qsort库函数4、模拟qsort函数5、结语C语言进阶之回调函数前言:通过C语言进阶前篇的指针进阶01的知识,继续学习。这篇引用一个简易计算器的程序进行深入学习指针进阶的知识。/知识点汇总/1、函数指针数组比如:指针

认识Redis

文章目录为什么需要使用缓存中间件提高读取性能降低数据库负载提高可伸缩性降低外部依赖提高用户体验缓存数据一致性应对突发流量缓存的类型本地缓存分布式缓存内存缓存磁盘缓存缓存代理什么是RedisRedis和Memcached对比数据结构支持持久化支持数据查询和操作数据复制和分布式内存管理:生态系统和支持库应用场景总结为什么用

热文推荐