首页 > 其他分享 >说透性能测试:每个测试人都能学好的性能测试!

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

时间:2024-10-30 09:47:29浏览次数:4  
标签:上课 模块 测试 性能 学好 监控 客户端

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月29号~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 ,进行咨询课程报名。在正式开学前,都可以报名,需要报名参加的,欢迎联系老师。

 

标签:上课,模块,测试,性能,学好,监控,客户端
From: https://www.cnblogs.com/jinjiangongzuoshi/p/18502995

相关文章

  • 单元测试如何测试私有方法_1
    单元测试私有方法的三种常见方式:1、使用反射技术访问私有方法;2、提升方法的可见性至protected或package-private进行测试;3、测试公共的接口间接验证私有方法。考虑到单元测试的目的和封装性原则,通常推荐第三种方法。详细介绍提升方法的可见性。这涉及到测试的可维护性与软件设计......
  • 测试方法
    测试方法分类静态测试方法不执行程序的测试方法主要用于测试文档和代码静态测试包括评审和静态分析方法可使用一些静态分析工具动态测试方法通过运行程序来发现缺陷的测试方法。黑盒测试方法(不涉及程序内部接口)功能测试,数据驱动测试,基于说明书的测试从用户观点出发......
  • 什么是MiL测试
    MiL测试,即模型在环(ModelintheLoop)测试,是一种在系统开发初期就能进行的软件测试方法。其核心是通过在计算机环境中模拟系统行为,找出可能的问题并进行修改。它的优点是可以在没有硬件的情况下,对软件的功能进行全面的、系统的验证。通过模型的测试,可以在开发初期就发现问题,这有助......
  • MySQLDBA修炼之道-测试篇
    八、测试基础1.基础概念数据库性能测试一般是指通过运行测试程序来衡量硬件或软件(编译器、数据库等)在不同架构下的性能。衡量数据库性能的主要指标包括事务吞吐率和响应时间。事务吞吐率是指数据库操作的速率,即每秒能完成多少事务,由于MySQLInnoDB默认的模式是自动提交,......
  • 文本列的性能优化?深入Oracle全文索引
    一.什么是全文索引?全文索引通过分析和处理文本,将文档中的单词分解为词条(tokens),然后存储词条与其所在文档的映射关系。这使得数据库可以快速定位包含特定关键字的记录,而不必对所有文本逐字匹配。二.实验CREATETABLEtest(TEST_IDNUMBER(6),TEST_NAMEVARCHAR2......
  • 【APP测试】ADB安装、常用命令、monkey的使用及日志分析
    前言原生和混合在市场上区分原生、混合开发原生:是区分安卓(Andriod)和IOS(C语言)。1.一个app有两套代码,两个不同的岗位去完成的。2.性能会更好、兼容性也会好3.开发成本高、时间慢混合:原生+H5。一般可以实现一套代码生成安卓版本和iOS版......
  • 重要webpack性能优化
    1.webpack优化打包构建速度-开发体验和效率优化babel-loader缓存:cacheDirectory,只要加了这个,es6代码中没有改动的就不会重新编译,集中缓存,加快速度。IgnorePlugin避免引入无用模块比如有个Moment.js库支持很多语言避免引入过多的语言,动态引入。noParse避免重复......
  • 单元测试,集成测试,系统测试的区别是什么
    单元测试、集成测试、系统测试各有专注的测试层面和目标。单元测试主要聚焦于验证单个组件或者模块的功能正确性、集成测试则是关注不同模块之间接口和交互的准确性、而系统测试涉及对整个完整系统功能和性能的全面评估。在详细描述中,我们可以深入探讨系统测试,它不仅包括功能性的......
  • 什么是埋点测试,app埋点测试怎么做?
    前言埋点测试是指在应用程序或网站中预设检查点,收集程序运行时的数据,以便于后续对程序进行性能分析或故障排查。埋点测试通常用于监控和追踪用户在软件产品中的行为,以收集有关用户体验、功能使用情况和潜在问题的数据。这些数据对于软件产品的优化和改进至关重要,有助于开发人......
  • #渗透测试#SRC漏洞挖掘# 信息收集-Shodan进阶之未授权访问
    免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。                            ......