首页 > 其他分享 >四、API 测试怎么做

四、API 测试怎么做

时间:2024-06-30 17:31:32浏览次数:28  
标签:怎么 异步 调用 队列 API 测试 操作

如何应对复杂场景的 API 测试?

测试场景一:被测业务操作是由多个 API 调用协作完成

背景:一个单一的前端操作可能会触发后端一系列的 API 调用,此时 API 的测试用例就不再是简单的单个 API 调用,而是一系列 API 的调用。

存在情况:

(1)存在后一个 API 需要使用前一个 API 返回结果的情况。

(2)需要根据前一个 API 的返回结果决定后面应该调用哪个 API。

存在问题:

高效地获取单个前端操作所触发的 API 调用顺序

解决思路:

(1)通过抓包,获取前端操作时所触发的 API 调用顺序。

(2)通过用户行为日志,通过大数据手段来获取调用顺序。

 

测试场景二:API 测试过程中的第三方依赖

背景:API  之间存在依赖关系的,比如你的被测对象是 API A,但是 API A 的内部调用了 API B,此时如果由于某种原因,API B 在被测环境中处于不可用状态,那么 API A 的测试就会受到影响。

解决思路:

启动 Mock Server 来代替真实的 API  

 

测试场景三:异步 API 的测试

什么是异步 API?

调用后会立即返回,但是实际任务并没有真正完成,而是需要稍候去查询或者回调的 API

对异步 API 的测试主要分为两个部分:

(1)测试异常调用是否成功:检查返回值和后台工作线程是否被创建两个方面。

(2)测试异步调用的业务逻辑处理是否正确。

 

测试异步调用的业务逻辑复杂性:

因为异步 API 通常发生在一些比较慢的操作上,比如数据 I/O、消息队列 I/O 等,此时测试往往需要去验证数据库中的值、消息队列中的值等,这就需要测试代码具有访问和操作数据库或者消息队列的能力。在实际工程项目中,这些能力一般会在测试框架级别提供,也就是说 API 测试框架中包含对应的工具类去访问数据库或者消息队列。

标签:怎么,异步,调用,队列,API,测试,操作
From: https://www.cnblogs.com/xianyumaixianyu/p/18276688

相关文章

  • CCES编译完工程后,运行程序的按钮都是黑的,应该怎么办?
    作者的话OP在做ADIDSP开发和技术支持的10多年里,几乎每一个用ADSP的用户,都会用到同样的问题,说我硬件没问题,软件没问题,工程程序也没问题,为什么把导入的工程编译后,想要RUN,结果软件里表现为全黑,无法点击?就本该被点亮,然后直接点RUN的,全黑,是我的硬件有问题?软件程序有问题?都不......
  • 怎么看自己是不是公网IP?
    在网络中,每个设备都被分配了一个唯一的IP地址,它可以是公网IP或私有IP。公网IP是可以直接从互联网访问的地址,而私有IP只能在网络内部使用。有时我们需要确定自己是不是拥有公网IP,以便进行远程访问或其他网络操作。本文将介绍如何判断自己是否拥有公网IP,以及一种名为【天联】的组......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-52- 字符串操作 - 下篇
    1.简介在日常的自动化测试工作中进行断言的时候,我们可能经常遇到的场景。从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言。这个时候就需要我们对字符串进行操作,宏哥这里介绍两种方法:正则和字符串切片函数split()。2.测试场景宏哥在这里......
  • [本科项目实训] P-Tuning v2 测试记录
    测试脚本PRE_SEQ_LEN=64CHECKPOINT=dsbtpg-chatglm-6b-pt-64-2e-2STEP=500CUDA_VISIBLE_DEVICES=0python3main.py\--do_predict\--validation_filedevVX.json\--test_filedevVX.json\--overwrite_cache\--prompt_columncontent\......
  • MacBook怎么下载Indesign(ID)软件 百度云盘下载
    今天介绍一下,AdobeInDesign是一个桌面出版(DTP)的应用程序,主要用于各种印刷品的排版编辑。使用者常常将AdobeInDesign简称为ID,其与PS、AI、CDR并称为平面设计四小花旦。Indesign的最初设计是适用于定期出版物,海报以及其他印刷媒体,而随着人们对软件的开发与应用,现如今的In......
  • Depth Anything环境搭建&推理测试
    ​引子基于单目摄像头的深度估计,一直是CV领域的一个难点,之前也对此关注也不够多。偶然浏览技术博客,看到DepthAnything:UnleashingthePowerofLarge-ScaleUnlabeledData这个最新CVPR2024的工作。看到名字,大概也能猜出来这篇是致敬SegmentAnything(之前也分享过一篇这个主题......
  • sdk测试和app测试区别
    测试对象、内容和方法SDK测试和APP测试的主要区别在于测试对象、内容和方法。12测试对象不同:SDK测试的对象主要是软件开发工具包(SDK),这是为帮助开发者实现特定功能而提供的一组软件开发工具、文档、示例代码等。相比之下,APP测试的对象是完整的手机应用程序,包......
  • .NET 高效灵活的API速率限制解决方案
    前言  FireflySoft.RateLimit是基于.NETCore和.NETStandard构建,支持多种速率限制算法和策略,包括固定窗口、滑动窗口、漏桶、令牌桶等。通过简单的配置和集成,开发者可以快速地将其应用到现有的WebAPI、微服务或中间件中,实现对请求的精确控制。   同时,该库还支持分布式......
  • 测试面试题
    冒烟测试是什么意思呀?冒烟测试(SmokeTesting)是一种初步的测试,主要是用来验证软件的基本功能是否正常运行。就像在买一个电器之前,先插电看它是否能启动一样,冒烟测试会检查软件最重要的功能是否工作正常,如果基本功能有问题,测试就不会继续深入。你们公司的项目流程是什么呀?每......
  • 智能小程序 Ray 开发蓝牙设备API —— 单点蓝牙 API 接口汇总(五)
    postBLEBigDataChannelWithProgress大数据通道操作,支持进度反馈引入import{postBLEBigDataChannelWithProgress}from'@ray-js/ray';需引入DeviceKit,且在>=3.0.0版本才可使用参数Objectobject属性类型默认值必填说明deviceIdstring是deviceId设备idrequestPa......