月薪过万这个话题,在如今这个百花齐放的职场里是个很流行的命题。linux
月薪过万对于行业大佬来讲,多是个不屑一顾的追求,但对于职场新人而言一般是个很实际的人生目标。shell
我怎么样能达到月薪过万呢,其实严格来讲,要找到一份知足你薪资指望的工做有三个要素:数据库
作为一个闷骚IT技术宅,我最能回答的主要是第一点:怎么进行我的提高,毕竟功夫到家才是硬道理。编程
软件测试从业人员可能都有这样一种感觉,就是干这一行你要会的东西太多了,说的通俗一点就是知识库庞杂。windows
在这个信息爆炸的时代,咱们能够学习的东西太多了,看起来不少东西都能实现我的价值的提高。好比去学一本驾照,好比去学游泳,学健康养生。。。安全
测试工程师学什么?服务器
我我的会把测试工程师的学习提高路线分为四条主线:网络
在不一样的路线上去深化,会引领你走上不一样的职业发展道路。架构
第一:先说测试技术,大体罗列一下,测试工程师须要学习的东西:框架
首先是测试的理论,有的人可能作了几年测试,积累了一些经验,就对这方面样的知识有些瞧不起了。其实我我的认为,理论始终是指导实践的最坚实基础。
作测试咱们能够在工具、技能上面不断的雕琢,但其实测试的基础一样也是须要咱们不断钻研的东西。
要学会从宏观的高度去看待测试工做:
测试的最终目的是交付高质量的产品;
产品的质量需求又是由项目性质决定;
测试工做不能脱离团队而存在;
测试如何服务于产品质量把控和风险缓解;
客户想要的到底是怎样的产品特性和功能;
一个缺陷的背后,揭示的是怎么样的过程问题;
要学会从微观的角度去切入测试工做:
对于复杂的测试目标,有哪些方法论能够帮助我实现测试;
对于模糊的质量定义,我怎么挖掘其真实需求;
发现了问题,我怎么去对他进行分类和定位;
测试的数据怎么设计才能达到足够的覆盖;
测试用例怎么编排描述才能达到最好的效果;
如何进行反馈才能让发现的问题获得最有效的解决;
测试基础和理论就像一个侠客的内功,不管你的剑耍得有多六,最终决胜负仍是要靠内力。
再说测试工具,作为IT从业人士,工具的使用多是我的能力的最直接体现,是一种很外露的本事。
软件测试这个行业所涉及的领域很是普遍,从行业的角度来讲,如今几乎全部行业都要上IT系统,连冰箱都要联网了。涉及行业的普遍,决定了咱们在工做中可能用到的工具也种类繁多。
同时,软件产品质量的维度也很是的多,功能性、安全性、互操做性、负载、压力、易用性、兼容性、可维护性、可移植性等等等等。每一种质量的维度可能都有最适合去应用的一些工具。
还有一些操做系统级别和基础应用级别的工具,好比数据库,好比linux,好比JDK,中间件,咱们也要去掌握。他们是咱们开展测试工做必不可少的(你早晚会用到)工具。
在必定程度上,学会了一种工具,就意味着你测试工做的领域就被拓宽了一点,很天然的这会是你升职加薪的有效砝码。
不过在工具的学习上,仍是有一些策略能够去应用的。不要被所谓工具的‘高大上’和‘酷炫感’这样的特性吸引,盲目去学习那些看起来很厉害,实际应用价值和范围却不大的工具。
无论是从升职加薪的角度而言,仍是自我提高的角度而言,咱们应该优先去学习市场应用面广的,最有用有实际价值的工具。人的精力和时间都是有限的,从最有用的学起,切忌好高骛远。先把基础的经常使用的工具学好,慢慢再去学习高阶工具是一个最优策略。
并且工具这个东西,实际上是举一反三的,等你学好了一部分工具,另外看起来高阶的那些说不定对你来讲就已经很容易了,无非是去体验他的实际应用场景而已。
最后呢,学习工具不要只停留在应用级别,即不要只会用,要知其然知其因此然。工具的操做流程,不如他实现的原理对你来讲更有价值。
接下来是编程技术,其实不少理论里把测试编程技术也归为工具的使用,不过咱们把他单拿出来讲。
也许有一些测试工程师实际上是由于不爱写代码才作了测试这行,可是要在测试技术领域深化下去,编程技能又是不可或缺的。
是否是很纠结。
测试工程师的编程能力到底有什么用处呢?总结一下主要在如下方面:自动化测试、脚本编程,白盒/单元测试以及测试开发。
自动化测试是如今比较火的一个领域,没必要多说。学些自动化测试编程,咱们的目标应该不仅仅是应用,更应该深化到框架的编写。
脚本编程是脚本语言的应用,好比shell脚本和windows批处理这类工做控制语言,许多IT项目会很依赖这类脚本去作工做自动化控制,好比CI环境部署。
掌握编程知识一样也会帮助咱们去完成白盒/单元测试这样的任务。若是咱们在编程能力和测试能力双向深刻发展,测试开发是一个很好(薪水也很高)的发展方向。
一个前提要说到的就是,测试工程师的编程技术门槛是比较低的。咱们在学习代码编写以应用到测试工做时,一开始其实不须要多深刻。
好比作为一个测试工程师去学习自动化编程,入门级级别来讲,咱们只用学习现有自动化工具和类库的使用,其实学习难度并无想象的那么高。
随着学习的深刻,当你有了更高的追求,再进一步去在编程领域内深造是个不错的选择。好比上文提到的去写框架,去改进框架,去引领一个机构的自动化测试。
学好了这些技术,无论是综合发展仍是专项深造,咱们的职业发展路线会向技术型深刻。好比成为自动化测试工程师,性能测试工程师,白盒测试工程师又或者是安全测试专家等。这些职位比起测试基础岗而言,薪资水平是有着显著上升的。
第二:是行业知识
IT归根结底属于第三产业,第三产业是什么?通俗一点来说就是服务业。IT产业是为其余基础行业服务的,最终咱们要完成的事情是让传统的事务处理IT化,自动化,网络化。
这就牵扯到一个问题,不论咱们作怎么样的项目、系统或软件,他的最终应用会是在另外一个与计算机体系无关的领域,好比金融,好比零售,好比医疗,等等。
作为IT从业人员,除了本行的计算机应用技术之外,这些行业的知识就成为了咱们须要学习掌握的第二学科。
将行业理解的透彻,是另外一条IT人员必点的技能树,对于软件测试而言尤为如此。由于作为项目的测试和质量把控,咱们只有很是了解软件应用的领域,才能更好的帮助咱们对项目质量进行把关;而软件测试倾向的用户立场,也要求咱们必须可以以专业的角度去衡量咱们的产品在专有领域的适用程度。
好比在金融领域,真的要作好这一行的测试,财务领域知识、基金会计技能有的时候可能比你的测试技术更为重要。毕竟若是不精通这一领域的东西,你可能连系统到底要怎么实现用户/市场需求都把握不许,更不要提很好的把控产品的质量了。其余领域也各自都有不一样程度的对行业知识的要求。
固然,有的时候测试工程师可能会有这样的经历,本身就像个雇佣兵,在数个项目之间来来回回,根本没有固定在某一个行业领域当中。客户要什么系统,咱们就去测什么系统,在数个不一样领域之中展转徘徊、浅尝辄止,根本没有时间让我在某个领域中间去沉淀。
这是一种现实状况,在这种状况下,你对于某个行业的积累仍然能够帮助到你,可是你却很难成为该领域的专家。
不过若是你有机会在某个领域的测试工做中稳定下来的话,我会更推荐你去在这样的领域内深刻,将测试技术和行业知识双向发展。
当测试工程师有了足够深刻的某行业领域专业知识和技能之后,那么咱们的发展方向就能够是‘领域测试专家’和‘领域测试咨询’。这样的人才在该行业内,必定是很是受欢迎的,高薪固然不成问题。
第三:是职场能力
职场能力能够说是一种我的素质和综合能力。
不论咱们有多好的测试技术和行业知识,都须要有强大的职场能力去辅助,咱们才能将本身的专业能力更好的发挥出来,不然别说当大牛拿高薪,可能工做能不能保得住都难说。
职场能力有哪些呢,我概括了一下:
沟通能力:自不用说,测试工程师可能在一个IT团队里是沟通任务最重的,也是最须要沟通能力的。咱们的测试工做强依赖着其余工做团队的产出,因此咱们不但要沟通,还要会沟通;其次,咱们测试工程又承担着项目质量反馈和过程改进的做用,这又要求咱们要把测试结果和结论进行很好的沟通。测试人员不能不讲究沟通,沟通技能的差异是关系到咱们团队地位和我的评价的很是重要的因素。
自律能力、时间观念和用于担当放到一块儿说,都是一我的责任感的体现。咱们不鼓吹放弃本身应有的生活和娱乐,一心一意扑在工做上,作测试岗位上的劳模。可是在你份内的工做时间内,咱们要尽心尽责的去作好本职工做,作本身该作的事情,该担当的责任要用于担当,舍得奉献。用本身的目标鞭策本身,无论你是为了养家糊口仍是自我实现。进一步说,要主动去发现工做中的乐趣,干一行爱一行,切忌眼高手低。
学习和思考能力:要求咱们有好的学习和思考意识,也要掌握好的方法论。IT行业不断发展,新兴领域不断涌入对咱们的行业产生冲击,都要求咱们必须肯学并且能学,在学习和工做中勤于独立思考,善于发现问题,总结问题,提出解决方案。创新能力则是学习和思考能力的一个进阶体现。
规划能力:测试基础工做提及来是由一些很繁杂的事项组成的。即便你的职位在测试路线上越走越远,你仍然摆脱不了必定程度上的琐事。因此这就要求咱们有系统的规划能力,测试新人在刚入行的时候可能会以为,细心细致对于测试这样一个‘找问题’的工种而言多是最重要的素质,其实系统的规划能力才是咱们作事的必备技能。即便是天生不够细心细致的人,经过有效的系统规划,也能够避免咱们由于粗心大意而犯下错误,而且能够帮助咱们对繁杂的工做事项和对象进行抽丝剥茧,把握主线,帮咱们更为轻松高效无纰漏的完成工做。
抗压能力:作IT作测试,免不了会有工做上的压力,无论是工做时长上的,仍是工做成果上的。要学会抗压,遇到挫折时不能轻易气馁,完成成果时戒骄戒躁。也要学会判断压力是否合理,加班的压力合理吗?领导的质疑合理吗?要学会科学的判断,科学的应对。其实相较而言,测试岗位的压力其实算是中等水平,不要被工做压垮,不然又何谈升职加薪。
第四:是管理能力
对于测试工程师来讲,随着经验的积累和在这个行业的深刻,转作管理岗多是咱们每一个人都会去思考的一个方向。
当领导固然有不少好处,好比地位的上升,好比薪资的上涨--特别是在薪资的上限上,作管理和纯作技术仍是有着明显差异的。
要作测试管理,除了有相应的机遇以外,固然咱们我的在管理能力上也要作好准备。
我将测试管理能力划分为三个维度,分别是:
测试组织能力让咱们学会怎么去组织,策划,实施,监控和汇报一个测试项目。让咱们能把测试这个工程给完成好,也要让他很好的完成风险管控、质量反馈和过程改进的做用。
测试技术能力让咱们作为测试的管理人员了解技术在测试活动中的应用场景和机会,让咱们有能力去把控一个测试工程对于技术的引入和使用。也须要咱们有相应的技术能力,去指导具体技术在工程里的使用,提及来其实仍是须要咱们在第一点:测试技术上面下功夫。
团队管理能力是与人打交道的能力,对上沟通,对下管理,团队建设,团队提高,管理团队内部各类各样的人才,让他们能为你所用。这也是一门专门的学问。
学习好了管理能力,再遇到适合的机遇,咱们就能够去向测试lead,测试经理,测试主管方向发展。
固然其实一旦你作到管理岗,后续的可能性就要增大不少,高管的机会大门就将向你敞开。取决于我的的把握,其实最后成为CTO,部门经理,VP都是有可能的,固然他就不属于测试岗位的直接进阶了。
以上咱们说到的四个方向,大部分都不是独立存在的,在实际应用的场景中更多的是交织在一块儿,造成一个测试人员的能力体系。他们之中能够有侧重,这些能力上的侧重指引就咱们的职业方向。
好比说在测试技术方面加剧投入,咱们的方向多是测试技术专家和技术专项领域;
测试技术和管理能力双修,那么可能的方向能够是测试架构师,测试lead;
测试技术和行业知识双修,那么又能够成为领域测试专家。