何去何从?——从性能测试到全栈测试的思考

性能测试与结果分析

受合作伙伴邀请,在北京实施了一次《性能测试与结果分析》的活动,要谈的东西很多,所以几经思考罗列了这样的一个课程大纲出来。

目标:

针对有性能测试工具基础的同学深度分析性能需求、性能方案的设计开发、以及性能测试执行结果的分析思路。

对象:

测试工作1年以上,有半年左右工具使用经验的入门人员。

何去何从?——从性能测试到全栈测试的思考

内容:

第一天

一、性能测试原理基础

  • 协议捕获及报文结构简介

  • 性能测试工具简单使用

二、如何进行性能测试

  • 性能需求开发

    1. 如何协助用户开发性能需求

    2. 如何评估系统性能峰值

  • 性能计划及方案制定

    1. 性能测试计划的要素

    2. 性能测试方案规划

  • 性能测试环境搭建与容量规划

    1. 非生产环境的性能评估体系

第二天

  • 性能测试报告结果分析

  1. 性能测试常见指标

    1. 基础指标概念(响应时间,吞吐量,资源利用率)

    2. 常见指标与性能关系,监控及瓶颈原因

    3. 前端指标(页面加载时间,页面渲染时间,JS阻塞时间,First buffer)

    4. 后端指标(命中率,执行计划)

  2. Analysis中常见指标的分析方法

    1. 数据及指标生成原理

      监控数据方法及数据关系

    2. 常见图的分析模式

      依赖关系

      趋势分析

    3. 前后端分析及事务详解

      前端指标分析监控

      跳出性能测试工具的性能瓶颈分析

      后端事务细分及APM

      全链路事务分析

  3. 性能测试分析架构体系

    1. 常见分析模型

      理发师模型

      外科手术医生模型

    2. 如何实现层层剥离的性能分析

      探针与APM实践

  • 性能测试报告开发

  1. 性能测试报告目的

  2. 性能测试报告的结构和类型

  • 敏捷下的性能测试自动化

最后附上上课时的思维导图:

何去何从?——从性能测试到全栈测试的思考

在培训中和大家聊了很多思路,性能测试分析与调优是一个依赖于基础的工作,需要对被测对象的架构、实现原理进行深入理解,再配合监控和优化的思路。对于这些基础需要很长的时间来积累,而当前系统的架构越发成熟,在性能上可能出现的问题也越发减少,如何尽早的完成基准测试,为系统架构提供数据基础,是未来的价值所在。

专项性能测试工程师的需求会越发减少,性能测试更多会成为一个测试工程师的辅助技能。也就是所谓的全栈测试工程师

何去何从?——从性能测试到全栈测试的思考

为什么需要全栈测试工程师

其实从一开始就提到测试工程师本来就该全能的。因为在测试这个角度,放大了是质量这个角度,一切能够提高质量的工作都是测试人员应该涉猎的。就好像本来犯法就是应该惩罚的,这个还专门强调一下抢劫警车是犯法的一样,搞得不抢劫警车不犯法了。

在最近的这几年,测试看起来在蓬勃发展,但是其实整体的素质和能力却每况愈下。一方面是低端的没有突破,另一方面却是测试技术化。这里并不是说测试技术化不好,而是很多测试人员在为了技术而学习技术,并没有解决质量问题。更可怕的是测试人员对自己的要求从全能逐渐变成了业务,再从业务变成了点点或者是写写的两个极端。在这里对新手是一个非常迷茫的未来,上面的人都还在扑腾到底怎么玩,你让小白怎么知道自己该怎么玩?

全栈测试工程师的提出,其实只是换了个黄金马甲的测试工程师,但是它重新定义了测试人员的要求,就是啥都懂,这样才能在工作中真正的帮助别人发现问题、定义问题、解决问题,并最终找到质量人员的价值所在。

怎么培养全栈工程师

说实话个人觉得全栈工程师就好像武学奇才一样,培养无非两个方式。

  • 身负血海深仇

这里说的比较夸张,但是本身的意思就是环境所迫。在一个创业型公司或者某些运气不佳到哪里啥都得干并且毫无退路的,那么非常容易不小心成为全栈工程师。

比如先买个房,每个月欠着几千块的贷款,这个时候作为一个人能做的事情就是忍辱负重的接受一些别人的刁难和不停的逼迫自己走在最困难的道路上解决所有别人提出的问题,以免无法偿还贷款。

在这样的几年非人的磨砺下,为全公司的各个部门处理各种疑难杂症,非常就容易成为全栈工程师(例如在多家外包客户中经历重大疑难案例)。

  • 自己就是练武奇才

所谓自己就是练武奇才,是指个人有强烈的求知欲对所有一切的知识都有弄懂的兴趣和决心。

这种人不需要别人的督促,更多的时候他会自己主动的切换自己的舒适区,不断的要求自己懂再懂一些,因为深怕某些不懂当遇到问题的时候无法解决,从而不能平复心中的不安全感。

那么若干年后这样的人也会成为全栈测试工程师。

全栈工程师真的不全栈

最后想说的一点就是全栈工程师其实真的不全栈。什么都懂什么都不精是大家所熟知的谚语,本来学习东西就是有成本的,一个人的精力是有限的,要做广自然无法做深,这个本来就是矛盾的。

在任意一家公司的全栈测试工程师也是如此,公司团队强的,那么对全栈工程师的要求就会低,而公司某些团队弱的,那么自然全栈工程师会强。

问题解决的越多经验越丰富,所以全栈工程师只能对当前企业来说是全栈的,但是对于另外的企业来说未必,因为全能也是有针对性的。如同人无完人,条条大路通罗马。全能固然好,但术业有专攻也未必不是一条康庄大道。关键是你自己是否想做,想做了后是否喜欢做,喜欢做了后是否坚持做,坚持做了你就一定能够做到!

本文从性能说着说着就说到了全栈,其实全栈这个概念每个人都有自己不同的看法,可能有的人觉得全栈就是个噱头,但我就觉得它是未来发展的趋势。关于未来的东西谁说的准呢?

如果你对全栈测试工程师感兴趣,对各类测试技术都想掌控在手心,想走上升职加薪,迎娶白富美的道路的话,欢迎加我的Q群:680748947。测试不是闭门造车,只有和厉害的人一起交流学习才能看到自己的提升。在你还犹犹豫豫想着我要学性能、自动化、安全的时候,别人已经上路了。在强调一遍(加群:680748947)希望你能收获自己想要的未来!