乐趣区

关于软件测试:思寒漫谈测试人职业发展

应不少同学的要求,通过本文分享下对测试工程师职业倒退的认识,话题较大,不敢轻易乱写,抛砖引玉,仅供大家参考。

1.
测试行业倒退背景

微软引领的大测试时代
中国最早的对 IT 工程的启蒙和测试定位的摸索大多来自于微软。当年的大背景是微软成心放任 Windows 的盗版,并踊跃的输入他本身的 IT 生态技术栈到中国。中国从政府到民间简直全副应用了 Windows。中国有大量的微软认证的 VP 等各种专家。
微软和他的从属生态带给中国测试行业的影响,简略总结下:

  • 强调工程的严谨性。CMMI 一统天下。有数中国公司为了通过这个认证费尽脑汁。大部分公司通过它也不是为了本人的标准,而是为了能拿到政府或者国外机构的外包业务。
  • 测试和研发的比例。因为都是客户端产品。如果交付进来呈现品质问题是很难解决的。所以测试被放在一个十分重要的地位上。测试与研发比一度是 1:2
  • 外包公司倒退迅猛。短短的几年。中软,东软,软通能源,博彦等公司迅猛的倒退起来。
  • 测试技术的启蒙和倒退。次要是自动化为主。在十年前的年代,听一些前辈说,有公司做性能测试,就是有人用哨子吹下,而后一屋子的人就开始一起点。所以当 QTP 和 LoadRunner 呈现后,就迅速霸占了市场。
    当互联网世界开始暴发,测试行业的次要变动是:
  • CMMI 逐步被互联网公司疏忽。国内崛起的公司有本人的业务,他们不屑于不实用的认证,开启了本人独特的横蛮倒退的节奏。这也是之前在外企工作的白领有自卑感的一个起因。
  • 测试技术大倒退。不再是简略的自动化测试,技术开始更加细化。比方单元测试,代码动动态测试,接口测试,继续集成,各种端的自动化测试。大家也不再科学 UI 自动化,而分层自动化,继续集成,测试即服务等理念开始风行。
  • 测试工程师技术型转变。以前的测试工程师就是点点点,不会要求技术的。但当初 BAT 等一线公司曾经全副推广技术口试了。能够说,不懂开发根底的测试人曾经难以倒退了。点点点测试工程师曾经进化到只能用于用户端的性能校验工作了。
  • 测试研发比:从 1:2 降落到了 1:3、1:5。
    挪动互联网暴发,IT 研发技术栈和云计算服务也倒退迅猛,这让小公司的生产力有飞跃性变动,也催生了一场席卷寰球的守业浪潮。这股浪潮起源于硅谷,并迅速通过 ”Copy to China” 模式烧到了中国。另外一个是中国大环境的变动,导致了外资企业生存艰难,很多优良的企业都从中国撤退。
    这期间的测试行业产生了如下的变动:
  • 服务于国内企业的测试工程师开始增多。外包测试工程师,外企工作白领测试工程师都被外企撤退影响到了,开始逐步转到国内公司。外企工作的自卑感逐步丢失,国内的工程师开始崛起。
  • 麻利理念流行。SCRUM 和 XP 理念被迅速的遍及。Scrum 投合了产品治理的需要,XP 投合了工程化倒退的需要。各自倒退都很迅猛,而后逐步衍生了更深刻的 CI CD 和 devops 等模式。
  • 测试研发比。降落到 1:8 甚至更低。其实 BAT 都向往 google 的 1:10。只是国内目前做不到。
  • 大质量部模式被打散。为了进步运作效率,QA 或者测试工程师团队被逐步分拆到各个具体业务部门。大质量部模式隐没意味着测试工程师的倒退开始遭逢天花板。很多人还没能领会到这个模式带来的微小影响。
  • 测试技术新倒退。测试平台失去了很大的倒退。研发工程师,技术型测试工程师也开始逐步施展价值。比方新型的全链路压测,全链路追,测试监控,各种接口测试和 mock 平台,各种云测和专项测试平台。独立的测试服务公司也开始层出不穷。
    人类曾经进入 DT 时代。大数据,机器学习,深度学习,图形渲染等技术栈也曾经成熟了。随之而来会造成新的生产力并落地到测试行业,这个阶段大家刚开始感触到。我临时不做评论。
    之所以列举过来的行业变动,其实是为了通知大家,不要认为目前的模式就是行业的长期现状。目前不同企业依然是处于不同的理念和不同的历史阶段中。没有相对的对错,只有适宜与否。
    这些变动都是围绕着几条外围的主线倒退的:
    业务倒退带来了对品质和速度的谋求。这是整个行业倒退的主线。
    业务倒退的需要影响到了产品研发和测试。它和资本一样是贪心的,无时无刻不在谋求着冲破瓶颈。谋求更快更好的倒退。它决定着很多公司的生死和很多行业工程师的前途。研发,产品,QA 都是要为业务服务的。
    技术是生产力的重要组成部分,技术的倒退是自带加速度的。每次量变都会带来一些行业重大的变更。技术的成熟度决定了测试行业的成就能做多大。
    作为测试工程师要长于利用以后的技术栈打造合乎以后需要的解决方案。
    公司主体在谋求简略高效的治理上是永不止步的。技术和工具的每前进一步,就意味着组织沟通的能力在加强。治理这个方向会逐步的扁平化。高层治理会越来越少。一线治理会越来越多。
    作为测试行业比拟难堪的一点是大质量部模式模式的隐没,让测试行业的倒退开始遭逢天花板。如果 Hold 不住研发和产品,在测试行业倒退的人是没法往上有很好的降职的。
    我依据测试人才的根本属性并用理论的例子总结,依照 8 年跨度(08-16),总结了行业的一些典型人才的职业倒退现状(鉴于隐衷要求,含糊了相干数据,与真实情况略有偏差)。

我手里也有更多的数据,之前也始终想搞个决策树模型,然而始终没残缺的做进去。这次就先简略列举这几个典型个案,简要剖析下测试人的职业倒退关键因素。

  • 技术能力决定了你的薪资增长加速度。在月薪 1-3w 两头。技术能力助力会较多。
  • 治理能力决定了你的薪资阶层。月薪 2-5w 是管理层根本薪资。前面的要靠公司的股票和奖金。
  • 业务能力决定了你的位置和长期回报。对业务的把控决定你在团队的影响力和器重度,也关联期权和股票的数量。
  • 运气和抉择决定了你的人生轨迹。抉择的好就能取得最大回报。
  • 股票或者期权回报是超过工资的。抉择一家靠谱的可长久的公司很重要。
    作为集体倒退,我的倡议是扎实的晋升你的技能,造就好你的人脉和软实力。至于运气和抉择不必焦虑,如果你有能力,天然会有高人笼络你。比方之前就常常有敌人分割我,说是 XX 公司要发期权了,XX 公司要上市了,跟咱们一起干吧。人品好,技术好,大家都会喜爱与你为伍的。
  • 切莫在不该有的年龄谋求权力
    这会葬送你的整个前程。在一些面试场合,如果面试官问你愿不愿意做治理,如果你答复是,那么面试根本就挂了。肯定要确认面试你的人是不是真的心愿你走治理路线。大多只是测试你是不是真的是个实干家。
    过早参加管理工作也会导致集体技能倒退的不健全。这会为当前带来隐患。过于谋求势力必然也会引发办公室政治和各种利益奋斗。所以请审慎面对这个毒苹果。
  • 在薪资和工作机会之间做正当的衡量
    每家公司都有本人的薪资体系。你要参考这个数据来正当的确定本人的薪资,不要有空想。不要感觉他人因为某次胜利的忽悠拿到多就烦恼。
    一个优良而扎实的工作经验会让你受害毕生,会为你的简历增光不少。对于这种机会降薪也值得去。
    一个正当的节奏是,刚加入工作 1-2 年内次要是积攒能力,薪资能糊口即可。2-5 年,能够适当的跳槽谋求更好的待遇或者更闪光的工作履历。5 年以上,就是要物色好的机会一飞冲天了。
    如果跳槽太多,一些大公司也会十分的在意,会影响你的面试。比方工作教训不到一年或者两年就跳槽的人,很容易被 BAT 认为轻薄。
    鉴于过来的大局势变动,不懂技术的测试工程师会逐步被淘汰出局。一波测试工程师的就业潮是在劫难逃的。尽管晚期我也呐喊身边的人连忙脱离落后的业务体系,脱离落后的测试技能,然而看到很多人越来越生存艰巨,也是挺心痛的。
    包含测试工程师的需要越来越少,招聘职位也越来越少,典型的新崛起的巨无霸公司比方 Facebook 晚期都没有 QA。甚至前几年一度有 QA 团队是否值得存在的争执。外表看起来是测试行业衰败了。
    乏味的是,大家探讨 QA 团队是否值得存在的初衷,是为了更好的保证质量。这还是挺回味无穷的。绝大多数的公司,都是十分反对 QA 部门的存在的,问题在于 QA 团队的存在的价值到底是大还是小。
    过来古老的测试体系,落后的测试人员能力,简短的测试流程是被整个 IT 行业诟病的一个要害。当研发的生产力在逐步的晋升,运维的部署在逐步的自动化,QA 所带来的价值和消耗的老本就越来越不能漠视了。甚至成为了一个我的项目的最大的老本。
    这是任何一家公司都无奈漠视的问题。早年阿里巴巴的高管已经个体去硅谷访问新崛起的巨无霸,失去的论断就是他们的流程和执行力比国内强很多。甚至 Facebook 早年都没有 QA 就成长为大公司了。所以阿里就迅速推动了流程的裁剪。这部分包含裁撤 SQA,裁撤需要分析师,裁撤项目经理,削减 QA 名额。进入产品,研发,测试三足鼎立的最简模式。
    QA 会不会被撤掉也取决于这个部门的价值。所以不要想当然的感觉 ” 存在即正当 ”,当初局部的公司曾经在试验 ” 无 QA” 的模式了。互联网行业惟一不变的就是变动。
    比方一个典型的例子,在搜寻,举荐,机器学习等方向的算法测试是很重要的畛域,是须要业余的测试工程师参加的。这个行业能包容很多的测试团队。然而测试行业这些年就没造成对这个畛域的正确测试方法,后果最初失落了这个市场。当初都是研发本人保障了。因为找不到合格的测试工程师去保障这个业务。
    同样在性能测试畛域也是如此,随着性能测试平台,全链路压测,性能监控,AB Test,云压测这类技术和服务的呈现,性能测试工程师的需要也会放大。越来越多公司里的性能测试都曾经变成研发主导了。失落了这块的业务,性能测试 QA 的需求量天然会受影响。
    肯定要记住,业务空间决定 QA 的生存空间,这是所有行业都通行的情理。如果你不能满足业务需要,就会被淘汰出局,要么抉择退守进攻要么抉择敢于承受挑战。
    那测试行业的将来是什么样的那,很多人会放心。不过我还是整体乐观的。因为我喜爱整个行业,这些年也始终在进行一直的思辨。这里说下我的认识。
    从业人员规模跟生产力负相关,跟业务规模正相干。当前能有多大取决于技术和业务规模的双重因素。
    首先,是大环境因素。随着各种行业的互联网化,IT 行业在扩充,外卖,美甲,甚至是无人机汽车航天产业都将成为科技公司。研发的队伍会扩充,QA 的队伍天然也会整体扩充。前提是 QA 本人要跟得上时代。
    其次,是随着生产力晋升天然就不会须要这么多人的。哪个行业都这样,测试行业并不非凡。就跟汽车行业一样。早年堆人,而后堆工具,堆技术,上机器人,改良流程。
    行业技术改良,测试技术改良,测试工具和测试服务的改良,都会肯定水平进步了测试效率,缩小了老本。这种改良会导致 QA 的团队更精炼高效。
    人数多意味着大家的价值跟富士康工厂里的工人一样便宜。谋求高附加值才是正确的路。这对公司和测试团队都是双赢的。
    第三个因素是行业位置。Devops 的风行是推动了研发和运维的密切合作。一旦这个阶段实现,产品的生产部署会十分的晦涩。随之而来的就是问题会越来越早的裸露,大家对品质会更加的器重。到时候就会进入一个新的时代,DevQA。
    运维逐步会管道化,Dev 和 QA 会成为新的配角。只是到时候能撑大局的不肯定是当初的软件测试工程师了 会是新时代的测试工程师。
    测试行业会越来越业余。人才,技术,工具,开源平台,服务会越来越多。越来越欠缺。术业有专攻,专业化分工依然是大趋势。
    技术层面上也会有翻新。以前的测试只能留下测试用例和业务知识文档,没有什么连续性积攒。
    随着接口测试,品质监控,覆盖率剖析,业务建模等技术的冲破,QA 也会造成本人稳固可积攒的业务数据,并逐步造成本人的平台和业务。
    业务空间 + 技术门槛的双重因素,是我深信 QA 部门能长期存在的一个外围起因。
    简直大部分的互联网公司都在分拆业务和 QA 团队,从而进步执行力。所以治理上百人的总监职位会越来越少,而治理百人以下的总监会越来越多。不排除大量的巨无霸依然没有扭转。或者有些烧钱的初创公司倒行逆施。
    其中这些测试管理者会遇到一些新的挑战,比方更高层是研发出身居多。不懂研发体系简直没有倒退空间了。测试管理体系失去了上层建筑,对将来的影响还是深远的。会有阵痛,然而后果必定会是好的。
    起因是多方面的。大公司因为分拆的问题。不再有对立的测试技术撑持部门,所以分拆之后的每个团队都须要组建对应的职能团队,对测试技术人员的需要反而会增多。
    中小型公司也奢求质量保证成果,不止是要好,而且要求更快,也须要大量的技术人才。这几年通过各种招聘网站的招聘 JD 的形容也能看得出来。
    原来做欧美日韩外包业务的公司会因为国内互联网的倒退逐步式微,他们须要转型做国内。然而国内对外包业务也大多排挤,而且外包业务在效率沟通治理上都有诸多弊病。其本身也无奈承载对测试工程师的造就和长期倒退。所以这几年会有大量的外包测试工程师转型。
    这方面须要有新的优良的外包服务公司。能做到有本人的测试服务,测试技术和高级的测试钻研工程师才行。比方东软也开始做本人的各种云测平台之类的,就是一种为了投合新时代的变更。
    第一个是工作上曾经没有太大的降职空间。第二个是也很难跳槽。最好的后果是凭借多年的教训转治理。
    我跟行业的很多测试经理交换过,大部分工作超过 6 年的人,在测试执行上会倦怠,在测试技术的改良上曾经无奈入门,还不如招实习生。相对来说,有技术根底的人在工作 8 年以上依然会放弃本人的学习激情。
    所以将来测试团队的架构根本会是少数业务测试工程师 + 多数测试专家 + 测试经理的管理模式。
    以前不识字的是文盲,起初是不识英文的是文盲,在继各国呐喊增强对 IT 技术的器重后,新时代的文盲就曾经快是不懂开发的人了。
    以前处于发展期,行业对人才的奢求是第一位的。当初随着大公司倒退稳固,招人曾经稳固了。
    他们根本只在 211 院校校招。社招也看学历。初创公司多是融资烧钱为主,在学历上和经历上也是看的很高。可能不拘一格降人才的公司会越来越少。
    我之前举荐了不少同学去其余优良的公司,其中有一部分同学就是技术不错,然而学历未过关。所以心愿大家技能和学历上可能好好的器重这个问题。除了学历门槛,如上一条所说技术门槛也存在。所以加油吧,少年!
    测试行业通过本身的污染洗涤会有新生。典型的变动就是薪资从以前的 3k-15k 的范畴,整体晋升到 1w-3w 之间。
    技术含量的晋升,责任的晋升必然会带来整体的回报。当初测试工程师只有技术好,学历没问题。工作 3 年拿个两三万的月薪是很平时的。
    这些年整个 IT 行业对测试行业的倒退十分不称心,艰深点讲,大家都感觉测试很 Low,然而又不能没有。研发提交我的项目给测试的情绪就跟以前过年要去火车站排队买票一样。要申请测试资源,给测试解说业务和实现,遇到比拟 low 的或者新入职的,连搭建环境都不会,还得手把手教。
    研发只是批改一行代码,QA 或者测试那边就炸锅了。各种流程足以让研发头发都能掉好几根。
    作为参考比照,再思考下运维。当年部署个环境跟提交测试很像。要申请运维的染指,要申请机器资源,而后提交部署文档,还要明确根底环境,依赖库等各种细节的版本号。
    遇到本地公布环境不行之类的问题还得跟运维撕逼。当年运维行业还风行着一句,” 人 ” 才是最要害的公布保障者。
    而当初随着继续交付和 DevOps 的风行。公布都曾经做到 ” 丝般柔滑 ” 了,一键公布,自由选择灰度,平时的公布甚至都不须要运维参加。尝试了新模式的苦头后,对测试行业的弊病曾经很难忍耐了。
    所以在优良的测试工程师和测试架构师难找的状况下,曾经有越来越多的公司抉择间接用研发工程师来顶了。他们的谋求很简略。单测 -> 接口测试 -> 根底的冒烟测试,可能做到自动化就能够了。如果能像运维那样做成测试即服务就更完满了。
    我始终深信,QA 的价值是十分的大,测试行业在通过这次调整后也会倒退的很好。至于说将来能有多辉煌,就要看大家的致力了。
    测试行业和其余行业的倒退没有实质的区别。这些年都曾经规范化了。个别的公司都会有两条路线倒退。一个是 P 或者 T 简称的技术路线,一个是 M 的治理路线。
    每个方向都有很大的倒退空间,级别也是很多,年薪也是从 20w 到 100w 以上都有。稍大的公司大都是并行倒退的。小公司可能就只有治理路线可走了。所以做技术的同学,最好是在大公司倒退,去小公司就要适当调整本人工作重心。
    首先技能和技术只是过程,业务的品质才是指标。
    一个合格的优良的测试工程师,应该是能做到如下几点:
  • 懂业务。能扎实的保障业务品质。不排挤用脑力和膂力去保证质量。
  • 懂技术。可能做深刻的自动化或者剖析工作。可能利用工具和技术解决问题。
  • 懂架构。可能跟研发和产品进行失常的交换,保障产品需要和实现都没问题。能带团队走上更好的倒退。
    而随着麻利开发、DevOps、继续交付的风行,软件测试人员必须成长进阶为测试开发工程师,同时具备肯定的开发和运维能力。

测试开发工程师会通过测试左移,更深刻染指开发工作,提前与开发人员一起制订测试计划,推动代码评审、代码审计、单元测试、自动化冒烟测试、测试精准化剖析以及研发自测等来保障研发阶段的品质。
测试开发工程师会也通过测试右移,参加配置部署,将自动化测试用例配置到继续交付链中,并全流程监控公布后的利用品质。总之,作为 DevOps 要害角色,测试人员将推动开发和运维独特实现高效交付高质量产品的指标。
但这里想强调一点,并不看好只开发测试工具的测试开发工程师。开发一款测试工具,设计一个更好的测试框架,创造一种更先进的测试伎俩。这是个人成长带来的天然成绩,但不是指标。
很多人会感觉开发测试工具的测试开发是有前途的,其实也不是。只是他碰巧赶上了测试行业的技术转型期的须要。我记得在百度的时候,好多负责单测工具,单测框架的保护团队,常常凌晨两三点还在修复 Bug。然而几年过来,这些人的致力大多没有很好的回报。
这是因为他们做的事件脱离业务指标太远。一旦实现指标,他们也容易被“管道化”,成为边缘角色。这个行业除了极少数技术的狂热爱好者,可能找到本人在行业的技术位置外,大多数人都应该去追寻业务的倒退。业务才是测试的根基。
测试行业和以前的战国时代一样,成为一个统帅团队叱咤风云的将军,还是成为一个打造兵器满怀工匠精力的铁匠,都是值得尊敬的。在冷兵器时代排兵布阵治理就是王道,在热兵器时代下技术和科技是重要力量。这个须要看每个人的喜好和谋求。明确本人的倒退方向和喜好就能够。
对于测试技术路线,我的倡议是:

  • 多读书。能零碎的理解很多货色。
  • 多看他人的代码。他山之石可以攻玉。他人的开源代码外面藏着很多的教训和智慧。要长于学习。
  • 晚期多造轮子。这是一种一直演习的强化锤炼。能够强化本人的技能。
  • 多承当开源保护工作。尽可能的参加开源社区的保护工作。跟这些人的合作你能学习到很多有用的实际常识。可能强化本人的沟通协调和架构设计的能力。
  • 多泡论坛交换。闭门造车,敝帚自珍,固步自封都是没什么成长的。跟这些激进的人交换你也学不到太多。
  • 打怪降级。从部门里一件件的改良做起,实现把技术转化为生产力。
    以前纯做测试团队治理的人预计是很难适应互联网行业的变动了。可能要面临着诸多的挑战。须要增强本身的能力建设。
    不少早年做了治理的同学当初有些其实都开始悔恨了,弄的高不成低不就。景象就是总监升不下来。经理级别没亮点也不能降级别。业务倒退个别,团队也没变动,而跳槽最怕遇到口试或者技术测验。
    真正能做好测试治理的精英还是蛮少的。如果踏入这个行业,应该多关怀如下的事件
  • 能帮你做事的人才和团队:没有给力的队伍是做不好的。
  • “混圈子”:结识更高级别的 CXO。这是未来的倒退须要的。
  • 多读书:多学前人的治理和沟通教训,跟得上行业倒退的步调。
  • 修身养性:魅力、气场、名气、实力、人品都是取信于人的要害。
    治理绝对技术在大公司向上倒退是比拟难的。个别跳槽到初创公司是最容易变现的。比方一个 BAT 的测试经理,月薪不过是 2w 多的样子。跳槽到守业公司做测试治理。月薪就到 3w-5w 了。甚至能力下来,间接跳槽过来当高管和 CTO 的也不少。治理这块,我就不班门弄斧了。
    以上只是娓娓而谈,没有什么深度,仅供参考。因为帖子过长,原来提到的一些技术话题,我先临时剥离进来了,当前再写独立的技术篇。(end)
    【作者介绍】思寒,资深测试架构师,霍格沃兹测试学院校长,开源自动化测试工具 AppCrawler 作者,有 10 余年软件测试开发教训,曾任职于阿里巴巴,百度、雪球等公司。
退出移动版