须要说明的是,原文发表于做者的公众号中,文章篇幅虽长,但内容朴实、且能帮助读者进一步理解测试开发工做,请读者耐心品完~
公众号开通了也有两年多了,除了刚开通的那段时间发文比较频繁以外,从去年上半年开始,几乎不多再去打理了,翻了翻历史推文,从时间频率来说,基本上平均2~3个月才更新一篇文章,工做忙虽是一方面,但这也只是借口,归根缘由仍是不够坚持。架构
最近一直在思考,当初为何要开办公众号?有些读者可能会想:“是否是就想弄个渠道引流打广告!”,上周确实也帮朋友在公众号内作过一两次专栏推荐,但我想说的是,虽然有些小部分推文有些推广的成分,但请试想一下,推荐给你们的学习专栏,都是实实在在能帮助你们提高本身技能、打造职场竞争力的有用课程,并非无用的。常常有周边同事或者读者跟我说:“你怎么会懂得那么多种类的专业知识啊,而我本身啥都不会,但又不知道怎么学,怎么办呢?”,我想对这些人说,放开畏难情节,养成持续学习的习惯,这样知识技能的积累才能愈来愈多、越积越厚。如今社会上有不少人,喜欢投资房子、投资脸蛋、投资享乐,固然这些都没有错,但真正的长期投资,应该是投资本身,知识的投资对于本身来讲,才是永恒属于本身的。框架
前面说了那么多,更重要的仍是想呼吁你们懂得投资学习,投资本身。回想当初为何要开办公众号,我想最根本的初衷目的仍是想提供一个分享交流的平台,在帮助他人的基础上,也是经过这种方式来倒逼本身要持续不断的输出本身的思考、输出本身的实践积累。运维
所以笔者打算从新激活公众号,并计划后续每周都能有一至两篇的原创文章分享给你们(保底至少一篇),也算是给本身设定的一个小目标!小目标虽然不能像王健林那样霸气,随口就是五个亿,但这个小小的目标至少也是对本身的一个短时间成长促进。微服务
从新激活公众号,做为开篇,写点啥呢?公众号以前的名称叫【技术大全】,以为这个名称范围太大,一时间也很难让公众号的内容涉及到技术方方面面,因而思考良久,在上周从新定位了公众号的受众和做用,更名为:【测试开发技术】,旨在围绕分享以质量保障技术、测试开发技术实践及行业发展、工做思考等。既然公众号取名为:测试开发技术,做为开篇,不妨先聊聊分享一些笔者对于测试开发岗位及工做的一些理解。工具
测试开发是近几年行业中一个流行词,但有不少人并不太理解测试开发的工做和意义,认为测试开发岗就是成天写写自动化测试、开发出一些高大上的测试平台、测试工具出来。而且从近几年行业发展趋势来看,愈来愈多的公司都设立了专门的测试开发团队,也所以愈来愈多的传统手工测试从业人员都想转型到测试开发岗。性能
手工测试从业人员想转型成为测试开发,从想法上并无错,所谓“人往高处走”,但不少人转型前,并不理解测试开发真正意义是干什么的,甚至不明白本身为何要转型,大多数人是看到如今行业中愈来愈多的人往测试开发岗转型,所以也跟着随波逐流罢了,这一类人我暂且称之为行业跟风者。另外一类想转型的,我想无为乎两方面:学习
一方面手工测试作腻了,认为测试开发不须要参与业务测试,从而摆脱功能“点点点”的苦日子。区块链
另外一方面,来自测试开发岗高薪资的诱惑,认为转型成为测试开发岗,就能拿到高薪,从而摆脱屌丝,迎娶白富美,成为人生赢家。下图是部分互联网公司测试开发岗薪资区间(从薪资区间来看仅是中高级的测试开发岗),能够看出,相对于传统手工功能型测试人员的薪资来讲,这个薪资范围确实有必定诱惑力。测试
在谈测试开发是干什么以前,咱们先思考一下,早期软件行业中只能看见测试工程师、开发工程师这类的职位,为何近几年冒出一个测试开发工程师?这个岗位是怎么产生的,它的存在乎义是什么,这个岗位的存在真的有必要吗?(这几个问题欢迎读者下言留言讨论)大数据
相信你们都能感觉到,当今互联网行业,特别是从2012年以后,各类新技术和新概念层出不穷,例如:移动互联网、人工智能、大数据、云计算、区块链、微服务等,随着各类新技术和新产业不断涌现,软件测试的理论、流程、工具、技术、需求等都随之发生了变化。这些新技术和新概念给软件质量保障带来了巨大的挑战。
同时企业对软件质量的要求也不断提升,这也给从事软件测试工做的工程师带来了很大的压力。 早年软件测试追求的基本都是大而全,而现现在软件交付的周期愈来愈短,用户对产品的质量要求也愈来愈高,软件测试追求的也演变成了基于风险驱动的精准测试策略:一方面强调测试的”左移“,即须要开发人员在早期更多地参与到软件测试的活动中,另外一方面强调测试要遵循”少就是多“的原则,在不牺牲产品质量的前提下节约成本,科学合理地缩小测试的覆盖率,这些都对软件测试从业人员提出了不小的挑战。
传统的测试从业人员大多都只关注业务功能测试,俗称“点点点”纯黑盒测试,他们当中大多数人并不了解开发知识,不理解业务技术架构实现,不知道甚至没有想过该如何让本身提能增效从大量重复的工做中解放出来。而软件测试做为保证软件质量的有效手段和途径,要想有效和高效地保障软件质量并不容易,它涉及多方面因素,包括对软件质量的认知、软件测试技术和方法、软件测试管理、软件测试过程和过程改进、测试工具的支持、测试环境的搭建和管理等,这些都须要软件测试人员不断探索新的、合适的测试方法,并从测试过程自己的改进去适应新的技术和发展。
软件质量做为软件成功的决定性因素之一,随着对软件开发周期要求愈来愈高,为了又快又好地交付软件,行业或者各个公司里,须要有一类人,能在这种新技术变革推进以及业务快速迭代发展之下,仍然能够科学合理、精准高效的保障产品质量,相信这个也是大部分公司设立测试开发团队最原始的缘由。
正如前面谈到的,不少人认为测试开发岗就是成天写写自动化测试代码、开发出一些高大上的测试平台、测试工具出来就好了。不能否认,测试开发工程师在实际工做过程当中,确实须要结合团队及业务现状,设计开发出一些自动化测试框架、测试工具或者平台,但这些绝对不是测试开发工程师工做的所有。
甚至还有些人认为,测试开发不用去关注业务,不用去理解参与业务需求,他们只关注如何实现预先设计的功能,而彻底不关心所开发的测试框架和工具平台在测试中的具体应用场景。若是是这一类的人,即使他的开发能力再强,但他的核心能力仍是开发,并不能胜任测试开发岗位。
一名合格的测试开发工程师必定能够成为合格的开发工程师,可是合格的开发工程师不必定会成为合格的测试开发工程师。
当前因公司、团队现状的不一样,测试开发主要分为两类:
一类是基于业务驱动型的测试开发,这类型测试开发,或者能够理解为就是业务测试工程师,只是多具有了开发能力和质量改进思惟。他们须要扎进业务中,主动去挖掘业务过程各个环节质量的薄弱点并想法设想解决,而且经过流程改进、开发出得心趁手的工具,让本身测试工做能持续高效。(如今大部分一线互联网大厂的测试开发工程师都是属于这个类型:50%测业务、50%进行效率改进)
另外一类,是基于框架平台型的测试开发,这类型测试开发,须要站点更高的维度来看待产品质量,他们会针对研发总体过程或某个大的专项去开发设计出一些测试平台、框架,并将其这些能力以服务的形态提供给各个业务线使用,以此来保障全局内建质量。
但无论是哪一类,测试开发岗位的核心其实还是”测试“,”开发“的目的是更好的服务于测试,测试开发应该看重的是对测试的理解,以及在此基础上设计、能开发设计出帮助测试人员或开发、运维人员提升效率并解决实际业务问题的工具。
关于测试开发岗位的工做职责范围,不一样公司之间会存在必定的差别,但不妨参考一下如今一些知名互联网公司对测试开发岗的职位范围描述。(以下供参考)
既然是测试开发工程师,那么代码开发能力是最基本的要求!!!除了代码开发能力以外,测试开发工程师还须要具有分析测试系统需求的能力,系统质量风险识别能力,要可以站在测试架构师的高度,识别出测试基础架构的需求,提出提升效率的方法。
另外,测试开发工程师须要具有很是广的知识面,由于它不只须要和开发工程师打交道,还要和CI/CD、运维工程师有紧密的联系。除此以外,还要能对测试架构部署、生产架构部署所采用的各类技术很是熟悉。
关于测试开发岗位的能力要求,不一样公司以及职级(专家、资深、高级、中级、初级)的不一样,能力要求也会有所不同,下面列举了几家知名互联网公司对测试开发职位能力的要求描述。(可做参考)
从上面附图中列举的能力要求中,能够看出,对于测试开发工程师来讲,开发能力已经成为最基础的能力要求了,前两年行业一直在流行全栈工程师,能够很确定地说,一名优秀的测试开发工程师是最能接近全栈工程师能力的人。固然能力越大,能从企业获取回来的薪资也越高!
关于如何打造提高本身测试开发能力,推荐给你们一个学习进阶专栏《软件测试52讲》:
专栏的做者茹炳晟曾在世界五百强公司担任资深测试架构师,专栏内容很是全面(深刻讲解自动化测试、性能测试和测试架构设计的核心原理,带你从软件测试的“小工”进阶为“专家”。),实战性强 ,推荐读者能够订阅学习一下 笔者本身也有订阅 内容确实值得推荐!
若是须要的,你们能够扫下方的二维码,目前订阅优惠中,只须要65元(超值专栏)!!!
今天的测试工程师再也不只是充当产品质量的”守门员“,更是掌握多种技能和知识的全能选手,他们既要熟练运用测试领域的相关技术,又要对产品开发全流程中每一个环节都要有所了解,现时还要及时领会相关行业里的最新技术及其发展趋势,所以,对从业者学习能力的要求愈来愈高。
做为产品研发中的一个重要环节,测试质量直接影响产品交付的质量,随着互联网的发展,测试的场景愈来愈复杂,这些对软件质量保障工做都带来了愈来愈大的挑战。此外,产品的迭代速度对于企业来讲是核心竞争力之一,怎样经过自动化、工具化、平台化的建设提高测试的效率显得尤其重要。无论是测试工程师仍是测试开发工程师,第一要责都是须要经过高效的策略手段,来保障产品交付质量。
原文连接发表于笔者公众号内:月薪30K+,高薪?一文搞懂什么是测试开发!
感兴趣的能够关注笔者公众号:测试开发技术(mikezhou_talk)