说透性能测试:每个测试人都能学好的性能测试!

科技   2024-10-30 08:31   湖北  

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等工具分析解决内存泄漏、进程崩溃、性能下降等常见问题、如何找出潜在的问题根源等。


作者寄语

我希望用这门课把性能测试的全过程讲透给你听,不仅带你玩转工具,学会制定一个有效的性能测试方案,更在把工具做到极致的基础上,和你分享如何监控数据才能迅速定位问题,如何做性能调优,攻克性能测试的重难点。

也希望这门课可以帮助你成为一名更优秀的测试工程师,将性能需求的梳理、工具的使用、监控的搭建、问题的分析定位灵活应用到你的工作中去。

5、常见问题

Q:什么时候上课,以什么形式上课、上课持续多久?

  • 专栏正式开课时间:2024年12月22号

  • 报名时间:2024年10月30号~2024年12月22号(即日起,可报名)

  • 上课方式:腾讯会议在线直播授课,支持学员采用不同端随时接入上课。

  • 上课时间段安排:周一~周五晚上(20:00~21:30) 周六~周日白天 (10:00~12:00 14:00~17:00),平均每节课1.5~2个小时左右。

  • 专栏上课周期持续3个月左右,课程预计到3~4月份左右结束。(等你学完性能测试,刚好可以赶上节后金三银四换工作了)

Q:课程怎么收费?

性能测试专栏本期费用是4399元,目前是最低价,后期费用还会上涨,本专栏课程一次付费,学员权益永久有效,学习次数不受限,时间不受限制,一次学不会,可以免费进下一期专栏学习!学习课后有任何问题都可以咨询老师随时解答。

另外,针对本期专栏学员,提供额外福利,若节后在金三银四期间有需要换工作的学员,可以找老师进行单独一对一辅导(包括但不限于面试模拟、简历指导、职业规划等)。

Q:请问我该怎么报名?

A:直接添加老师微信:jinjian_762357658 ,或者扫描文章未尾二维码即可。在正式开学前,都可以报名,需要报名参加的,欢迎咨询联系老师。

Q:上课老师是谁?

狂师: 十多年职场老司机、布道师,有丰富的研发团队管理、研发效能提升、测试开发、研发过程改进经验,精通自动化测试、性能测试、安全测试、测试框架\平台建设等!先后在物联网、游戏、直播、金融、医疗等行业领域任职,担任过研发质量总监、高级测试经理、架构师、资深测试开发工程师等。

公众号「测试开发技术」号主、作者、2020年电子工业出版社畅销书《自动化测试实战宝典:从小工到专家》作者、博客园、CSDN、腾讯云、阿里云社区技术专家!

Q:没有来得及赶上直播课怎么办,有回放么?

A:有的,每次上课都会录制视频 ,上课方式采用直播线上授课+全程视频录制,万一有事无法来赶来上课,可以回看老师的上课视频。除了有上课回放视频,老师授课随堂笔记、上课演练代码都是可以分享给学员的。

Q:学完能包换工作涨工资吗?

A:本课程承诺用心教好技术、学习方法,但不承诺包就业、找工作,坚守秉承:“授人以授鱼,不如授人以渔”。只要你肯学,包教会这点是可以承诺的!

Q:课程有项目实践、会讲面试内容吗?

课程中会有大量的案例、课程的知识点基本都是面试会问到的,且会讲各种性能测试工作场景的解决办法、分析方法。

Q:有详细课表内容吗?

有的,有需要报名的学员,若需要查看详细课表的,可以添加老师微信,找老师咨询获取。

Q:报名联系方式

A:可以通过扫描下方二维码或者添加微信:jinjian_762357658 ,进行咨询课程报名。在正式开学前,都可以报名,需要报名参加的,欢迎联系老师。

关注公号后,回复「作者」试试

END

前3天报名学员,可免费参与自动化测试专栏课程学习,性能、自动化一网打尽!

测试开发技术
专注于软件测试开发领域: 开源技术、工具/框架/平台、自动化测试、性能测试、安全测试、数据爬虫、Python、CI/CD、DevOps、职场成长分享。
 最新文章