13年老鸟总结,性能测试方法汇总+性能响应很慢排查方法(详全)

news2024/11/27 18:50:40

目录:导读

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


前言

1、性能测试包含哪些内容?

1)负载测试

负载测试是指在特定条件下,对软件产品的性能进行测试和评估。测试人员可以通过模拟不同的用户数量、并发请求、访问频率等条件,来评估软件产品在不同条件下的性能表现。

2)强度测试

强度测试是指在资源有限的情况下,对软件产品的性能进行测试和评估。测试人员可以通过模拟资源紧张的情况,例如限制CPU使用率、内存容量等,来评估软件产品在资源受限条件下的性能表现。

3)数据库容量测试

数据库容量测试是指通过插入一定数量的数据,来评估软件产品在处理大量数据时的性能表现。测试人员可以通过模拟大量数据的插入操作,来观察软件产品的性能表现。

4)并发测试

并发测试是指在多个用户同时访问软件产品时,对软件产品的性能进行测试和评估。测试人员可以通过模拟多个用户同时访问软件产品,来观察软件产品在并发访问条件下的性能表现。

5)容量测试

容量测试是指在一定的软、硬件条件下,通过构造不同数量级的记录数量,来评估软件产品在给定虚拟用户数量下的性能表现。

测试人员可以通过模拟不同数量级别的用户数量,来观察软件产品在不同负载下的性能表现。

6)稳定性测试

稳定性测试是指在软件产品运行过程中,对其性能和稳定性进行测试和评估。测试人员可以通过模拟实际场景,如网络故障、负载峰值等,来评估软件产品在面临异常情况时的性能表现和稳定性。

7)配置测试

配置测试是指在软件产品发布前,对其配置信息进行验证和确认的测试。测试人员可以通过检查和验证软件产品的配置信息是否正确无误,来确保软件产品能够在发布后正常运行。

8)网络测试

网络测试是指对软件产品在网络环境下的性能进行测试和评估。测试人员可以通过模拟不同的网络环境,如稳定的局域网环境和繁忙的广域网环境,来评估软件产品在不同网络环境下的性能表现。

9)安全测试

安全测试是指在保障软件产品的数据安全和用户隐私的前提下,对其进行测试和评估。

在进行性能测试时,还可以通过对软件产品进行压力测试来评估其在不同条件下的性能表现。

压力测试是通过模拟大量用户同时访问软件产品或系统,来测试其在高负载情况下的性能表现。通过对软件产品进行压力测试,可以发现软件产品在高负载下的性能瓶颈,并对其进行优化。

2、性能测试响应很慢怎么排查?

大多数的性能测试工作人员分为以下三个阶段:

1)出了问题看资源,资源占用如果很高,报以窃喜的心态,恩,发现了,原理是资源瓶颈。

2)资源没有出现瓶颈,通过一些技术手段分析,发现是组件的配置文件有问题,例如:server的并发策略有问题,带宽有问题,找到了线路短板性能中的短板,到了这个阶段在我看来是比较牛的测试。

3)以上均无问题的情况下,考虑数据结构和算法我个人接触到的来说,现在大多数的人员都是在仰望第二阶段,摸索第三阶段。

希望从代码级发现出性能的问题,进行问题的发现和解决,也符合我们的bug越早发现修复的成本越低的理论。同时,也是一名性能测试工程师高薪的象征。

性能测试调优哪些方面入手,如下几点:

TPS波动较大:

原因解析:出现TPS波动较大问题的原因一般有网络波动、其他服务资源竞争以及垃圾回收问题这三种。

性能测试环境一般都是在内网或者压测机和服务在同一网段,可通过监控网络的出入流量来排查;

其他服务资源竞争也可能造成这一问题,可以通过Top命令或服务梳理方式来排查在压测时是否有其他服务运行导致资源竞争;

调优方案:
网络波动问题,可以让运维同事协助解决(比如切换网段或选择内网压测),或者等到网络较为稳定时候进行压测验证;

资源竞争问题:通过命令监控和服务梳理,找出压测时正在运行的其他服务,通过沟通协调停止该服务(或者换个没资源竞争的服务节点重新压测也可以);

垃圾回收问题:通过GC文件分析,如果发现有频繁的FGC,可以通过修改JVM的堆内存参数Xmx,然后再次压测验证(Xmx最大值不要超过服务节点内存的50%!)

高并发下大量报错:

原因解析:常见的原因有短连接导致的端口被完全占用以及线程池最大线程数配置较小及超时时间较短导致。

调优方案:
短连接问题:修改服务节点的tcp_tw_reuse参数为1,释放TIME_WAIT scoket用于新的连接;

线程池问题:修改服务节点中容器的server.xml文件中的配置参数。

集群类系统,各服务节点负载不均衡:

原因解析:出现这类问题的原因一般是SLB服务设置了会话保持,会导致请求只分发到其中一个节点。

调优方案:
可通过修改SLB服务(F5/HA/Nginx)的会话保持参数为None,然后再次压测验证;

并发数不断增加,TPS上不去,CPU使用率较低:

原因解析:SQL没有创建索引/SQL语句筛选条件不明确、代码中设有同步锁,高并发时出现锁等待;

调优方案:
SQL问题:没有索引就创建索引,SQL语句筛选条件不明确就优化SQL和业务逻辑;

同步锁问题:是否去掉同步锁,有时候不仅仅是技术问题,还涉及到业务逻辑的各种判断,是否去掉同步锁,建议和开发产品同事沟通确认;

压测过程中TPS不断下降,CPU使用率不断降低:

原因解析:出现这种问题的原因可能是因为线程block导致,当然不排除其他可能;

调优方案:
如果是线程阻塞问题,修改线程策略,然后重新验证即可;

性能测试调优应该注意的要点:

要点 1:在应用系统的设计开发过程中,应始终把性能放在考虑的范围内。
要点 2:确定清晰明确的性能调优目标是关键。
要点 3:必须保证性能调优后的程序运行正确。
要点 4:系统的性能更大程度上取决于良好的设计,调优技巧只是一个辅助手段。
要点 5:性能调优过程是迭代渐进的过程,每一次调优的结果都要反馈到后续的代码开发中去。
要点 6:性能调优不能以牺牲代码的可读性和可维护性为代码。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

成功并不是一蹴而就的事情,它需要我们坚持不懈的努力和拼搏。只有通过不断的学习和积累,我们才能够取得实质性的进步和成功。

无论你在何处,无论你遭遇何种困境,都不应该轻易放弃。只要心中充满希望,总能找到解决问题的方法,走向成功的彼岸。

每个人都是一块金子,只是有的人在发掘中被埋没,有的人在冶炼中发光发热。所以,请勇敢展现自己的光芒,让世界看到你的独特之处。

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

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

相关文章

智能优化算法应用:基于麻雀算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于麻雀算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于麻雀算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.麻雀算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

火锅店管理系统外卖点餐配送小程序的效果

火锅是餐饮行业重要的组成部分,在每个地方都受到追捧,其从业商家众多,头部连锁品牌也不少,近些年行业市场规模也一直增加,而随着消费升级及数字化转型,传统火锅店经营痛点不少: 火锅店的需求非…

Unsupervised MVS论文笔记(2019年)

Unsupervised MVS论文笔记(2019年) 摘要1 引言2 相关工作3 实现方法3.1 网络架构3.2 通过光度一致性学习3.3 MVS的鲁棒光度一致性3.4 学习设置和实施的细节3.5.预测每幅图像的深度图 4 实验4.1 在DTU上的结果4.2 消融实验4.3 在ETH3D数据集上的微调4.4 在…

三轴加速度计LIS2DW12开发(1)----轮询获取加速度数据

STM32WB55开发.6--FUS更新 概述视频教学通信模式管脚定义IIC通信模式速率生成STM32CUBEMX串口配置IIC配置CS和SA0设置串口重定向参考程序初始换管脚获取ID复位操作BDU设置设置传感器的量程配置过滤器链配置电源模式设置输出数据速率轮询获取加速度演示 概述 本文将介绍如何驱…

智能优化算法应用:基于粒子群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于粒子群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于粒子群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.粒子群算法4.实验参数设定5.算法结果6.参考文献7.…

烧烤店点餐外卖配送管理小程序作用如何

烧烤是人们爱吃的食品之一,尤其到了晚上商业小吃街,烧烤店里往往是坐满了人,甚至还有排队的,从业商家众多,足可见该餐饮细分领域在市场中的欢迎程度。 而在实际经营中,烧烤店经营痛点也不小。 随着互联网…

注意力机制(Attention Mechanism)

目录 1. 简介:探索注意力机制的世界 2. 历史背景 3. 核心原理 4. 应用案例 5. 技术挑战与未来趋势 6. 图表和示例 7. Conclusion 1. 简介:探索注意力机制的世界 在当今的人工智能(AI)和机器学习(ML)…

Linux内核--内存管理(一)任务空间管理

目录 一、引言 二、基本概念梳理 三、用户态进程内存管理 ------>3.1、用户态 ------>3.2、内核态 ------>3.3、内存管理结构 ------>3.4、mm_struct ------>4.5、vm_area_struct 四、内核态结构 ------>4.1、32位内核态结构 ------>4.2、64位…

vue3+ts 兄弟组件之间传值

父级&#xff1a; <template><div><!-- <A on-click"getFlag"></A><B :flag"Flag"></B> --><A></A><B></B></div> </template><script setup lang"ts"> i…

【教学类-06-12】20231126 (一)二位数 如何让加减乘除题目从小到大排序(以1-20之间加法为例,做正序排列用)

结果展示 优化后 优化前 背景需求&#xff1a; 生成列表 单独抽取显示题目排序方法 存在问题: 我希望 00 01 02……这样排序&#xff0c;但是实际上&#xff0c;除了第一个加数会从小到大排序&#xff0c;第二个被加数的第十位数和个位数都会从小到大排序&#xff0c;也就是…

【电路笔记】-快速了电阻

电阻类型 文章目录 电阻类型1、概述2、电阻器的组成类型2.1 碳电阻器2.2 薄膜电阻器2.3 绕线电阻器 3、总结 电阻器是所有电子元件中最基本、最常用的元件&#xff0c;人们几乎认为电阻器是理所当然的&#xff0c;但它们在电路中起着至关重要的作用。 1、概述 有许多不同类型的…

2018年2月26日 Go生态洞察:2017年Go用户调查结果分析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

使用JS脚本刷点击率

使用JS脚本刷点击率 1.使用谷歌浏览器&#xff0c;登录国开平台&#xff0c;打开《管理学基础》课程导学的“学什么”&#xff0c;保证看得到右下角的“下一个”&#xff0c;然后在“下一个”右键点检查。 2.复制以下JS代码&#xff0c;在右上角“Console”标签&#xff08;…

C语言基础介绍

1. C语言基础知识 C语言是一种计算机编程语言&#xff0c;是一门用于编写系统软件和应用软件的高级语言。C语言的基础知识包括&#xff1a; 数据类型&#xff1a;C语言中的数据类型包括整型、浮点型、字符型等。 变量&#xff1a;C语言中使用变量来存储数据&#xff0c;变量必…

全球SAR卫星大盘点与回波数据处理专栏目录

近年来&#xff0c;随着商业航天的蓬勃发展&#xff0c;商业SAR卫星星座成为美欧等主要航天国家的发展重点&#xff0c;目前已在全球范围内涌现出众多初创公司进军商业SAR领域&#xff0c;开始构建大规模商业微小SAR卫星星座&#xff0c;其所具有的创新服务能力将为传统的商业遥…

【Android】Android Framework系列--Launcher3各启动场景源码分析

Android Framework系列–Launcher3各启动场景源码分析 Launcher3启动场景 Launcher3是Android系统提供的默认桌面应用(Launcher)&#xff0c;它的源码路径在“packages/apps/Launcher3/”。 Launcher3的启动场景主要包括&#xff1a; 开机后启动&#xff1a;开机时&#xff…

摄像馆服务预约管理系统会员小程序作用是什么

摄像馆不少人并不会经常去&#xff0c;除了有拍婚纱照或工作照等&#xff0c;一般很少会进店&#xff0c;但由于摄像涵盖多个服务项目&#xff0c;因此总体来讲&#xff0c;市场需求度还是比较高的&#xff0c;一个城市也有多个品牌&#xff0c;而传统门店经营也面临不少痛点。…

网络篇---第一篇

系列文章目录 文章目录 系列文章目录前言一、HTTP 响应码有哪些?分别代表什么含义?二、Forward 和 Redirect 的区别?三、Get 和 Post 请求有哪些区别?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男…

可燃气体监测仪助力燃气管网安全监测,效果一览

城市地下管线是指城市范围内供应水、排放水、燃气等各类管线及其附属设施&#xff0c;它们是保障城市正常运转的重要基础设施且影响着城市生命线。其中燃气引发的事故近些年不断增加&#xff0c;由于燃气管线深埋地下环境复杂&#xff0c;所以仅仅依赖人工巡查难以全面有效地防…

STM32-SPI3控制MCP3201、MCP3202(Sigma-Delta-ADC芯片)

STM32-SPI3控制MCP3201、MCP3202&#xff08;Sigma-Delta-ADC芯片&#xff09; 原理图手册说明功能方框图引脚功能数字输出编码与实值的转换分辨率设置与LSB最小和最大输出代码&#xff08;注&#xff09; 正负符号寄存器位MSB数字输出编码数据转换的LSB值 将设备输出编码转换为…