Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >震撼推荐!性能测试全攻略:零基础也能玩转性能测试!

震撼推荐!性能测试全攻略:零基础也能玩转性能测试!

作者头像
测试开发技术
发布于 2024-11-22 05:37:23
发布于 2024-11-22 05:37:23
1890
举报
文章被收录于专栏:测试开发技术测试开发技术

1、提起性能测试,你的第一反应是什么?

当提到性能测试,你的第一反应是什么?是不屑一顾,认为它很简单,没发展前途、没技术含量?还是觉得它太难了,高不可攀,每当遇到系统的疑难杂症时,抓耳挠腮,无从下手?

很多IT从业人员,认为"性能测试仅仅只是测试的工作,会用压测工具,出一份测试报告就完事了"。

在我过往的工作经历中,我也看到过很多测试同学在简历上写着:“熟悉 JMeter 的基本使用和性能测试。” 但当我在面试时问:“性能测试的基本过程是怎样子的,你是如何开展性能测试工作的?”很多人会说“就是用 JMeter 做一下脚本,得到了一堆数据,整理出一份报告就行”,至于”如何监控数据?“、”需要监控哪些数据?“、”为什么要监控这些数据“,”如何从数据中分析是否存在性能瓶颈“这样的问题,回答就更是模糊不清了。

下面我列举了几个常见问题,大家可以自行对照自检一下:

  • 只知埋头执行,但不清楚如何制定与评估性能测试目标是否合理有效。试想一下,如果不会制定有效的性能测试目标,那测出来的数据也没有什么参考价值,因为你不知道能不能满足上线需求,也不能准确地评估线上风险,做完了性能测试依然留有一大堆问题。
  • 认为掌握了性能测试工具就等于掌握了性能测试,且工具使用不得其法。在性能测试过程中,工具若使用不恰当会极大影响到性能测试的结果。我见过很多因为工具使用不当导致的客户端瓶颈,让处理能力未达到预期的情况。很多测试没能及时发现是工具的原因,导致自己的专业能力备受质疑。
  • 应付任务式开展性能测试,报告中堆砌了一堆指标数据,但并不明白数据中的关系,不会定位和分析性能测试结果性能测试真正的价值,并不在于你用工具完成了一份报告,而是通过对过程和结果的分析找到症结,帮助团队有效提升产品性能。如提升了多少 TPS,降低了多少响应时间,节约了多少硬件成本,等等。性能测试得到的数据并不能直接用来分析系统瓶颈,你只有通过监控去观察系统存在的异常点,然后根据异常点来重点监控相关组件,由表及里、层层深入才能找到根本原因。

上述指出的这些问题,归根结底是:由于现在很多人做性能测试只是在用工具写脚本、跑压测,最后出来一个结果,至于什么是性能测试,性能测试的过程是什么样的,性能测试目的、价值是什么,缺少系统性的认知。而行业中相关资料良莠不齐,参考价值不大,又影响了个人的职业发展和意愿。

2、为什么要学性能测试?

目前,大部分专业的性能测试从业者一般都分布在各大互联网公司,这些公司对性能有着切实的需求,也具备深耕性能测试技术的土壤,所以往往能培养和聚集一批优秀的性能测试从业者。那是不是说,其他公司就没有性能测试需求了呢?并不是的。

这几年,测试开发这个职位火了起来,许多公司招测试时都是在招测试开发。虽然招聘的不是专职的性能测试人员,但任职要求水涨船高,往往都需要你能够进行非功能测试,如性能测试、自动化测试。

所以对于你来说,学习高阶技术不仅在于提效,更在于能在学习过程中,了解更新的思想、更先进的理念,能对业务问题有更深刻的认知。从而在每次弯道超车时,都能知他人之不懂,擅他人不所长。

如今行业竞争愈发激烈,测试人员需要掌握越来越多的技能。对你来说,能多学会一门专业技能就可以胜任更多的工作,更可以“去同质化”,拥有更强的竞争力,拥有更多就业选择和升职加薪机会

3、性能测试是个专业活,覆盖多方面知识

性能测试并不只是要一个结果,更多的是要从部署结构、代码链路、业务上下游等多角度来综合考量。

事实上,性能测试不仅包括测试,还包括监控、分析和调优。就像看病一样,既要有诊断,还要有治疗。测试是初期预判,分析是调优的过程,调优则是分析的目的,这三者首尾衔接,缺一不可,只有将这三个环节加起来,性能测试才有价值。

而且,性能测试作为非功能测试,是一个非常有价值、有成就感的工作,当你遇到性能瓶颈时,不是简单地说“去硬件扩容”。如果你的建议不只是简单地增加服务器成本,而是能够通过自己的定位和分析,以及一轮轮的调优和测试提升系统处理能力,一定更能够彰显你的技术视野,体现你工作的价值。

比如,知道系统的响应时间很长是不够的,我们还要知道如何优化响应时间,以及到底要优化到何种程度。然而摆在很多人面前的问题是,道理我都懂,可我就是不会分析、调优啊!

因此,为了帮助广大测试从业同学,以及想系统化提升性能测试专业能力的同学们,特新开设了一个性能测试专栏课程《说透性能测试:每个测试人都能学好性能测试》!

在这个专栏中,作者将自己的性能工作经验以及所吸取的经验教训凝结成了一套体系化知识。打破传统观念,告诉你性能测试的真正含义和内容到底是什么,并通过实际场景,一步步教给你分析场景的思路:从何处入手?都有哪些环节?每个环节中要注意哪些点?用具备指导性的理论、以及经过实践验证的方法论让你获得工作上的认同和产生价值回报。

4、性能测试专栏是如何设计的?

性能测试中的很多标准其实都是非常主观的,网上有很多推导公式、二八原则之类的概念,如果不结合业务实际,盲目地学习,然后把这些作为性能测试的标准打开方式,很可能是有害无益的。

因此,本课程注重实战,以使用场景为导向,帮助你建立一个体系化的性能测试知识体系,专栏共分七大模块,不仅包括完整的服务端性能测试,还覆盖Web前端性能测试、App客户端性能测试、PC客户端性能测试、一个专栏,全端覆盖。

1、模块一:性能测试工程(开篇破冰):3节课

在第一个模块中,作者将利用3节课的时间,澄清性能测试常见误区以及讲解性能工程的基础概念、难点、痛点、包括性能测试企业完整流程、性能测试体系演进以及建设路径、需要具备哪些方面的能力,通过以终为始,帮助大家开篇建立正确的性能测试认知观

详细课程安排:

2、模块二:服务端性能测试(内功心法):18节课

在第二个模块中,是开启你从普通测试到专业化性能测试的进阶必备之路。

在这个模块,共安排了18节课,我会聚焦正式开始性能测试之前应当明确的事情:如何制定性能测试指标;参考数据有哪些,怎么获取;常见的性能测试场景有哪些,如何通过这些场景来提高性能测试的覆盖率,等等。这些都是性能测试方案的组成部分,只有制定了正确的性能测试方案才能做出有效的性能测试。通过这一模块的学习,你可以理解性能测试的每一步,而不只是机械地执行上级派给你的任务

除此之外,课程还包括了服务端的基准测试、并发测试负载测试、稳定性测试、容量规划测试、全链路测试、中间件性能测试、网络性能测试、流量录制回放等各类性能测试如何开展、实施方法等。

详细课程安排:

3、模块三:服务端性能测试(工具实战):19节课

在模块三中,重点以工具实战为主,将以JMeter作为主线,讲解性能测试工具的方方面面,JMeter 作为目前最流行的性能测试工具之一,它具备较为完善的基础功能,还具备丰富的可拓展性,因此这一模块我将带你玩转 JMeter。

你在这里不仅仅能学到如何使用 JMeter开展性能测试,还能学到 JMeter 的二次开发和调用 JMeter 的 API 完成性能平台开发的基础步骤。二次开发可以让你了解如何通过 JMeter 提供的接口进行拓展,实现自己的定制化需求,而掌握平台化的操作可以极大地提高团队协作效率。

通过性能测试工具的实际操作演练,对应模块二中性能测试内功心法的前后逻辑关系,通过本模块的实战演练学习以便确保工具的使用及结果是为性能测试需求指标和性能分析报告而服务的,而不是浮于表面的“炫技”

详细课程安排:

4、模块四:服务端性能测试(监控调优):11节课

这个模块是性能测试的难点与核心,两大重点:

  • 分层监控体系建设:监控和问题定位,包括如何做硬件监控、系统链路监控,如何打造可视化的监控报表。监控是性能测试必要的步骤,是你发现性能问题的“眼睛”。
  • 性能分析调优实践:在前面提到,性能测试的标准常常是主观的,过往经验有时候不能照搬。因此,我会从服务端、中间件、数据层三个角度带你了解如何定位和优化问题,比如实际的瓶颈判断的过程是怎样的,怎么分析出根本的原因,如何从问题表象定位到热点方法,探究追溯问题本质,如何提出具体的解决方案。

详细课程安排:

5、模块五:客户端性能测试(Web端):15节课

模块五以Web前端性能测试为主,按照顺序依次讲解Web前端性能体系总览、前端性能测试基本概念、前端性能测试常见场景、Web前端性能指标获取(白屏、卡顿、网络延迟)、数款主流Web前端性能测试工具使用、前端性能监控体系、监控预警系统建立建立、Web前端分析调优、Web前端性能专项如何开展等。

详细课程安排:

6、模块六:客户端性能测试(App端):14节课

模块六以App客户端专项性能测试为主线,包括App客户性能测试工具大全、App常见性能指标获取、涉及内容有App启动时间专项、CPU占用率专项、内存消耗专项、流量消耗专项、流畅度FPS专项、App弱网测试专项、UI渲染测试专项、以及App性能测试工具自研等相关技能。

详细课程安排:

7、模块七:客户端性能测试(PC端):7节课

最后一个模块重点讲解PC客户端性能测试,包括常见的PC客户端性能瓶颈、PC瓶颈识别的方法与分析技巧、PC客户端性能优化的原理与方法。

内容包括如何分析生成的转储文件(DMP)和日志数据,如何结合实际案例,利用DebugDiag、WinDbg等工具分析解决内存泄漏、进程崩溃、性能下降等常见问题、如何找出潜在的问题根源等。

详细课程安排:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【性能系列连载一】开篇:性能测试不可不知的“干货”
提起性能测试,可能很多互联网从业人员会感觉比较混淆(不仅仅只是测试人员会弄混淆,很多开发人员、管理人员对性能测试也都是一知半解)。性能测试,它是属于测试领域一个专业细分领域,其涉及到的范围和所需要的技能也是非常广而精,从大的类型来划分,常见的它又被分为:
测试开发技术
2020/01/17
7690
【性能系列连载一】开篇:性能测试不可不知的“干货”
1-性能测试入门
谷歌开发的一个免费的网页分析工具,在地址栏中输入被分析的网站 url 地址,点击分析,
zx钟
2021/03/24
6370
性能测试从零开始实施指南——性能监控篇
性能测试过程中,监控分析和调优是最核心也是占比最大的一部分。性能分析的目的是找出系统性能存在的瓶颈与风险,性能调优就是尽可能用更少的资源提供更好的服务。而其关键点,就是生成负载、监控相关指标。性能测试前期的需求调研、开始前的准备工作,都是为了保证后期的监控分析调优能顺利且高效进行。那么,一个完整的监控体系,需要包含哪些?这篇文章,聊聊我在工作实践中如何监控,以及比较完善的监控体系,都包含哪些指标和工具。。。
老_张
2019/12/02
8240
性能测试,你知道什么是99线吗?
- 场景:(性能测试)场景是若干个基于 HTTP/HTTPS 的 URL/API 的组合。URL/API 可能关联了数据文件表示不同用户。不同的 URL/API 表示不同的业务含义(比如登录、加入购物车),最终组合成一个接近用户各种真实行为同时具备一定用户量级的压测模型。
互扯程序
2020/02/11
4.5K0
测试开发:你所需要掌握了解的性能测试知识
大多数测试人员在谈到性能测试时,往往会倍感压力。对于我来说更是如此,想做好性能测试需要庞大的知识体系,不断实践所总结的经验教训更是弥足珍贵。而且每个人对性能测试的理解都有独到的地方,此次有幸参加全栈测开训练营在狂师老师的指导下逐步揭开性能测试得神秘面纱,结合课堂学习及自身消化理解后的,归纳了一些性能测试的基础知识,希望对大家理解性能测试有所帮助。
测试开发技术
2021/07/21
6290
来聊两块钱的性能测试
作为一枚测试,或多或少都做过or听说过性能测试。说到性能测试,第一印象可能是高大上,因为它涉及到评估系统的性能、稳定性和可靠性。确实,性能测试水很深,如果玩得比较溜就能发展成性能测试专家、架构师级别。
测试蔡坨坨
2023/08/18
3720
来聊两块钱的性能测试
软件性能测试(连载3)
在图3-13中,测试环境与工作环境在一起,既使得别人的正常工作不能进行,也使得测试的数据不准确。在图3-14中,测试环境各个客户端在两个不同的网段下进行(这里是C类网),大家都知道跨网段是需要路由的,路由里面有软件,会干扰性能测试的数据,从而也会造成测试数据不准确。图3-15的环境是正确的。所有的性能测试机器都在一个网段下,且与工作环境相隔离。
顾翔
2020/02/19
7550
软件性能测试(连载3)
性能测试的流程及常用工具介绍
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
宜信技术学院
2019/09/12
1.4K0
性能测试工具基本工作原理及基本操作流程
  性能测试:是指在特定情况下测试系统如何执行的。资源的使用、可扩展性和可靠性也是性能测试的范畴。性能测试是性能工程的一个子集,主要发现软件架构以及设计导致的性能问题。
顾翔
2020/02/13
8461
[性能测试]性能测试基础
概述 在软件测试行业中,性能测试是确保软件质量的一项关键措施。随着IT技术的发展,性能测试显得越发的重要,各企业的需要也越来越大,同样的对其技术的要求也高。 为什么要做性能测试 性能测试的主要目的是向项目干系人提供关于系统的可伸缩性、速度和稳定性方面的信息,这将有助于项目干系人在推出产品之前对系统进一步进行优化改进。 如果一个系统未经性能测试就上线,有可能会出现许多的错误,包括低速、不同操作系统的不一致、崩溃等等异常。 随着用户对产品体验的进一步要求和市场竞争进一步加剧,没有一个好的性能表现
苦叶子
2018/04/09
5840
性能测试
随着5G时代的到来,以及万物互联时代的到来,云应用和云服务会越来越多,数据量会指数级增长。尤其是2020年全球疫情的时代意义,会导致各行各业开始上云。从而会催生出极具个性化的各类产品的诞生。
派大星在吗
2021/12/05
4.2K0
学习性能测试需要掌握的知识面
于是吸引了大量的测试爱好者来学这方面的技术,而一谈到性能测试很多人便会想到鼎鼎大名的LoadRunner这款优秀的性能测试工具,然而到这里问题就产生了?
软件测试君
2021/05/31
6900
如何有效的选择性能测试工具
下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 在过去的几十年里,用于性能测试的自动化工具发生了巨大的改变,从胖客户端到Web架构,以及随着移动互联的激进的发展,越来越的应用以移动互联的方式来提供服务。 相应的性能测试相关的自动化工具所需提供的功能也越来越面向Web和移动开发,而不再是支持传统的二层架构中常用的技术了。 尤其是,这是年开源社区的大
苦叶子
2022/03/04
4250
性能测试知识总结
(下面很多指标术语在不同的语境下可能会有不同的含义,在评价性能指标时,通常是指他们能够达到的最优值。比如吞吐量是指服务能承受的最大吞吐量。)
windealli
2018/09/28
1.7K0
如何解读性能测试监控结果
下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 在性能测试系列前面几篇文章中我们比较详细的介绍了相关的知识 从终端用户感受来体验性能指标度量 如何建立有效的性能指标监控及诊断调优体系 如何有效的选择性能测试工具 简单谈下性能测试 jmeter性能测试实践注意事项 如何进行有效的性能测试 所有性能相关的文章,均会同步发布至性能测试专用公众号,
苦叶子
2022/04/21
6380
如何解读性能测试监控结果
揭开性能测试的神秘面纱
大家好,我是洋子,相信刚学习软件测试的同学都听说过性能测试、压力测试、负载测试、稳定性测试等等,在日常性能测试工作中,我们不用太关心这四者之间有什么区别,因为压力、负载、以及稳定性测试都是属于性能测试的范畴
Bug挖掘机
2022/09/28
4130
揭开性能测试的神秘面纱
高级性能测试系列《31.性能测试工具:wrk》
「loadrunner」:商业版loadrunner, 要付费购买并发用户数,脚本是c语言,性能比较好,性能指标值比较准确,性能测试的标杆软件。
清菡
2022/12/02
9930
高级性能测试系列《31.性能测试工具:wrk》
性能测试中会遇到的瓶颈
性能测试这种测试方式在发生过程中,其中一个过渡性的工作,就是对执行过程中的问题,进行定位,对功能的定位,对负载的定位,最重要的,当然就是问题中说的“瓶颈”,接触性能测试不深,更非专家,自己的理解,瓶颈产生在以下几方面:
顾翔
2020/09/04
2K0
10大主流性能测试工具推荐
市面上流行的压力/负载/性能测试工具多是来自国外,近年来国内的性能测试工具也如雨后春笋崛起。同时由于开发的目的和侧重点不同,其功能也有很大差异,下面就为您简单介绍10款目前最常见的测试产品。
jackey422
2019/12/28
7.1K0
10大主流性能测试工具推荐
软件测试流程(完整版)
单纯从功能测试层面上来讲的话,APP测试、web测试在流程和功能测试上是没有区别的 根据两者载体不一样,则区别如下:
全栈程序员站长
2022/06/26
2K0
相关推荐
【性能系列连载一】开篇:性能测试不可不知的“干货”
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档