性能测试怎么做?性能测试策略配套适用场景,打通性能测试...

news2024/12/23 13:45:32

目录:导读

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


前言

1、常见的测试策略

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

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

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

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

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

示例如下:

请添加图片描述

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

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

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

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

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

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

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

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

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

容错恢复测试:
验证系统能否在出现故障的情况下仍能保持正常提供服务的能力或出现故障后的自我恢复能力。

比如下面这张图:

请添加图片描述

a1面积越大,说明系统的处理能力越强;a2面积越大,说明系统稳定性越好;a3面积越大,说明系统的容错能力越好。

2、适用场景

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

请添加图片描述

3、性能测试经验之谈

中小型团队:常规的测试策略选型:并发、负载、容量、配置、批处理、稳定性、高可用策略,可以覆盖绝大部分需求。

电商类业务:高并发、高可用、稳定性,是重中之重。

业务场景:很多时候一个性能需求包含好几个业务场景,但并发、负载、容量、稳定性,建议都采用。

需求场景:需求分析和场景建模做不好,测试结果往往偏差很大。

压测环境:环境的调研选型,建议和生产环境等配置最小化部署,这是成本和结果精准度的平衡。

测试数据:无论是数据量还是数据的有效性以及热点数据的覆盖率,都决定了测试结果的可参考价值。

技术建设:基础架构(包括环境、服务部署、详尽的监控体系、问题处理流程)的完备,才能让性能测试左移。

文档建设:一定要重视文档建设和数据留存,这样可以避免很多不必要的麻烦和重复性工作。

平台化:平台的作用是对流程的规范以及多人协同工作的效率整合,不要过度追求平台化(但一定要有技术规划和方案准备)。

不要无脑高并发。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有你敢于追求梦想,你才有机会实现它。不要放弃,因为你无法预测成功的时间表。每一步都是向前迈进的机会。每一次失败都是学习和成长的机会。坚持不懈,你一定会到达你想去的地方。

只有付出才有收获,只有拼搏才有机会,让努力成为你成功的密码,让汗水浇灌你未来的花园,向着目标前行,不停追求进步,相信自己,你一定能成为更好的自己。

每天都是一个新的开始,不要放弃自己的梦想,努力奋斗,只有这样才能实现自己的价值和人生意义。无论前路多艰难,勇往直前,坚持到底,成功就在不远处等待着你。

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

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

相关文章

直流对数放大器

Logarithmic Amplifiers 对数放大器的应用场合 在雷达和一些其他测距的场合,sensor输出的信号的动态范围比较宽,也就是要求sensor输出的弱信号时有比较大的放大倍数,强的信号有较小的放大倍数,以保证sensor输出的信号经过放大器后…

可移动硬盘无媒体是什么意思?移动硬盘显示无媒体数据如何恢复

案例分享:【最近我遇到了一个麻烦,我的移动硬盘突然显示“无媒体”。我不知道发生了什么,我很担心我的硬盘中存储的大量重要数据是否还能恢复。我该怎么解决移动硬盘显示无媒体问题呢,求大神帮帮我吧!!&…

浏览器是如何实现生成HTTP消息的

我们经常会使用浏览器访问各种网站,获取各种信息,帮助解决工作生活中的问题。那你知道,浏览器是怎么帮助我们实现对web服务器的访问,并返回给我们想要的信息吗? 1. 浏览器生成HTTP消息 我们平时使用的浏览器有很多种&…

【强烈推荐】 十多款2023年必备国内外王炸级AI工具 (免费 精品 好用) 让你秒变神一样的装逼佬感受10倍生产力 (6) AI学习

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

【LLMs系列】90%chatgpt性能的小羊驼Vicuna模型学习与实战

一、前言 UC伯克利学者联手CMU、斯坦福等,再次推出一个全新模型70亿/130亿参数的Vicuna,俗称「小羊驼」(骆马)。小羊驼号称能达到GPT-4的90%性能 github 地址: GitHub - lm-sys/FastChat: An open platform for training, servi…

ChatGPT爆火网络背后的故事?

文章目录 前言一、ChatGPT的诞生背景二、ChatGPT的技术原理三、ChatGPT的推广策略四、ChatGPT的未来展望五、橙子送书第2期 前言 ChatGPT是一款基于人工智能技术的聊天机器人,它的出现引起了广泛的关注和热议。在短短的时间内,ChatGPT就成为了全球范围内…

实测|飞凌嵌入式OK3588-C开发板4G模组的使用与测试

本篇试用报告由发烧友 ouxiaolong提供,感谢ouxiaolong的支持。飞凌嵌入式会持续开展开发板有奖试用活动,更有京东E卡等着你!欢迎大家的持续关注。 飞凌嵌入式OK3588-C开发板是一款性能强劲的旗舰产品,采用核心板底板的分体式设计…

linuxOPS系统服务_Linux下用户管理

用户概念以及基本作用 **用户:**指的是Linux操作系统中用于管理系统或者服务的人 一问:管理系统到底在管理什么? 答:Linux下一切皆文件,所以用户管理的是相应的文件 二问:如何管理文件呢? …

JDK、JRE、JVM三者的区别

JDK(Java Development Kit):Java开发工具包 JRE(Java Runtime Environment):Java运行环境 JVM(Java Virtual Mechinal):Java虚拟机 (1)JDK和JRE 是…

Python海龟画图 几种基本图形

注:本文主要根据绘制步骤进行区分,实际使用时应当调节参数以绘制需要的图形。文中的步骤均为循环进行,循环50到100次,具体次数见代码示例。 1.前进小角度旋转 绘制效果如图,如果旋转角度为360的因数则绘制出多边形。 …

OJ Summation of Four Primes

1.题目 题目描述 Euler proved in one of his classic theorems that prime numbers are infinite in number. But can every number be expressed as a summation of four positive primes? I don’t know the answer. May be you can help!!! I want your solution to be v…

弹性盒子(display: flex)布局超全讲解|Flex 布局教程

文章目录 什么是弹性布局?弹性布局的特点?容器的属性justify-contentalign-itemsflex-directionflex-wrapflex-flowalign-contentorder属性flex-grow属性flex-shrink属性flex-basis属性flex属性align-self属性 什么是弹性布局? 弹性布局&…

我被今年就业难度震惊到了

随着毕业季到来,今年高校毕业生就业问题正在被越来越多的人关注。年年都是最难就业季,但今年却格外不同寻常的难。大家都知道 2022 年毕业生人数历史上首次突破千万。而今年毕业生人数,高达 1158 万人,史无前例的多。加上海外留学…

【Unity Shader】从入门到着魔(2)用C#画一个立方体

文章目录 一、构成一个立方需要多少个顶点?二、定义三角面的索引数组:三、定义UV坐标数组:四、最后构建Mesh:五、完整代码:一、构成一个立方需要多少个顶点? 这个问题是面试经常被问到的题。如上图,我们知道在几何中立方体有6个面,8个顶点。但在图形学中,顶点指的是模…

项目管理:制定项目计划,这些作用不可忽视

做任何事,做计划不可缺少,没有计划,就没有控制,编制计划可帮助项目管理团队提前进行思考。 制定计划后,还需要对项目计划进行跟踪,这样才不会让计划白做。 你知道项目计划进行跟踪,有哪些不可…

更新公告:Airtest更新至1.2.10.2版本

1. 前言 本次是Airtest库更新,版本提升至1.2.10.2,内容主要是Android录屏功能的改动。 2. 更改部分 在Airtest1.2.9中提供的cv2模式已经被舍弃,因为容易引发错误,效果也不如ffmpeg; 只有Android需要mode参数&#x…

java8 (jdk 1.8) 新特性 ——初步,发现不一样的新特性

前言 3202 年了,现在市面上的公司几乎都是 jdk1.8, 有也是极少数在用java7 , 即使是一些传统企业,在技术革新方面也很重视,毕竟现在是大数据时代 那么java8 有哪些新特性呢?换句话说为什么在码界 这么受欢迎!&#xf…

NLP:词义分布的空间维度——从文本符号到词向量表征

自然语言处理的前提是文本表示(Representation),即如何将人类符号化的文本转换成 计算机所能“理解”的表征形式。早期的自然语言表征主要采用离散表示。近年来,随着深度 学习的不断发展,基于神经网络的分布式词向量技…

对象存储?CRUD Boy实现对文件的增删改查

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! 对象存储是什么&#xff1f…

代码随想录算法训练营第五十九天|503.下一个更大元素II|42. 接雨水

LeetCode503.下一个更大元素II 基本思路:本题思路与739.每日方法思路相似,但是需要使用到循环数组,将两个nums数组拼接在一起,使用单调栈计算出每一个元素的下一个最大值,最后再把结果集即result数组resize到原数组大…