IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> HTTP 异步接口自动化测试方案 -> 正文阅读

[开发测试]HTTP 异步接口自动化测试方案

背景:

随着互联网应用技术复杂性不断提高,高效的测试技术和工具逐渐成为高质量应用的必要保证。

HTTP 接口即基于 HTTP 协议、可远程访问的接口,是分布式应用系统的一种技术实现。

HTTP 协议则是互联网上客户端浏览器或其他程序与 Web 服务器之间的应用层通信协议。

接口是预先定义的函数,旨在提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力。接口内部实现对特定业务处理逻辑的封装,接口调用方只需按接口调用规则进行访问即可完成特定业务的处理,无需关注内部实现细节。

方案设计:

根据接口内部业务处理模式不同,HTTP 接口可分为同步接口和异步接口。

同步接口是指请求方以HTTP 请求方式访问服务端 HTTP 接口,接口收到请求并完成全部业务处理后将结果以 HTTP 响应方式直接返回给请求方。

异步接口是指请求方以 HTTP 请求方式访问服务端 HTTP 异步接口,请求参数中需包含一个用于接收异步处理结果的 HTTP 回调接口地址,接口收到请求并在完成部分业务处理后以 HTTP 响应方式将处理结果返回给请求方(即同步返回),或者不做任何业务处理直接以 HTTP 响应方式返回一定数据以告知请求已收到,之后 HTTP 接口内部再启动新线程处理后续业务并访问请求方提供的回调接口将结果发给请求方(即异步返回)。

我们使用 Eolink 软件测试工具中的 open API 功能把开放出去的接口集成到 Jenkins 中,实现自动化测试。调用 open API 可以参考帮助文档。对外开放的接口如下图。

Jenkins [3]是 Apache 组织开发的基于 Java 的自动化测试工具,以其开源、小巧以及功能强大等优势而备受青睐。它可用于对服务器、网络或对象模拟巨大的负载,在不同自动化类别下测试它们的强度及分析整体自动化。

Jenkins 支持对 Web 服务 HTTP 接口的自动化压测,但其在 HTTP 异步接口的自动化压测方面存在一定的局限性。

Jenkins 对 HTTP 接口的压测只能覆盖到同步接口和异步接口的同步处理逻辑,无法覆盖到异步接口内部的异步处理逻辑。

单独使用 Jenkins 对 HT-TP 异步接口进行的自动化压测不能覆盖接口内部完整业务处理逻辑,因此 Jenkins 的压测结果不能反映出接口自身的真实自动化情况。

本文根据 HTTP 异步接口内部业务实现特性,结合 Jenkins 支持纯 Java 脚本编写的特点,设计了一套集Jenkins 工具、MySQL 数据库表设计、模拟接口测试桩设计以及自定义 Java 脚本设计等为一体的自动化测试方案。

该方案能够覆盖 HTTP 异步接口完整业务处理逻辑,且通过在真实产品中进行自动化压测实践,证明了该方案的可行性与实效性,把open api结成到Jenkins实现自动化测试。可以在Jenkins中直接下载插件进行集成,具体集成方式可以参考帮助文档

本文简述了使用 Eolink 进行异步接口性能测试的方案,更多功能可自行探索使用!

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:55:28  更:2022-03-30 18:58:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:44:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码