当前位置: 首页 > news >正文

pytest压力测试:不断发送数据,直到发现数据丢失

示例场景

假设有一个 send_data 函数接受数据并返回成功或失败的状态。

创建一个测试用例,通过逐步增加数据量来测试这个函数,直到返回失败为止。

步骤

  1. 定义压力测试函数

    定义一个函数。不断发送数据,直到发现数据丢失。

  2. 创建 pytest 测试用例

    使用 pytest 运行这个测试函数,记录每一步的结果。

运行成功效果

import pytest
import time# 假设这是你的发送数据函数
def send_data(att, data):# 模拟发送数据并返回状态# 在实际代码中,你应该调用你要测试的服务if data > 2400000:  # 设定一个阈值作为测试条件assert False , f"Data loss detected with number_of_packets :第{att}次,长度增加到 {data} "return Truedef test_stress():number_of_packets = 1400  # 初始数据step_number = 10000       # 每次增加的数据量max_attempts = 4          # 最大尝试次数,防止无限循环attempts = 0while attempts < max_attempts:# assert send_data(data): 如果 send_data(data) 返回 False,断言失败,抛出异常并退出循环assert send_data(attempts,number_of_packets), f"Data loss detected with number_of_packets :第{attempts}次,长度增加到 {number_of_packets} "# 增加数据量number_of_packets += step_numberattempts += 1# 可以选择等待一段时间,模拟现实环境中的间隔time.sleep(1)  # 延时1秒print(f"No data loss detected within the test limits. 每次增加的数据量{step_number},最大尝试次数{max_attempts},最大长度{number_of_packets}")

PASSED                                       [100%]No data loss detected within the test limits. 每次增加的数据量10000,最大尝试次数4,最大长度41400

运行失败效果

import pytest
import time# 假设这是你的发送数据函数
def send_data(att, data):# 模拟发送数据并返回状态# 在实际代码中,你应该调用你要测试的服务if data > 24000:  # 设定一个阈值作为测试条件assert False , f"Data loss detected with number_of_packets :第{att}次,长度增加到 {data} "return Truedef test_stress():number_of_packets = 1400  # 初始数据step_number = 10000       # 每次增加的数据量max_attempts = 4          # 最大尝试次数,防止无限循环attempts = 0while attempts < max_attempts:# assert send_data(data): 如果 send_data(data) 返回 False,断言失败,抛出异常并退出循环assert send_data(attempts,number_of_packets), f"Data loss detected with number_of_packets :第{attempts}次,长度增加到 {number_of_packets} "# 增加数据量number_of_packets += step_numberattempts += 1# 可以选择等待一段时间,模拟现实环境中的间隔time.sleep(1)  # 延时1秒print(f"No data loss detected within the test limits. 每次增加的数据量{step_number},最大尝试次数{max_attempts},最大长度{number_of_packets}")

 

 

 

相关文章:

pytest压力测试:不断发送数据,直到发现数据丢失

示例场景 假设有一个 send_data 函数接受数据并返回成功或失败的状态。 创建一个测试用例&#xff0c;通过逐步增加数据量来测试这个函数&#xff0c;直到返回失败为止。 步骤 定义压力测试函数 定义一个函数。不断发送数据&#xff0c;直到发现数据丢失。 创建 pytest 测试…...

自选择问题和处理效应模型

自选择问题和处理效应模型 DGP 注意&#xff1a; 这里的概率密度超过了1&#xff0c;这是正常的。概率密度的三原则&#xff0c;1是大于等于0&#xff1b;2是积分等于1&#xff1b;对于连续型随机变量&#xff0c;给定一个具体的x值&#xff0c;f(x)并不是该事件发生的概率。而…...

[数据集][目标检测]水面垃圾检测数据集VOC+YOLO格式2027张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2027 标注数量(xml文件个数)&#xff1a;2027 标注数量(txt文件个数)&#xff1a;2027 标注…...

OpenCV 之 模版匹配多个对象、图片旋转 综合应用

引言 在图像处理和计算机视觉中&#xff0c;模板匹配是一种常用的技术&#xff0c;用于在一幅较大的图像中查找与给定模板图像相似的部分。然而&#xff0c;在实际应用中&#xff0c;目标物体可能会出现在不同的角度&#xff0c;这就需要我们在匹配之前对模板进行旋转处理。本…...

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时&#xff0c;Curator 是一个非常流行的客户端库&#xff0c;它简化了 ZooKeeper 的使用&#xff0c;提供了高级的抽象和丰富的工具。本文将详细…...

机械学习—零基础学习日志(Python做数据分析02)

现在开始使用Python尝试做数据分析。具体参考的网址链接放在了文章末尾。 引言 我通过学习《利用Python进行数据分析》这本书来尝试使用Python做数据分析。书里让下载&#xff0c;anaconda&#xff0c;使用Jupyter来写代码&#xff0c;只是下载一个anaconda的确有点费时间&am…...

BRAM IP Native模式使用

简介 BRAM&#xff08;‌Block RAM&#xff09;是‌FPGA&#xff08;Field-Programmable Gate Array&#xff09;中的一种专用RAM资源&#xff0c;固定分布在FPGA内部的特定位置。该内容主要对BRAM&#xff08;Block RAM”的缩写&#xff09;Native模式下IP界面做详细描述和使用…...

react的useRef用什么作用

useRef 是 React 提供的一个钩子&#xff0c;用于在函数组件中创建和管理对 DOM 元素或组件实例的引用。它返回一个包含 current 属性的对象&#xff0c;可以用来存储对某个值的引用&#xff0c;而这个引用在组件的整个生命周期内保持不变。 useRef 的主要用途 1.访问 DOM 元素…...

10.2 TCP IP模型、IP协议、IPv4、子网掩码

TCP / IP 协议族 IP协议 IPv4地址 IPv4地址分类 子网掩码 子网掩码用来区分 网络地址 和 主机地址 真题 1...

工业相机飞拍的原理及工作原理

工业相机飞拍&#xff08;或称为工业高速相机飞行拍摄&#xff09;是一种利用高速图像捕捉技术和精密运动控制系统进行高效图像采集的先进技术。它广泛应用于工业检测、质量控制和自动化生产等领域。本文将详细探讨工业相机飞拍的原理及其工作方式。 一、工业相机飞拍的基本概…...

通过AI来创建一个_____html css网页制作成品 例子演示

使用AI 输入创建一个 html css网页制作成品 例 然后出来 好的&#xff0c;我将为您创建一个简单的HTML和CSS网页制作的示例。这个示例将包括基本的布局、文本样式和一些内联的CSS样式。 { "name": "dalle", "description": "A simple exa…...

C ++ 从单链表到创建二叉树到二叉树的遍历(结构体)

首先我们要了解二叉树的数据结构是什么&#xff0c;本质上二叉树是一个有两个节点的链表&#xff0c;我们先了解的单链表的相关定义 单链表 创建一个朴素的单链表 #include <iostream>using namespace std;struct Node{int val;Node* next;Node(int x) : val(x), next(…...

Python 编程:如何巧妙运用 `abc` 模块解锁面向对象设计的新维度?

引言 在软件开发的世界里&#xff0c;面向对象编程&#xff08;OOP&#xff09;作为一门艺术&#xff0c;其精髓在于通过封装、继承与多态来构建可维护性高、易于扩展的系统。而在 Python 这门语言中&#xff0c;abc 模块则为我们提供了一种优雅的方式来定义抽象基类&#xff…...

Jenkins 执行 shell 时报错 Host key verification failed.

1. 问题描述 在 jenkins 中执行下面的 shell 语句时 sshpass -p "123456" scp -r * dep192.168.1.100:/home/dep/Desktop/报错 Host key verification failed.可能原因是由于首次登录时需要输入 yes 导致无法连接成功。 The authenticity of host 192.168.1.100…...

MyBatis-Plus&Druid数据源

MyBatis-Plus&#xff08;简称MP&#xff09;和Druid数据源在Java开发中各自扮演着重要的角色&#xff0c;它们分别增强了MyBatis的数据库操作能力和提供了高效的数据库连接池管理。以下是对MyBatis-Plus和Druid数据源的总结&#xff1a; MyBatis-Plus 定义与特性&#xff1a…...

MTPA控制分析与推导

目录 MTPA (Maximum torque per ampere) 一. 控制目的 二. 设计思路 三. 推导过程 MTPA (Maximum torque per ampere) 一. 控制目的 忽略电机中的铁耗只考虑铜耗的背景下&#xff0c;希望实现铜耗最小化。 二. 设计思路 通过给出电机在d-q坐标系下的等效电路模型&…...

Spring Boot 的Web项目如何直接显示html

前言 实际的开发中,在Spring Boot的Web项目中直接使用html文件的场景已经比较少了, 或者是只需要很简单的页面显示,或者是演示的需要, 大部分的状况都是Spring Boot作为后端提供REST 的服务,结合其他的一些前端Framework进行开发,比如VUE,Ext JS等。 Spring Boot项目中…...

【回收站选址】

题目 代码 #include <bits/stdc.h> using namespace std; const int R 2e91; typedef long long LL; unordered_set<LL> s; int piles[5]; int dx[4] {-1, 0, 1, 0}, dy[4] {0, 1, 0, -1}; int dx1[4] {-1, -1, 1, 1}, dy1[4] {-1, 1, -1, 1};bool check(LL …...

Springboot整合websocket(附详细案例代码)

文章目录 WebSocket简述WebSocket是什么&#xff1f;WebSocket 的特点WebSocket 的工作流程WebSocket的消息(帧)格式WebSocket 与 HTTP springboot中整合WebSocketpom依赖实体类配置类握手配置类WebSocket配置类 自定义异常类webSocket服务类websocket中Session的 getBasicRemo…...

微信小程序:navigateTo跳转无效

关于 navigateTo 跳转无效问题&#xff0c;在IOS、模拟器上面都能正常跳转&#xff0c;但是在安卓上面不能跳转&#xff0c;过了一段时间IOS也不能跳转了。仔细找了下问题结果是要跳转的页面是tab&#xff0c;不能使用navigateTo 取跳转修改为&#xff1a; wx.switchTab({url:…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...