首页 > 其他分享 >性能测试入门实践路线图

性能测试入门实践路线图

时间:2023-04-05 10:11:06浏览次数:41  
标签:入门 性能 路线图 实践 技术 测试 工具 团队

我转行做软件测试工作已有八年多了, 从功能到自动化测试,然后负责性能测试团队和质量团队的技术专项治理,再到测试专家角色,负责整个技术项目的产品/运营和质量保障工作。

其中性能测试和线上稳定性保障,算是我最擅长的技术领域。很多同学咨询过我,性能测试如何入门,如何快速提升压测和性能优化相关的技能。

我写了很多文章分享性能测试相关的干货文章,但发现还是有很多同学迟迟无法入门,对性能测试的认知依然停留在使用工具压测然后统计数据出报告就完事的层次。

这篇文章,我想结合自己的实践和技术成长经历,聊聊性能测试如何从入门到落地实践的路线图。

 

导图

性能测试从入门到落地实践的路线图,我会以下面这张图为示例来分开描述。

 

方法论

有句话叫做“工欲善其事,必先利其器”,我想在后面补充一句:“欲利其器,必晓其理”!

我觉得无论任何一种知识或者技术领域,想要很好的在这个领域有所收获,一定要先掌握这个领域的理论知识,并且对相关的底层通用知识有所了解,否则在深入实践时会遇到很多认知上的偏差导致的结果南辕北辙。

基础理论知识不难学习,网上一搜很多基础理论知识的介绍,或者某些专业书籍上面都有很多关于理论知识的介绍。

学习理论知识不需要死记硬背,理论知识的作用在于让我们对性能测试有一个足够和全面的了解,知晓其脉络骨骼,然后按照方法论的指导,在具体的实践中灵活运用。

而通用的底层知识,对IT行业相关的技术从业者来说,无非就是网络协议、编码语言、数据库存储和操作系统相关知识。

这些知识基本是几十年前就有的,到现在没怎么变化,预计未来也不会有大的改变。

业务场景

我在前面的文章多次提到了我对技术和业务的认知,就是技术本身没有直接的价值,它一定要通过业务目标的达成或者商业活动的变现,才能体现自己的价值。

我们所有的测试活动开展,也是基于具体业务场景,因此在掌握基础理论知识后,开展性能测试的前提一定是要对业务场景有足够深的理解。

工具组件

技术不断发展带来的最大的优势就是出现了多种类型的工具,而工具的作用就是辅助人提高做事情的效率,性能测试也不例外。在实际的压测实施前后,借助工具可以事半功倍的完成性能测试工作。

上图的几种工具组件,下面列举几种供参考:

  • 压测工具:jmeter、gatling、locust、ghz、perfdog、airlab、sysbench;
  • 监控工具:zabbix、cat、skywalking、jaeger、prometheus、grafana;
  • 分析工具:arthas、SystemTap、jconsole、visualvm、操作系统自带工具;
  • 服务组件:常见的如redis、kafka、tomcat、feign、apollo、nacos、mybatis;
  • 系统架构:性能测试的对象是各应用服务及技术组件,需要了解整个系统的调用关系,因此熟悉被测系统的系统架构和数据流是做好性能测试工作的必须项;

技术实践

其实性能测试只是一个统称,现在大家更习惯称之为容量测试或者容量保障。

性能测试本质是一个特别吃经验的活儿,需要大量的项目实践和踩坑排查问题,定位分析优化问题,才能累积丰富的技术经验和案例。

上面我列举了几个具有代表性的技术实践类型,其实本质都是为了保障线上服务的稳定性。

体系建设

性能测试或者说任何的技术实践,做到最后都是建立体系,体系是基于理论指导的适合自己的支撑业务目标达成的最佳技术实践。我个人认为体系建设最重要的五点要素如下:

组织结构:技术团队的人员构成、新人落地、人员培养、知识库建立以及团队目标和分工;

流程规范:好的流程规范是保证团队大部分人可以遵循同一个目标和方向前进,降低内耗;

技术体系:技术团队一定要做自己的技术体系搭建,从技术选型、demo验证到技术落地以及持续优化;

沟通协作:现在很多工作单靠自己是无法完成的,需要多人协作甚至跨团队合作,因此高效的沟通协作机制很重要;

性能文化:其实不仅仅是性能文化,每种技术实践都有自己提倡的文化,比如测试的文化就是质量+效率。文化的本质就是团队所认可并且践行的一种理念,一种有益于业务、团队和个人利益的追求。

 

其实无论哪一门技术领域,都需要先了解理论,才能更好的实践。所有的技术都是服务于业务,一切以业务目标为导向的开展技术实践。

技术的最大价值就在于,支撑业务更好的发展而体现自身的价值。 技术实践到最后,构建最适合自己团队和业务目标达成的体系,并且需要持续改进。

 

标签:入门,性能,路线图,实践,技术,测试,工具,团队
From: https://www.cnblogs.com/imyalost/p/17288890.html

相关文章

  • 测试
    •有一家日式连锁餐厅。••你就职于运营公司的市场部。••几乎所有门店工作日的夜间客流量都不理想,店铺整体的收益性难以提高是公司长年以来所面临的难题。••刚好前几日,为了找出应对之策,公司进行了市场调查。••你入职后,公司分配给你的第一个工作就是根据调查结果找出“怎样才......
  • 走进Java接口测试之Mock(概念篇)
    引言实际工作中,测试人员可能会遇到如下情况:场景一:依赖接口不通,甲开发A模块,乙开发B模块,甲的进度比乙快,但A模块的方法依赖于B模块,要测试A模块接口怎么办?场景二:异常数据难模拟,当需要测试接口一些异常数据,接口正常情况是否无法提供异常数据的。那么如何简便地构造接口的异常数据?场景三:......
  • Systemd入门(1)
    Systemd并不是一个命令,而是一组命令,涉及到系统管理的方方面面。$systemctl--version#命令查看Systemd的版本。**systemctl是Systemd的主命令,用于管理系统**#重启系统$sudosystemctlreboot#关闭系统,切断电源$sudosystemctlpoweroff#CPU停止工作$sudosyste......
  • ChatGPT推荐最常用的自动化测试、性能、安全测试工具!
    ChatGPT是一种当前被广泛关注的人工智能技术,它具备生成自然语言的能力,能够完成一些简单的文本生成、对话交互等任务。ChatGPT算法的出现,打破了以前自然语言处理的瓶颈,使得机器具备了更加贴合人类想法的表达能力,也让人类在处理海量自然语言数据面前得到了很大的帮助。而ChatGPT也......
  • ioc入门案例
          1、pom.xml引入spring<dependencies><!--引入spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId>&l......
  • lua快速入门~在js基础上,知道Lua 和 Js 的不同即可
    ☺lua和javaScript差不多的,就是一些语法的细节不同,学过js,再注意一下下面的细节,就能上手了~快速入门,可以直接看一下菜鸟教程的lua:https://www.runoob.com/lua/lua-tutorial.htmlLua和Js的不同Lua概述Lua概述Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码......
  • 对于数组和指针的关系的测试
    #include"stdio.h"//验证数组和指针的以下一些关系//1.一元数组名本质上是数组第一个元素的地址,也是数组的地址//2。数组中存在a[2]=*(a+2)//3.数组在传递的时候传递的是数组名,也就是传递的是它的地址intmain(){intc[3]={1,2,3};int*a=c;//此时的a表示c数组......
  • 一篇文章教你从入门到精通 Google 指纹验证功能
    作者:SunDaxiangGoogle从Android6.0开始,提供了开放的指纹识别相关API,通过此篇文章可以帮助开发者接入指纹验证的基础功能,并且提供了系统应用基于指纹验证的功能扩展,如指纹验证登录功能核心流程图和关键代码分析。一、基础篇从Android6.0开始,Android系统支持指纹识别功能,指纹......
  • Puppeteer 入门与实战
    作者:WangZhenzhengPuppeteer是Chrome开发团队2017年发布的一个Node.js包,提供了一组用来操纵Chrome的API,通俗来说就是一个HeadlessChrome浏览器,这HeadlessChrome也可以配置成有UI的。利用Puppeteer可以做到爬取页面数据,页面截屏或者生成PDF文件,前端自动化测试(模拟输入/点击/......
  • 开源好物推荐:全栈测试平台RunnerGo
    做软件测试的同学在工作时应该都碰到过这种情况:接口管理、接口测试用postman、Apipost等接口管理工具,性能测试用jmeter、loadrunner等性能测试工具,接口自动化则是jmeter脚本或者python脚本配合jenkins使用。这种情况极大的降低了研发效率,今天给大家推荐一款入选GiteeGVP的开源测......