后端也要了解接口性能测试?

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 事情是这样的,公司有个项目上线之后,在Skywalking的接口监控面板,发现其中一个微服务的接口超时频率很高。

 

事情是这样的,公司有个项目上线之后,在Skywalking的接口监控面板,发现其中一个微服务的接口超时频率很高。

经过一番排查,发现是接口性能不好。

网络异常,图片无法展示
|
编辑

    • 👧 测试同学: 你最近开发的接口高峰期总是超时,5秒都还没返回结果,线上很多接口超时,你自己测试一下看看
    • 👦 后端同学:我排查一下

    一般而言,在交付给测试同学验证前,开发自测是必不可少了,而对于接口性能,因为不同责分工,后端同学往往是简单自测下接口性能,基本上不涉及压测,大部分压测工作都是测试同学在做

    遇到这种情况,其实我们可以对自己的接口进行一个简单的压力测试。

    🍐 压测,关注的点主要有:

      • ⏰ 接口响应时间
      • 👪 并发用户数
      • 🌊 吞吐量
      • ⌛️ TPS(每秒事务处理数)
      • 💻 资源利用率(CPU、内存等)

      压完之后我们再看下服务器的运行情况,下图是以prometheus+granfa作为监控演示

      网络异常,图片无法展示
      |
      编辑

      聊到这里你的测试同学可能会给你推荐Jmeter,那烟花缭乱的配置可以直接劝退你

      因为我们只是做个简单的压测,配置方面关注的点主要

        • 线程数
        • 循环次数
        • 间隔停顿:测试用例之间的间隔时间
        • 持续时间

        而最近在用Apifox做接口管理的时候,发现这个接口工具竟然也有接口性能测试这个功能!

        我只需要在Apifox简单的配置下性能测试参数后,我即可知晓接口性能测试情况

        网络异常,图片无法展示
        |
        编辑

        这里整理了一份教程,带你5分钟带你玩转接口压力测试

        上手

        打开Apifox,并选择左侧Tab面板的自动化测试,点击右侧面板的新建测试用例

        网络异常,图片无法展示
        |
        编辑

        测试用例创建成功之后,点击该测试用例进入详情页,并进行添加步骤,可选择

          • 从接口用例导入
          • 从接口导入

          网络异常,图片无法展示
          |
          编辑

          导入成功之后,数据就会自动填充到测试测试面板中,你可以对需要测试的接口进行选择,最后配置下右边区域的配置

          网络异常,图片无法展示
          |
          编辑

            • 配置循环次数(每个线程运行所有步骤的次数)
            • 配置线程数 (同时并发运行的线程数)
            • 配置间隔停顿 (一个测试用例运行完用,停顿一段时间,在运行下个用例)

            ⏰ 注意事项:只有设置线程数大于1才可实现性能测试。

            对测试用例配置完之后,我们运行后会得到下方的报告,包括总耗时,平均接口请求耗时,循环数等等,同时也可以将报告导出为pdf

            网络异常,图片无法展示
            |
            编辑

            网络异常,图片无法展示
            |
            编辑

             

            最后点击详情可以看到详细的接口测试结果

            网络异常,图片无法展示
            |
            网络异常,图片无法展示
            |

            进阶用法(CICD)

            如果你想在Jenkin或者Gitlab做CICD自动化测试,你可以使用Apifox推出的Apifox CLI

            点击测试用例详情中的持续集成按钮,并新建一个配置,对配置进行编辑后,点击保存就可以生成CLI 命令行,这样你就可以在服务器通过该CLI完成自动化测试

            网络异常,图片无法展示
            |
            编辑

             

            地址: www.apifox.cn

            相关实践学习
            通过性能测试PTS对云服务器ECS进行规格选择与性能压测
            本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
            相关文章
            |
            21天前
            |
            监控 JavaScript 测试技术
            postman接口测试工具详解
            Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
            77 11
            |
            2月前
            |
            JSON Java 测试技术
            SpringCloud2023实战之接口服务测试工具SpringBootTest
            SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
            71 3
            |
            3月前
            |
            JSON 算法 数据可视化
            测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
            这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
            88 0
            测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
            |
            4月前
            |
            移动开发 JSON Java
            Jmeter实现WebSocket协议的接口测试方法
            WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
            287 7
            Jmeter实现WebSocket协议的接口测试方法
            |
            4月前
            |
            JSON 移动开发 监控
            快速上手|HTTP 接口功能自动化测试
            HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
            295 3
            快速上手|HTTP 接口功能自动化测试
            |
            4月前
            |
            SQL JSON Java
            springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
            本文为Spring Boot增删改查接口的小白入门教程,介绍了项目的构建、配置YML文件、代码编写(包括实体类、Mapper接口、Mapper.xml、Service和Controller)以及使用Postman进行接口测试的方法。同时提供了SQL代码和完整代码的下载链接。
            springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
            |
            4月前
            |
            JavaScript 前端开发 测试技术
            ChatGPT与接口测试
            ChatGPT与接口测试,测试通过
            62 5
            |
            3月前
            |
            JavaScript 前端开发 API
            vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
            vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
            51 0
            |
            5月前
            |
            Java 程序员 编译器
            作为后端开发,感受下接口带来的魅力!🔥🔥
            在一场大厂面试中,小南被问及何时选用接口,何时采用抽象类。一位拥有24K粉丝的博主给出解答:选择取决于需求——接口定义多个类需遵守的契约,而抽象类则用于创建共享实现的基类。有时两者结合使用,通过抽象类实现接口以确保契约并提供通用功能。此外,小南还分享了关于抽象类的深入探讨,包括子类如何正确调用父类构造函数、访问父类成员以及父类不可访问的方法等细节。最后,他提出一个关于接口与抽象类差异的小测验,并邀请读者关注他的开源项目《Java学习进阶指南》,旨在帮助Java开发者更好地掌握核心知识和面试要点。
            192 3
            作为后端开发,感受下接口带来的魅力!🔥🔥
            |
            5月前
            |
            网络协议 测试技术 网络安全
            Python进行Socket接口测试的实现
            在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~

            热门文章

            最新文章