5年经验之谈 —— 手把手教你接口性能测试之工具篇!

news2024/11/16 3:20:38

本文是我们手把手教你接口性能测试系列文章中的中篇,主要介绍软件测试工作中常用的一些接口测试工具。


一、接口都有哪些类型?

1、接口一般分为两种:

    1.程序内部的接口

    2.系统对外的接口

程序内部的接口

方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如 论坛 系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。

系统对外的接口

比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把 数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。

2、接口的分类

    1.webservice 接口

    2.http api 接口

webService接口

webService 接口是走 soap 协议通过 http 传输,请求报文和返回报文都是 xml 格式的,我们在测试的时候都用通过工具才能进行调用,测试。

http api 接口

http api 接口是走 http 协议,通过路径来区分调用的方法,请求报文都是 key-value 形式的,返回报文一般都是 json 串,有 get 和 post 等方法,这也是最常用的两种请求方式。

json 是一种通用的数据类型,所有的语言都认识它。(json 的本质是字符串,他与其他语言无关,只是可以经过稍稍加工可以转换成其他语言的数据类型,比如可以转换成 Python 中的字典,key-value 的形式,可以转换成 JavaScript 中的原生对象,可以转换成 java 中的类对象等。)

二、接口–前端、后端和测试

前端对接口进行使用

通过后端人员给的接口文档,来进行 Ajax 的设计,通过接口向服务发送请求,获取响应的数据,然后通过返回的数据进行下一步的页面跳转和显示。

后端生成接口

通过编写接口,为前端提供与服务器和数据请求交互的通道。编写对应的接口,需要传递的参数,参数类型等等。然后生成接口文档,分享给前端,让其按照接口文档编写对应的 Ajax。

测试验证接口

可以通过接口文档,进行接口验证,查看后端开发的接口和前端所写的 Ajax 是否对应,有没有出错的接口,还可通过接口流程测试,知道整个系统之间的接口是否是相对应的,有没有接口是不对的,或者没有正常运行。

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

三、前端、后端和测试使用的接口工具

    前端:一般使用 postman、apipost/apifox 或者 jmeter 进行接口验证和查看响应值。

    后端:多用 swagger、postman、apipost/apifox 等接口文档生成工具和测试工具。

    测试:jmeter、postman 和 apipost/apifox 等可以对接口进行验证测试。

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

四、接口测试工具介绍

Postman

postman想必不用说太多,是非常流行的API调试工具,广泛用于在开发过程中调试接口。postman简单方便,而且功能强大,具有全球范围的影响力。

postman是 Google 开发的一款接口测试的插件,也有客户端。

postman这款接口测试工具,是一款很轻便的接口验证工具,可以通过输入请求方法、url、参数直接进行接口请求访问,验证接口是否开通,还可以查看返回的响应值查看接口开发是否正常。

缺点是国内禁用 Google 之后,postman 的插件就不好下载和使用了。

官网地址:https://www.postman.com/

Swagger

swagger 是一款通过针对与后端开发人员的一款接口文档生成工具。主要通过在代码中的注释生成接口文档的工具。

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。Swagger除了具备API设计、开发和文档化的功能,还支持API的测试和API mock功能。

缺点是Swagger-UI 封装好了一套 Html 模板,任何 RESTFUL API 的展示形式只能遵循其格式,不能灵活修改

官网地址:https://swagger.io/

Jmeter

jmeter 是基于java的开源软件,可以进行接口测试和性能测试的,

但是对于做单纯的接口测试 jmeter 操作起来没有 postman、apipost 使用起来方便。jmeter 重点在于压力测试,稳定性测试和负载测试。

针对于接口和程序的稳定性设计的一块以软件性能为主接口测试为辅的接口测试工具。

JMeter支持REST、SOAP、HTTP、HTTPS、FTP、TCP等多种协议。JMeter有丰富的插件支持。

官网地址:https://jmeter.apache.org/

缺点是配置元件多,需要逐步了解学习

Apipost

apipost 这款接口测试工具,主要针对于接口验证和接口文档生成。

Apipost = Postman + Swagger + Mock + Jmeter

apipost 这款接口测试工具,是一款很轻便的接口验证工具,可以通过输入请求方法、url、参数直接进行接口请求访问,验证接口是否开通,还可以查看返回的响应值查看接口开发是否正常。根据这些接口验证信息,直接可以生成在线文档和离线版的 word 文档。是一款很棒的接口测试和接口文档生成工具,又不像 swagger 生成的接口文档都是英文的阅读起来也不太方便。apipost 还具备协同工作,可以很有效的实现前端的接口联调。

缺点是需要收费

官方网址:https://www.apipost.cn/

Apifox

Apifox 是 API 文档、调试、Mock、测试一体化协作平台,定位Postman + Swagger + Mock + JMeter。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好 API 文档,API 调试、API 数据 Mock、API 自动化测试就可以直接使用,无需再次定义;API 文档和 API 开发调试使用同一个工具,API 调试完成后即可保证和 API 文档定义完全一致。高效、及时、准确!

Apifox 由国人团队开发,不仅免费下载、开箱即用,还有自动生成 API 文档等

缺点是功能过于复杂了,上手有一定的门槛

官方网址:https://www.apifox.cn/

Yapi

Yapi是 API 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

缺点是功能倾向于开发侧,测试方面不如以上几个工具

官方网址:http://yapi.dapengjiaoyu.com/

其他的工具:SoapUI、Eoapi、Hoverfl

脚本进行接口测试

    使用的 python+requests 进行接口测试。实现接口的原理和接口测试工具一样。还是通过 url、参数和请求方法进行的接口测试。

   核心是调用 requests 和 json 库,因为参数一般是通过 json 格式传递的。

    缺点是需要python基础以及一点的编码能力(此处挖个坑,后续将开展接口自动化测试的手把手系列文章)

总结

主要介绍了接口类型和分类,软件测试工作中常用的一些接口测试工具。由于文字载体展示效果不佳,还需各位同学自行去实践。

本系列文章主要是JMeter接口性能测试的介绍,故会在下面一篇中主要介绍JMeter工具如何进行接口测试和并发性能测试。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

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

相关文章

最靠谱的nvm安装教程 for mac

nvm是node 版本管理工具 一、前提 1、保证自己的mac电脑上没安装node环境 2、保证自己的电脑上有安装git,不然下载nvm时会报错。 git下载可以参考: 1)佛系安装:通过提示下载 XCode 2)brem安装 3)终极大法&…

Kubernetes - 一键安装部署 K8S(附:Kubernetes Dashboard)

问题描述 不知道大伙是如何安装 K8s,特别还是集群的时候,我上一次安装搭建的时候,那个恶心到我了,真的是一步一个脚印走完整个搭建流程,爬了不少坑。 于是,才有了今天的文章,到底有没有可以一…

在mybatis的xml中使用枚举来做判断条件

1.枚举类 import com.baomidou.mybatisplus.annotation.IEnum; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.shinkeer.common.utils.StringUtils;import java.util.HashMap; import java.util.Map;…

日志logback详解

该篇博客是我参考了很多博客总结出来的,内容很多,你能看完不睡着算你厉害! 一、日志框架发展史 二、日志规范 三、日志级别 四、Logback 4.1 Maven引入 4.2 logback-spring.xml是在哪里加载的? 4.3 logback.xml和logback-s…

err -110 while initial SD card failed enmmm否系解决方案

1.情况表述 之前把 sd卡从小容量换成了大容量 且运行正常 过了一两个月 发现启动失败 报错:mmc0: error -110 whilst initialising SD card 给出报错图片 2.相关解决方案 给出链接 讲的很有道理,但是 我在bash中没有找到对应内核的驱动文件 SD卡…

抖音SEO优化怎么做?详细的方法来了,搭配批量剪辑让效果更优

抖音作为一个非常受欢迎的短视频平台,无论是用户还是内容创作者,体量都越来越大,这意味着竞争也越来越大,想要在抖音上获得更多的曝光和关注,做好抖音 SEO 优化是一门必修课。 抖音 SEO 优化是指优化我们发布到抖音平…

AMEYA360:瑞萨电子转矩控制解决方案加强工业自动化

随着科技的不断进步和全球制造业的竞争加剧,越来越多的企业开始投资和采用自动化技术,以提高生产效率、降低成本、改善产品质量并确保过程安全。而为协同工作完成复杂任务,确保高质量的生产结果。工业自动化设备对精度控制要求非常高&#xf…

Redis底层核心数据结构详解

文章目录 一、深入String(SDS)1. 字符串简介2. SDS存在的意义3. SDS结构设计4. SDS与C字符串的区别4.1 常数复杂度获取字符串长度4.2 杜绝缓冲区溢出4.3 二进制安全4.4 SDS API 5 小结 二、深入List (QuickList)1. 链表节点结构设计2. Redis的链表实现的…

linux驱动开发led绑定亮灯

head.h 应用程序 驱动程序 结果

LabVIEW基于机器视觉的钢轨表面缺陷检测系统

LabVIEW基于机器视觉的钢轨表面缺陷检测系统 机器视觉检测技术和LabVIEW软件程序,可以实现轨道工件的表面质量。CMOS彩色工业相机采集的图像通过图像预处理、图像阈值分割、形态分析、特征定位和图案匹配进行处理和分析。图形显示界面采用LabVIEW软件编程设计&…

【大模型的一些基本结论】

这里写自定义目录标题 LLama的一些基本结论 各个论文中给出一些观察显现,我们比摘要更简略地摘要一些文本大模型大佬地基本结论和观察到的现象 LLama的一些基本结论 由于大模型要作为服务,因而推理时间更重要。一个较小的、训练时间较长的模型最终会在…

GLIP,FLIP论文阅读

Scaling Language-Image Pre-training via Masking(FLIP,2023)👍 贡献: 1.图像端引入MAE的随机MASK,image encoder只处理未mask的patches(和之前的MAE方法一致),减少了输…

5年经验之谈 —— 手把手教你接口性能测试之JMeter性能测试篇!

本文是我们《手把手教你接口性能测试》系列文章中的完结篇,介绍如何使用JMeter工具进行接口测试和并发测试。 一、Jmeter 简介 Jmeter是由Apache公司开发的一个纯Java开源项目,即可以用于做接口测试也可以用于做性能测试,具备高移植性和扩展…

QUIC协议包头保护(四)

一:为什么要有包头保护 学过HTTP和HTTPS都知道,随着网络的普及,人们对于信息的保护,个人的隐私越发的重视。信息加密对于未来协议的发展肯定是越来越趋于严格。QUIC作为新生代的协议,必然要站着前辈的肩膀上发展&#…

基于Python实现的复制、移动、离线化你的 Markdown 文档,清理 Markdown 引用路径中的垃圾文件

Markdown 工具箱 完整代码下载地址: Markdown 工具箱 🚩 简介 Markdown 工具箱,是我为 Markdown 笔记管理做的一个工具集。目前有以下几个功能: 复制 批量将 md 笔记(连带它的相对路径引用的图片、附件)…

c#中使用stringbuilder的Append方法写sql语句

c#中使用stringbuilder的Append方法写sql语句 c#中使用stringbuilder的Append方法写sql语句_c#strsql.append_安静点DGC的博客-CSDN博客https://blog.csdn.net/qq_26925297/article/details/81586884 特此记录 anlog 2023年8月8日

PMP考试中有哪些疑点、难点?

目前PMP考试的内容只有最后5个月是按照旧考纲,后面的考试基本上都是按照新考纲进行。因此,备考的朋友们需要学习很多新的知识点和敏捷学习方法。所以现在是给今年想要备考的朋友们提供学习建议的时候了。 01、新版考纲将主要关注以下三个新领域&#xf…

一、XSS加解密编码解码工具

一、XSS加解密编码解码工具 解释:使用大佬开发的工具,地址:https://github.com/Leon406/ToolsFx/blob/dev/README-zh.md 在线下载地址: https://leon.lanzoui.com/b0d9av2kb(提取码:52pj)(建议下载jdk8-w…

每天一道算法题——动态规划

找到工作就不更新了~ 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: …

博客系统自动化测试

1、博客列表页面测试 测试内容 测试代码: TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class BlogListTest extends Autotest{public static ChromeDriver driver createDriver();// 准备工作TestBeforeAllstatic void ready() {driver.get(&q…