测试老鸟整理,性能测试高并发压力测试-案例,进阶之道...

news2024/11/25 19:31:40

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

单个接口的压测(基准容量测试)

目的:验证被测试接口的最高TPS(基于一定的响应时间ms),TPS是从服务端角度验证接口性能;

方法:采用梯度压测方法,按照设置的梯度逐步递增压力,观察TPS曲线变化(测试时注意递增的粒度,粒度需要细化到TPS曲线跟随梯度压力曲线呈梯度变化)

最大TPS:
当梯度压力增加时,TPS趋于稳定不再增加,继续增加压力接口响应时间不断增加,该TPS即是最大TPS(对于无明显性能拐点的系统适用);

当梯度压力增加时,TPS达到最大值,继续增加压力接口TPS会不断降低,响应时间不断增加,TPS曲线的最高点即为该接口最大TPS(对于有明显性能拐点的系统适用);

注意点:tps=1000/接口响应时间(ms);线程组数与接口所支持的并发没有必然联系,接口的最大tps即是所支持的并发

多接口串联压测(场景式压测)

目的:验证被测试系统链路在高并发场景下的响应时间(响应时间需要根据业务确定),同时观察服务器的资源占用情况;根据响应时间来确定当前系统链路所支持的用户并发数量以及对应的请求数;

方法:采用逐渐加压方式加压到预期压力值,持续压测一段时间,观察记录系统链路的整体tps与响应时间,关注每个接口的错误率;

注意点:csv参数化变量数据需要大于设定的并发线程组数;链路中为了模拟真实用户操作,需要加入合理的思考时间(2s,3s);

多接口串联负载(场景式负载)

目的:验证被测系统在一定压力下长时间运行的稳定性,主要观察系统响应时间,接口错误率,tps;

方法:
施加预期的压力数让系统长时间运行,观察响应时间,tps,以及接口错误率(预期能够长期稳定运行,tps达预期后稳定浮动,响应时间符合业务需求,无接口大面积报错);

施加极大压力数让系统长时间运行,观察响应时间,tps,以及接口错误率(预期虽然响应时间变长但能够稳定运行,响应时间变长后,接口报错率在可接受范围内)

高并发性能压力测试

测试场景:模拟618百万级的订单量一个物流信息的查询接口。
条件:接口响应时间<150ms以内。10万并发量每秒。

设计性能测试方案:

生产环境:
10W/S–并发量(架构师/技术负责人提供)
20台机器(4G*4核配置)

性能测试环境:
出于成本考虑,绝大多数公司,是做不到和生产环境一样配置的。有些生产环境有几百台甚至几千台机器,测试环境做不到。

基准测试 – 少量的请求,少量的服务器 – 性能测试 – 通过理论推导 生产环境性能

(4G*4核配置)1台 --> 性能指标 – 推导 --只需要1台与服务器相同配置的机器能完成5000/s并发量即可(类似数学中的同理可得,以此类推)

注意事项:
性能测试项目部署服务器硬件型号 – 和生产环境一致

性能测试用例设计:
生产环境面临并发量100000,服务器20台,平均到每台服务器5000/s,当并发需求=5000/s的时候,并发量要大于等于5000/s才扛得住。

性能指标:
吞吐量(接受发送):>=5000/S(QueryPS – 查询数据场景(一秒内 处理查询请求数量)-- TransactionPS – 多个操作/设计数据修改的请求)

单位时间(s)-- 处理请求的数量;
并发量:5000/s(相对并发:某一个时间段)(绝对并发:同一个时间);
响应时间:接口请求从开始到结束完整时间 – 150ms;
性能测试用例 – 执行步骤 + 执行结果验证;
负载测试 – 系统承载的极限并发;
不断加大并发 – 直到系统不满足性能需要【性能瓶颈】【拐点】;

压力测试(稳定性测试)-- 极限并发情况下,系统能否稳定 指定时间(一般压力测试时间大于12小时);

两个测试的先后顺序:先做压力测试再做负载测试,主要是因为要做压力测试你首先要知道极限并发是多少,负载测试就能知道极限并发。

线程目的:去执行接口调用
模拟总共500线程 --> 慢慢增加 – 最终达到

只压500线程而不是5000线程的原因是,接口平均访问返回时间为100ms,1秒就有1个线程就可以造成10并发的压力,所以只需要500个用户,1秒就能达到5000并发的压力。

Jmeter用到的插件有:
Stepping Thread Group和loadrunner一样,梯度压测,每次递增可以在Next,add中自己填入参数。

Jmeter压测实时仪表盘在后端监听器中。Grafana(目前还没研究这个仪表盘,等接口框架都写完再来继续填坑)

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有经历黑暗,才能看到光明;只有奋斗不息,才能拥抱成功;只有坚持不懈,才能追寻梦想。无论前路多么艰辛,勇往直前,你定能创造属于自己的辉煌人生!

只有拼尽全力,才能超越自我,只有不断进取,方能成就辉煌。无论前路多么艰难,我们都要坚持奋斗,因为只有这样,梦想才会变成现实,成功才会属于我们。相信自己,追逐梦想,勇往直前,你一定能够实现一切!

只有经历坎坷与挫折,才能找到成功的路径,只有付出辛勤与努力,才会迎来辉煌的未来。不忘初心,奋斗不止,相信自己的潜力,你必将创造无限可能!

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

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

相关文章

通过foxmail同步其他邮箱邮件到我司邮箱

1、先通过foxmail 登录需要备份邮件的邮箱帐号&#xff0c;全选需要备份的邮件&#xff0c;右键选择“导出邮件”。 2、在foxmail中使用IMAP协议登录我司邮箱帐号&#xff0c;右键选择收件箱或其他文件夹导入邮件&#xff0c;将之前导出备份的邮件文件全选导入。 3、导入完成后…

glibc缺陷居然会导致MySQL卡住?

问题来源&#xff1a; 版本&#xff1a;5.7.25。 现象&#xff1a;备机主从延迟不断变大&#xff0c;无法登陆数据库&#xff0c;建立连接时卡住&#xff0c;但很快恢复正常了。 分析&#xff1a; 常规分析&#xff1a; 通常情况下&#xff0c;这类问题无法分析&#xff0c…

vmware17安装openkylin

官网 系统下载-openKylin 开放麒麟社区官网 | 开源聚力&#xff0c;共创未来 下载链接 https://www.openkylin.top/downloads/download-smp.php?id18 安装 点击浏览&#xff0c;选择镜像 修改服务器cpu配置 修改内存配置 修改网络连接方式 点击启动 等待安装完成 出现上图说…

比较两个Excel表格中的数据,不相同的高亮显示

下面是常用的在Excel中比较两个Excel表格数据的方法&#xff0c; 比如要比较下面A和B中的数据是否一致&#xff1a; 可以这样做&#xff1a;

ikbc键盘2.4G接收器丢失,重新对码

我的键盘&#xff1a;ikbc W200 1.键盘关掉重开&#xff1b; 2.新接收器插在电脑上&#xff1b; 3.电脑上打开软件&#xff0c;点开始对码&#xff0c;一会就连接上了。 对码软件放在这里&#xff1a; 我用夸克网盘分享了「IKBC 对码.rar」&#xff0c;点击链接即可保存。打开…

(Qt) Http之Get请求使用基础

文章目录 前言Code完整code效果循环loop的使用 讲解配置相关对象Https END 前言 http的操作是网络通信中非常常见的操作&#xff0c;其中广泛使用get&#xff0c;post两种操作。 本文将对Qt中&#xff0c;http的get请求做简单应用&#xff0c;来进行展示。 Code 完整code …

2分钟完成Github配置ssh密钥

2分钟完成Github配置ssh密钥 前言&#xff1a; 配置ssh密钥的目的是为了可以在自己的本地开发环境顺利拉取和推送代码到Github 本机是Ubuntu 16.04环境&#xff0c;已安装ssh 步骤1 进入当前用户的home目录&#xff1a; #执行以下命令进入 cd ~进入.ssh/目录下生成ssh的密钥…

JS antdv实现表格树形级联效果

概述 项目中需实现以下这种效果&#xff1a;级联数据&#xff0c;表格横向排列&#xff0c;数据之间相互联动。现有UI组件无法满足此需求&#xff0c;只能撸起袖子加油干&#xff01;&#xff01; 实现效果如下 开发前先准备一个树形数据 treeData.js const treeData [{ar…

Linux常用命令【多图预警】

Linux常用命令 文章目录 Linux常用命令Linux虚拟机的安装Linux系统目录结构Linux命令的语法基础命令查看当前目录下所有子目录和子文件ls查看命令手册man查看当前目录pwd切换到指定目录cd 管道符 |文件目录操作命令创建一级目录&#xff08;文件夹&#xff09;mkdir创建多级目录…

计算机毕业论文内容参考|基于微信小程序的学生课表系统的设计与实现

文章目录 导文摘要前言绪论1课题背景2国内外现状与趋势3课题内容相关技术与方法介绍系统分析系统设计系统实现系统测试总结与展望1本文总结2后续工作展望导文 计算机毕业论文内容参考|基于微信小程序的学生课表系统的设计与实现 摘要 基于微信小程序的学生课表系统是一个方便学…

【电路原理学习笔记】第2章:电压、电流和电阻:2.8 电气安全

第2章&#xff1a;电压、电流和电阻 2.8 电气安全 2.8.1 触电 电流&#xff08;而非电压&#xff09;通过人的身体是触电的的原因。当然&#xff0c;需要有电压施加在有电阻的物体上才能产生电流。当人身体上的一个点与电压接触&#xff0c;而另一个点与不同的电压或地面接触…

玄子Share - mybatis-Plus 3.5.3.1 学习笔记

玄子Share - mybatis-Plus 3.5.3.1 学习笔记 介绍 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 [MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 愿景&#xff1a;…

docker 镜像的使用与创建(三)

相关文章&#xff1a; linux上docker容器运行web应用简单介绍(二&#xff09;_做测试的喵酱的博客-CSDN博客 linux docker安装及报错处理_做测试的喵酱的博客-CSDN博客 Docker 容器使用 | 菜鸟教程 linux应用docker基本使用&#xff08;一&#xff09;_做测试的喵酱的博客-…

29. 求出商品连续售卖的时间区间

文章目录 题目需求思路一实现一题目来源 题目需求 从订单详情表&#xff08;order_detail&#xff09;中&#xff0c;求出商品连续售卖的时间区间。 期望结果如下&#xff1a; sku_id &#xff08;商品id&#xff09;start_date &#xff08;起始时间&#xff09;end_date &…

鸢尾花书简介

鸢尾花书简介 鸢尾花书 系列介绍1《编程不难》2《可视之美》3《数学要素》4《矩阵力量》5《统计至简》6《数据有道》7《机器学习》 重要链接 特别棒&#xff0c;极力推荐&#xff01;&#xff01;&#xff01; 鸢尾花书 系列介绍 1《编程不难》 《编程不难》&#xff1a;https:…

win11预览版更新,并尝试使用Copilot

文章目录 win11预览版更新&#xff0c;并使用Copilot先说结果所需内容具体操作更新操作系统版本更新Edge安装ViVeTool v0.3.3 测试Copilot问题唯一优点 总结 win11预览版更新&#xff0c;并使用Copilot 先说结果 体验一言难尽&#xff0c;就相当于是一个快捷聊天提问窗口。 自…

C语言实现WiFi数据收发(电脑作为服务器)

功能实现&#xff1a; 手机与电脑在一个局域网&#xff0c;实现手机与电脑之间数据收发。 主要是用socket协议完成功能。 电脑作为服务器&#xff0c;手机作为客户端 编程环境&#xff1a; 电脑端变成环境&#xff1a;VC6.0 手机端WiFi助手&#xff1a; 核心代码&#xff1a; …

K8S平台应用安全(Secret Service Ingress)

平台应用安全 1 平台应用安全1.1 敏感数据1.1.1 应用数据1.1.2 Secret基础1.1.3 Secret案例11.1.4 Secret案例2 1.2 数据访问1.2.1 网络体系解读1.2.2 Service实践1.2.3 Service进阶1.2.4 Service解读 1.3 应用流量1.3.1 Ingress基础1.3.2 Ingress实践1.3.3 Ingress进阶1.3.4 I…

用Python实现黑客代码

前言 用Python实现黑客代码&#xff0c;根本关不掉的窗口 &#x1f4dd;个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列&#xff1a; ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开始学python 首先先介绍一下使用到的tkinter库 Tkinter 是 P…

通付盾联合嘶吼安全产业研究院共同发布《数据安全细分市场调研报告》并成功入选数据安全产业图谱多项细分领域,附报告!

7月4日&#xff0c;通付盾联合嘶吼安全产业研究院共同发布《时维鹰扬履践致远&#xff1a;数据安全细分市场调研报告2023》。 百炼露锋芒&#xff0c;本次《时维鹰扬履践致远&#xff1a;数据安全细分市场调研报告2023》聚焦数据安全市场细分领域市场规模、厂商玩法和产品竞争情…