尴尬的性能测试岗位——顺便聊聊“点点点”

性能测试工做不尴尬,可是性能测试岗位很尴尬。前端

从我这里的讲述中,但愿你也能看到其余测试工做的影子,但愿你对“点点点”再也不迷茫再也不抑郁。算法

本身水平有限,望你们多多批评。数据库

性能测试的工做内容

这方面的资料不少了,我也不是权威,说不全的。
大体流程:浏览器

  • 和需求提出方沟通要测什么,测试的目的等,是否真正须要性能测试。讨论测试的方案是否可行,好比一个页面图片是否是能够过滤掉,单压一个接口是否是就能够了。
  • 肯定测试的环境,测试的人都是谁,测试的时间,同时谁来准备测试数据。
  • 根据测试工具如Jmeter或者LoadRunner等等肯定写脚本,调通脚本。
  • 执行脚本即压测,同时观察压测的现象。压测中要本身掌握控制压测的时间和量,时间短了不行,量过大太小都不行。
  • 分析压测的现象,本身能分析最好,本身分析不了就找别人分析,现象是否达标。
  • 若是不达标,要定位性能瓶颈问题,这是最考验技术功力的。
  • 将性能瓶颈问题的修复作回归测试。通常或者是改代码或者是改环境配置。
  • 发送测试报告。

最有含金量的部分

  • 第一无疑是分析压测现象和性能调优,包括环境调优。
  • 第二是讨论沟通需求,不过每每实操中这一步都很水,主要是由于测试没啥话语权。
  • 第三是写脚本和准备数据和准备环境(若是有)。
  • 第四是执行脚本时配置的并发数等参数及其含义。

性能测试报告

实操中,测试报告每每是很水的一个环节。两种状况讨论:安全

  • 系统性能很差还在修改中,这时候不用发测试报告,还没改好呢发什么报告浪费你们时间。
  • 系统性能好了才须要发送测试报告,性能都好了啊,其实解释一下数据就好了。

那么对测试报告的核心要求很简单,就是:界面精美权威高大上。性能优化

里面的折线图重要吗?已经不重要啦,调优的时候真的重要,但出报告的这个时候这些指标咱们已经不头疼不care了。
里面的数据结果集重要吗?重要,因此要醒目。服务器

因此对测试报告,最重要的就是数据结果集展现,就那么两行结束,其余都是辅助,来证实测试报告的高大上,来证实性能测试工做的难度和工做量。
因此懂行的不管谁最关心的应该是调优,那些仅仅关心测试报告形式内容的甚至穷追不舍的通常都很low。网络

前期性能测试需求的沟通

网上去搜这个,确定是一堆要点而且要有数据计算,好比全天的用户量是多少,用户的活跃时间在哪里,高峰用户量是多少,二八法则等等。
实际上这些都是很理想化的东西,真正压测起来确定会变成:性能越高越好。
这个也是好理解的,谁都想要最好的,同时最后越过最优性能才知道系统瓶颈在哪里才能调优。
因此,懂行的不管谁最关心的应该是极限压力测试,容量测试仅仅是附属品,任何仅仅纠结于容量测试的通常都很low。架构

同时测试地位的局限,面对一些明显是不合理的高要求根本没有反驳的余地,答应就是了,等着现实打脸就行了。
其实也没啥讨论计算的地方,总结一下,前期的需求沟通,每每就是知道要测什么了,告诉开发预期不要过高,就这样。并发

例如,我曾经遇到前端每传入一批新参数就要在数据库中建立新表,就这种奇葩的架构方案还要高性能,我也是答应而已,坐等现实啪啪打脸。

性能调优的通常内容

性能调优的技术栈

简单说说性能测试的核心,性能调优包括环境调优。这里不教你怎么调优,而是聊聊调优的技术树。
以Java为例,看看调优要掌握什么:

  • 底层Linux。
  • 基本硬件知识,SSD和磁盘,CPU和内存知识。
  • 虚拟化技术。
  • 网络协议,网络基础。
  • 关系型数据库,NoSQL,队列,文件服务器。
  • JVM,即Java语言的特性。
  • 线程和进程
  • 系统架构知识
  • 语言算法
  • 公司业务

看到这一堆,你发现了什么?

  • 我根本就没提测试工具的使用!神圣的Jmeter LoadRunner Locust等等这些哪去了?
  • 和开发的技术要求基本同样,甚至包括部分运维的技术树,甚至超过开发的技术宽度。

说实话,某些开发的Jmeter用的比测试还666666,难不成技术树里我还得写上IDEA/Eclipse吗?一个工具而已。

一个性能测试没有性能调优能力会怎么样

简单暴力的就是没地位,这种技术水平的地位甚至都不如Jmeter一个软件。

  • 出了问题背锅确定有你。
  • 得了荣誉大头确定没你。
  • 平时交流diss的就是你。
  • 要点儿资源特别费劲。
  • 学习的态度吧,人家开发忙起来了根本顾不上你。

聊聊测试和开发的关系

以性能测试,性能调优为起点,从工做重合度这个角度聊聊测试和开发的关系。

测试说俗了,就是给开发擦屁股的。
这里思考下如何擦的都满意,那块给你擦,为何给你擦(捂脸)。

开发不屑于作的

开发根本瞧不上的,就是这活若是开发本身干了人家是以为浪费时间的。
典型的是“点点点”这种工做,还有各类外包测试同窗干的活。
固然“点点点”这种工做也能点出门道,这后面提,这里领会精神。

开发能作可是没时间作的

性能测试,部分自动化测试工做属于此类。
这也说明了,若是你性能优化水平很low,那开发原本没时间作的让你给整成不得不作了,能给你好脸色吗?
一些简单的自动集成,自动化部署环境,自动化接口测试等,人家开发本身能作只不过交给你了而已。

开发不必定能作好的

测试开发,部分自动化测试,测试架构师。
测试开发各类工具平台,开发真不了解需求啊,而开发能力你们又是平手,那他真没把握抢测试开发的饭碗。
自动化测试用例代码虽然通常,可是用例真心复杂,思惟仍是要有的,而且极可能存在语言不一样,通常作不了。

能督促开发工做的

质量专员,安全测试,白盒测试。
开发以前我就告诉你这么作有质量风险,你这种架构不安全,得改的这类的。
白盒测试如代码覆盖率的测试,不是说随便发个报告就能够了,而是真的看到代码的缺点。
不过质量专员很虚,这里不作深刻探讨。
安全测试我还不够了解,感受也稍微虚。

总结

最值钱的其实就是后两种,越是开发作不了的越值钱。

测试工做如何值钱

全方位的测试用例设计

千万不要小瞧测试用例的设计,一个登陆页面的测试用例设计甚至能写出来上百种(举例而已领会精神)。
而用例设计须要考虑的包括但不限于:

  • 安全测试用例
  • 性能压力测试用例
  • 兼容性测试用例
  • 弱环境测试用例
  • 特殊功能性测试用例

这须要测试人员对架构,业务,性能,安全,浏览器/手机客户端等等要有一个充足的了解。
就算不充足,至少有些方面要有比开发了解。

简单来讲,你要测出开发想不到的地方,“点点点”也会值钱。

技术能力强

粗暴的理解,就是,不管什么时刻,怼开发不带怂的。

就说性能调优吧,你能直接找出性能瓶颈,甚至以此diss开发水平,指导开发的修改方式,我以为就不简单了。

开发对待技术的优点每每是深度,测试每每是广度。这个不展开讨论了,你们应该有共识。
固然这个须要长时间的积累,技术无止境。

沟通能力强

很少解释了,测试比开发更须要沟通能力。

业务

你要知道了解开发也掌握不到的业务,好比开发只知其一不知其二的这类。
固然业务很虚,我立刻解释为何。

对测试来讲,业务为何很虚

并不是针对全部的行业,也并不是针对全部的测试人。这里只谈谈通常状况。

开发流程

一个正常的开发流程,需求的路径从上到下有:

  • 需求提出方
  • 产品经理
  • 开发
  • 测试

很简单就能看到,测试存在于业务的底层。

谈谈测试比开发懂业务的可能性

是可能的。
可是想一下,需求是产品经理给开发和测试的,你怼开发,开发说是产品让这么干的,而后你怼产品?
有了业务矛盾,开发会听测试的仍是产品的?

谈谈测试比产品懂业务的可能性

  • 需求自己就是产品本身提的

人家本身创造出来的业务,被你测试给生生怼回去了,可能吗?

  • 需求是来自需求方提的,产品设计的

你测试和需求方沟经过了?你要怼,可能吗?

业务会因跳槽而抛弃

不解释了,太虚。

聊回性能测试的尴尬

  • 性能测试是开发有能力作可是没时间作的。
  • 性能测试几乎不涉及业务。

就这两点,除非性能测试人有特别高超的技术能力,其他都不会受内部重视。

同时性能测试工做时间是高度集中和高度碎片化的,每每这个岗位在公司内是做为兼职。

最后

性能测试要求高可是每每不值钱,但愿你们据个人思考能获得一二。

但愿各位对性能测试工做有个认识,同时也能理解什么样的测试岗位才有可能值钱。
但愿各位“点点点”再也不轻易迷茫抑郁。

同时,薪水和岗位是匹配的,技术能力不能彻底决定薪水高低。
这里也是粗浅的分析思考,技术不能万能的,但没有技术是玩不转的。

须要软件测试资料的小伙伴,能够来加群:747981058。群内会有不按期的发放免费的资料连接,这些资料都是从各个技术网站搜集、整理出来的,若是你有好的学习资料能够私聊发我,我会注明出处以后分享给你们。

相关文章
相关标签/搜索