阅读本文大概需要 2.9分钟。
你好,我是测试小牛。
持续以来,帮粉丝看了成百上千份简历,发现一个共同特点,就是不管会不会编程自动化,每个人的简历上一定会有这块内容体现。
就算工作中没用到也会强行包装上去,无他,不然没有面试机会。但是每个人都这样,最后效果还是一样,简历千篇一律,毫无竞争力。
但是,我还发现一点,就是很对人对性能测试其实掌握是比较差的,大部分人都是停留在jmeter的工具层面的使用上,一问就是只会单接口压测。
所以给大家的建议就是,卷编程自动化不如去卷卷性能,反而更能体现差异性,让你的简历更具备竞争力!
下面贴一个性能测试学习进阶路线图吧!
第一阶段:性能测试本质上就是对接口做压力测试,所以就需要先掌握一个压测工具,推荐jmeter。
需要学习jmeter的常用组件,元件,参数化策略等等以及学习如何使用jmeter对接口做压测?
第二阶段:由于图形化压测需要耗费资源,所以可以使用命令行脱离图形化进行压测增加压力。
当单机jmeter提供压力不够时,可以学学分布式压测。除此之外,jmeter还可以学下基于beanshell等三种插件方式做二次开发,面试好装逼哈哈哈。。
第三阶段:分层监控学习:简单的使用命令监控服务器cpu,内存,磁盘,网络,会指标分析。
感觉不够直观可以学习下Promethues + Exporter + Grafana的搭建进行图形化展示指标,也可以监控硬件和数据库。
除此之外,还可以学习下SkyWalking做分布式链路监控,并结合钉钉做报警机制。
第四阶段:瓶颈定位分析调优:可以分析常见性能问题,如cpu飙升如何定位到代码级别?接口响应时间过长怎么分析?
sql慢查询问题等,也可以通过工具如Arthas定位代码链路问题等等,总之到这个阶段水就比较深了,常常需要跟开发配合一起发现解决问题。
比较厉害的是,你可以定位到代码级别,直接告诉开发哪行代码有问题,应该怎么优化,给出建议。或者可以定位到一些内存泄漏等方面的问题。
第五阶段:性能测试平台开发:能做到这个阶段基本就是开发了,性能测试中的大佬了。
一方面需要懂性能测试原理,另一方面需要懂前后端开发技术栈,前端vue,后端springboot,mybatis等那套东西。
当然上面都是一些偏技术性的,初此之外,还需要懂性能测试目标制定,场景分析制定,如何制定性能测试方案?这些就需要结合公司相关业务具体分析了。
对于很多互联网大公司来说,为了更好的满足公司业务场景跟使用合作的便捷性。一般都有自己的全链路压测平台,有的是基于jmeter做二次开发,套个壳子。
有的甚至完全脱离jmeter开发自己的平台。这个就看公司需求跟成本投入了。