
前天晚上十一点四十三分,小徒弟发来语音,声音是哑的。
他对着师父讲,滴滴的那一场面试,他已经反复进行了三次复盘,可依旧想不明白是怎么回事。他提到面试官仅仅问了一个关于JMeter的问题,他给出的回答是压力测试,可接下来却被告知答错了。他自认为自己并没有给出错误的答案。
他没错。
这年头,没错,离“对”的距离,有时候是整个互联网那么宽。
面试官到底想听什么
他不是想知道JMeter是什么。
他是想知道——你拿这个东西,到底干成过什么事。
你去回答“压力测试”,仿若他人问你女朋友你对喜好在于她什么,你回应说那是因其长得好看。没错,然而听过这般回答心便凉了半截。
JMeter能接口自动化吗
徒弟说不能。
其实能的。但很多人不知道,或者知道也不敢说。
把CSV参数化、正则提取器、JSON断言串起来,让一百个接口排队跑,就跟撒网那样,捞回来的全是红绿报告。这若不叫自动化那叫什么?
仅只是我们老是觉得自动化必然得去写代码,必然需要Python与unittest,必然得好似一个有派头的大厂项目。
其实JMeter也能干脏活累活,只是它长得不性感。
那些面试官没问但希望你懂的事
能不能用200组不同数据压测?
可以。对于CSV Data Set Config,将文件名拖入,写上变量名,紧接着,两百组账号密码如同两百个真实的人,排着队伍向里面冲。
DDT是啥,JMeter里怎么用?
测试依靠数据驱动,也就是说就是,脚本之中千万别把数据写成固定不变的,一旦写成固定不变的,那你就失败了。
断言和JSON断言有啥区别?
响应断言像安检,看你有没有带打火机。
JSON断言像整容医生,盯着你鼻子垫了几毫米 。

关于那个尖峰测试

徒弟问我,师父,啥是尖峰。

我说你想象一下,双十一刚过零点那一秒,所有人都在点结算。

那不是浪,那是海啸。
给JMeter添加一个同步定时器,使得所有线程于同一毫秒进行撞门操作时,这便是所谓的尖峰测试。

面试官问这个,不是想听定义。

是想知道你见没见过真正的流量把服务器打跪的样子。

测试片段
很少有人聊这个。

像一个没通电的插座,挂在元件库里,没人用。

可当你存在着一百个接口,这些接口都得运用同一个登录认证,都采用同一套请求头,都遵循同一个断言逻辑,到了这个时候,你才忽然记起它来。

右键,存成片段。别的线程组,拖进来。
复用,才是工程师的尊严 。
为什么大厂喜欢问JMeter
不是因为这东西难。

是因为它简单,简单到你觉得它就是个压测玩具。
然而,切实使用过的人明白,JMeter具备测试接口的能力,拥有运行自动化的本事,能够拼接SQL以断言数据库,还能够提取Token并转接给下一个请求。
一个工具吃透三四个领域。

你不是在回答问题,你是在告诉他:我不只会拧螺丝。
小徒弟最后问,师父,那我下次再被问到,怎么答。

我说,你别背答案。
你去跟他讲:我曾借助JMeter开展了一回全链路压测,那时线上所预估的峰值是三千QPS,我配置了阶梯线程组,注视着聚合报告里的RT以及错误率,一直坚持到三千五的时候依旧没有崩溃。那天晚上我发布了一条朋友圈,仅仅写了两个字——。

稳了。
这就是面试官等了半天,没等到的后半句。



Comments NOTHING