全网最详细,性能测试各种测试场景分析+性能测试基准测(超细总结)

news2024/10/6 20:03:56

目录:导读

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


前言

面对日益复杂的业务场景和不同的系统架构,前期的需求分析和准备工作,需要耗费很多的时间。不同的测试策略,也对我们的测试结果是否符合预期目标至关重要。

1、性能测试-测试策略

性能测试实施过程中,针对不同的业务场景,我们经过分析和场景建模后,会选择不同的测试策略。下面详解覆盖了绝大多数的场景。

并发测试
模拟客户端请求,在单位时间内(S)同时发起一定量的请求,验证系统是否具有并发性的问题。

PS:不要无脑高并发!!!

负载测试
不断增加请求压力,直到服务器某个资源项达到饱和(比如CPU使用率达到90%+)或某个指标达到安全临界值(比如运维的监控告警阈值or拐点);

负载测试(也叫阶梯式压测)一般主要用来寻找性能的拐点,验证系统在既有测试环境不同的请求压力下能否正常运行。
示例如下:

请添加图片描述

容量测试
采用负载测试策略,验证在现有测试环境下被测系统的最大性能表现(可接受的最大性能表现,不一定是最优性能表现)。

极限测试
在既有测试环境下,不考虑资源占用率的极限情况(CPU使用率达到95%以上或IO异常繁忙或Load值较高),在系统不宕机的情况下的最大处理能力。

PS:由于被测系统的业务场景各不相同,这种策略,采用率相对较少。

配置测试
不断调整系统各方面的配置(软硬件、参数配置等),验证在性能达到最优时(最优的性能一定是权衡各方面因素找到的平衡点)的最佳配置。

浪涌测试
验证系统在某段时间内并发突增或请求量波动较大的情况下,系统能否正常稳定的提供服务。

PS:这种测试策略使用的也相对较少,主要针对不确定性的短期的峰值流量涌入场景(比如某微博的离婚、恋爱、分手话题)。

稳定性测试
以恒定的并发数(根据负载测试的结果,CPU使用率在70%时对应的并发数),验证系统在混合场景下的性能表现。

批处理测试
验证待测系统在既有环境下,系统的批处理(一般都是一个crontab或者触发式的job)业务能力能否满足生产的业务需求指标。

高可用测试
在集群多节点或分布式的情况下,破坏其中一个或多个集群节点,验证系统能否及时恢复服务能力。

2、性能测试-适用场景

以上几种测试策略,根据适用的业务&测试场景、采用该策略的目的以及场景出现频次来划分,仅供参考。

请添加图片描述

①中小型团队:常规的测试策略选型:并发、负载、容量、配置、批处理、稳定性、高可用策略,可以覆盖绝大部分需求。
②电商类业务:高并发、高可用、稳定性,是重中之重。
③业务场景:很多时候一个性能需求包含好几个业务场景,但并发、负载、容量、稳定性,建议都采用。
④需求场景:需求分析和场景建模做不好,测试结果往往偏差很大。
⑤压测环境:环境的调研选型,建议和生产环境等配置最小化部署,这是成本和结果精准度的平衡。
⑥测试数据:无论是数据量还是数据的有效性以及热点数据的覆盖率,都决定了测试结果的可参考价值。
⑦技术建设:基础架构(包括环境、服务部署、详尽的监控体系、问题处理流程)的完备,才能让性能测试左移。
⑧文档建设:一定要重视文档建设和数据留存,这样可以避免很多不必要的麻烦和重复性工作。
⑨平台化:平台的作用是对流程的规范以及多人协同工作的效率整合,不要过度追求平台化(但一定要有技术规划和方案准备)。
⑩不要无脑高并发!!!

3、性能测试-基准测试

通过设计合理的测试方法,选用合适的测试工具和被测系统,实现对某个特定目标场景的某项性能指标进行定量的和可对比的测试。

基准测试一定要在可控的条件下进行。

面对日益复杂的系统和不断增长的用户数,以及性能测试可能涉及到的多个业务系统,只有做到基准测试所涉及的业务场景、系统架构、测试环境等在可控状态下,

才能得到相对准确的结果,为容量规划、缺陷定位、系统调优提供参考和依据。

意义
为容量规划确定系统和应用程序的极限;
为配置测试的参数和配置选项提供参考依据;
为验收测试确定系统是否具备自己所宣称的能力;
为性能基线的建立提供长期的数据统计来源以及比较基准;

原则
测试策略:稳定且连续的工作负载,多次运行,看测试结果数据的正态分布趋势,尽量取平均值;
数据统计:真实环境下测试数据的平均值、峰值各是多少,取值的维度;
差异风险:明确存在哪些风险,风险对测试结果的影响,是否忽略;
特殊情况:有哪些特殊情况,是否有对应的解决方案(比如支付场景中的支付服务调用,是否采用挡板等);

需要考虑的因素
交易配比:某些业务场景,一个流程包含多个事务,在模拟并发中,不同的事务各自的占比;
突发性的读写操作:某些特殊业务场景,会有短时的大流量冲击或者请求数量骤减,该如何模拟(浪涌测试);
系统配置:不同环境的系统配置不同,测试结果如何换算、如何对比?
测试时长:测试执行过程中,运行多长时间,不同交易运行的时间分配等;
结果展示类型:平均值、峰值、百分比值如何展示,如何对比?
成功/失败占比:每次测试过程中,成功和失败的事务占比统计;
是否可重现:如测试过程中出现报错或某些异常情况,是否可以重现?
是否可对比:是否有其他测试工具或者测试结果进行对比(尽量多次执行测试,进行测试结果对比:标准方差、正太分布了解一下?)?

简单可行的方法
逐渐增加系统负载是一个确定系统所能处理的最大吞吐量的简单办法,也是寻找系统性能拐点的可行策略(阶梯式加压测试)。

重点
基准测试的工作重点是统计分析:

可以从以下几个维度去进行统计:
选择合适的测试工具,设定合理的测试方法以及需要确认的系统性能指标;
选择不同的测试工具,对测试结果进行对比,选择稳定且能反应系统真是性能表现的结果;
多次执行测试,收集大量的测试数据集和指标;
从不同维度解读分析数据,生成报告。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生活总会有起伏,但只要坚定目标、勇往直前,即使路途崎岖,也能走出一条自己的康庄大道。让我们勇敢追梦,不断超越自我,闯出属于自己的精彩人生!

人生如一场马拉松,不是跑得最快者胜利,而是那些能够坚持到终点的人最值得尊敬。保持努力和耐心,不忘初心,砥砺前行,向着目标奔跑!

世界上没有天生的强者,只有坚持不懈的人。无论前方有多少挑战和困难,我们都要勇敢面对,保持信念和毅力,坚定走下去,一步一个脚印,奋斗到底!

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

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

相关文章

【JAVA程序设计】(C00135)基于Servlet+jsp的旅游管理系统

基于Servletjsp的旅游管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本项目为基于Servletjsp的旅游管理系统:本项目分为二种角色: 管理员: 用户管理(增删改查)、线路管理(增删改查)、景点管…

对SRC并发漏洞挖掘的思考

对SRC并发漏洞挖掘的思考 1.burpsuite Turbo插件使用2.并发点赞测试3.并发验证码测试4.某代金券逻辑测试5.有限制的并发验证码绕过6.对于并发漏洞的思考 1.burpsuite Turbo插件使用 Turbo Intruder是一个用于发送大量HTTP请求并会分析其结果的Burp Suite扩展。它旨在补充Burp …

实景三维浪潮翻涌,新技术“席卷”石家庄!

5月11日,“全自主、全流程、全覆盖”2023实景三维新技术研讨会石家庄站暨航测与遥感学术交流会在石家庄凯旋金悦大酒店圆满举行。 本次会议由中国测绘学会、中国地理信息产业协会指导,河北省测绘学会、河北省地理信息产业协会主办,武汉大势智…

Grafana安装、升级与备份(02)

一、安装Grafana软件包 Grafana部署非常简单,直接使用yum命令从官网拉到安装再启动就可以了,本次使用的grafana版本为9.5.0 官网下载地址:Download Grafana | Grafana Labs # wget yum install -y https://dl.grafana.com/oss/release/grafana-9.5.0-1.x86_64.rpm # yum …

js:正则表达式常用方法总结test、exec、match、matchAll、replace、replaceAll、search

文章目录 正则使用testmatch/matchAll不加g加ggroup 的使用 matchAll不加g加g exec不加g加g searchreplace 正则使用 常用的几种方法有:test、exec、match、matchAll、replace、replaceAll、search test // 匹配返回true,不匹配false /e/.test("…

高通摄像头打不开报错SOF Freeze!

目录 报错日志 代码分析 报错日志 E/mm-camera( 647): <MCT ><ERROR> 95: mct_bus_sof_thread_run: Session 3: Hinting SOF freeze to happen. Sending event to dump infoE/mm-camera( 647): <MCT ><ERROR> 57: server_debug_dump_dat…

大模型来了,自动驾驶还远吗?关键看“眼睛”

感知系统是自动驾驶最重要的模块之一&#xff0c;被视为智能车的“眼睛”&#xff0c;对理解周围环境起到至关重要的作用。随着深度学习以及传感器技术的发展&#xff0c;感知系统呈现出迅猛的发展趋势&#xff0c;涌现出各种新技术&#xff0c;性能指标不断提升。本文将围绕感…

手撕机器学习算法--一步步推导-------NFL(没有免费午餐定理)

文章目录 前言一、NFL是什么&#xff1f;二、表现形式三、介绍四、手动推导 前言 其实机器学习也好&#xff0c;深度学习也罢&#xff0c;在我看来&#xff0c;代码编程终究是不重要的&#xff0c;因为现成的库&#xff0c;其数学原理&#xff0c;其公式推导才是我们需要理解的…

bind查找用法

inclue中的root 也取了名字 引用的时候应该是 引用外面的名字再引用里面的名字&#xff0c;包括rootview也是 binding.errorView.errorView.visibility View.GONE binding.errorView.statusHintIcon?.visibility View.GONE

绩效管理常见的7大误区,越用企业越走下坡路!

绩效管理是企业中非常重要的一个环节&#xff0c;但是很多企业在实施过程中常常会犯一些误区&#xff0c;导致绩效管理的实际效果和预期效果相差甚远。下面我们一起来看看企业中常见的七个绩效管理误区。 1、公司战略和绩效没有关联 绩效管理需要与企业战略相结合&#xff0c;…

【大数据学习篇7】小试牛刀统计并且分析天猫数据

本项目基于搭建大数据环境&#xff0c;通过将数据存放在HDFS上&#xff0c;从HDFS中获取数据&#xff0c;然后根据实际需求通过Spark或Spark SQL对数据进行读取分析&#xff0c;将分析结果存储到HBase表中&#xff0c;最终通过 ECharts数据可视化工具基于Python Web平台实现数据…

【深入浅出】条件概率的链式法则:定义、公式与应用

前言 在概率论的研究中&#xff0c;条件概率是一种非常重要的概念。当多个随机事件发生时&#xff0c;我们有时需要考虑它们同时发生的概率。条件概率的链式法则就是一种用于计算多个随机事件同时发生的概率的方法。本文将会介绍条件概率的链式法则的定义、公式以及应用。 定…

[集合论]集合与二元关系

目录 二元关系导图集合集合表示方法对等差等于两个集合的相对补的或关系 关系序偶与笛卡尔积笛卡尔积 ------不满足交换律 不满足结合律 关系条件 集合与关系划分与覆盖等价关系 (取余、等)商集 偏序关系---自反 反对称 传递(大于等于 小于等于 整除关系 包含 cover 幂集子集关…

入门网络安全,NISP真的有必要考吗?

一、NISP是什么&#xff1f; 国家信息安全水平考试&#xff08;National Information Security Test Program&#xff0c;简称NISP&#xff09;&#xff0c;是由中国信息安全测评中心实施培养国家网络空间安全人才的项目&#xff0c;由国家网络空间安全人才培养基地运营/管理。…

【Git 操作指南】| 撤销远程仓库的 push 以及 git commit 提交

目录 一、撤销 git push二、撤销 git commit 一、撤销 git push 执行git log查看版本日志&#xff0c;找到目标版本。执行git reset --soft <version numbere>&#xff0c;如git reset --soft d8cedc98e008e14a35d3faf424764648fb29d55b&#xff0c;重置为之前提交的版本…

stm32ADC采样结构参数和相关配置

ADC原理&#xff1a; 原理上是将采集保持器与DAC分开的&#xff0c;如下&#xff1a; STM32 逐次逼近寄存器型(SAR)模拟数字转换器(ADC) 但实际电路可将DAC与采集保持器合并&#xff0c;主要运用的原理就是电容电荷再分配&#xff1a; SAR ADC 逐次逼近型模数转换原理及噪声…

通俗易懂理解spark的DAG

DAG简介 百度百科对DAG的解释用一句话概括:无回路有向图。 Spark的DAG(有向无环图)是一个基本概念,在Spark执行模型中起着至关重要的作用。DAG是“定向的”,因为操作是按特定顺序执行的,而“非循环的”是因为执行计划中没有循环或循环。这意味着每个阶段都取决于前一阶…

分压电阻凑算工具

本工具用于电阻凑算&#xff0c;使用Python3开发&#xff0c;GUI使用Tkinter&#xff0c;无第三方依赖。 项目地址&#xff1a;leidawt/resistor_calculator 使用方法 计算分压电阻值 给定输入、输出电压&#xff0c;计算所需电阻比&#xff0c;根据电阻表选取最接近的电阻组…

Win10和Ubuntu20.04双系统安装教程详解

一.准备材料 U盘&#xff08; 容量>16G&#xff09;、刻录软件( UltraISO)、 Ubuntu 20.04镜像文件 二.查看电脑的信息 查看BIOS模式 "winr"快捷键进入"运行"&#xff0c;输入"msinfo32"回车&#xff0c;出现以下界面&#xff0c;可查看BIOS模…

C# XML的节点遍历、定位、编辑和删除(三)

文章目录 XML样例获取整个文档根开始获取根节点获取最后一个子节点在同级之间向前导航在同级之间向后导航查找节点获取多个节点编辑节点添加节点删除节点小结附录参考 在项目的实际应用中&#xff0c;有很多数据都会保存为XML配置文件。使用率比较高的操作有加载文档&#xff0…