我对软件测试行业的个人理解 5 - 关于核心竞争力的思考

按我的理解:

一个人的核心竞争力 =硬能力 + 软能力 + 外部能力

硬能力= 技术积累 + 业务积累 + 语言积累(英语)

软能力= 沟通能力+管理能力+写PPT能力+其他对工作有用的非技术能力,或者说技术能力的表现力

外部能力 = 人脉、运气、家庭条件 等等来自于外界的附加值

其中,硬能力是比较难学的东西,软能力则是通用的东西,外部能力很多时候是比较难改变的东西。

  • 语言积累(英语)

首先语言积累很重要,不管是不是在外企工作,阅读英文资料都是提升自己技术积累的必由之路。以我熟悉的自动化测试为例,市面上的中文书籍几乎都过期得一塌糊涂。有一次,我看到同事买了一本讲selenium的中文书,好奇借来看看,半天就看完了。因为此书水平太低:大篇幅抄官方文档,浪费篇幅讲过时的selenium IDE等等。我看了感觉毫无帮助。但,这在中文资料里已经算比较好的,至少他没有大错。不像那些良莠不齐的技术博客,有时把你引入歧途。

“过时”,是中文技术资料最大的问题。学好英语是绕过这个问题的必由之路。

一般上,我们需要积累英语水平,达到可以听懂老外的技术讲座,可以向老外提技术问题及理解他的回答(半夜不睡觉的可以去参加老外开的webinar在线研讨会,可以向顶尖的牛人提问之类的;每年自动化测试领域都有国际交流大会,虽然我们可能没条件去欧洲赴会,那至少可以看看视频回放啥的,保持跟国际接轨;或者你如果在外企的话可以跟技术好的老外交流)。

怎么学英语?我发现凡是来问我这个问题的都是不想学英语的人,幻想有某种不努力也能成功的捷径。因为我既不是英语老师,英语也不是很好(叫个美国小学生出来都可以在英语领域完败我)。所以我建议要么凭个人的大毅力自学,要么找专业老师学习。

英语积累是技术自学领域的一大门槛,这个槛是绕不过去的。以前有人说计算机专业就是要学好英语和数学,我觉得挺对的,英语和数学,至少得其一。当然,如果混日子的,两个都不得也没关系,那人生轨迹也就全凭运气了。

  • 业务积累

业务积累是传统黑盒手工测试工程师最主要的一块核心竞争力,因为他们技术积累只到三个月为止。业务积累确实重要。如果让一个不懂金融业务的人去测试外汇交易系统,那太困难了。因为这种复杂的金融系统光是用户手册就厚得像一本大书。而反过来说,如果让一个新人去测试一个小网站,业务知识上通常没有门槛,因为业务太简单。有的时候,业务会变,比如我以前公司做DVD光盘刻录软件为主营业务做了十多年,但在互联网高速发展的现在,他的主营业务变成了网站、web服务。原来的光盘刻录项目组第一个被剥离,卖掉。假如你只会黑盒手工测试,只积累了光盘刻录行业的业务知识,此时人生轨迹就要遭遇挫折。另外,外包公司是一个特例,外包公司的业务取决于他服务的公司的业务。做外包,因为项目不断变化,很容易导致你的业务积累不断归零,毫无积累。这也是为什么我不建议新人做外包测试。

业务积累的特点是依赖特定行业,并可能产生变化。

  • 技术积累

技术积累是我们走技术路线的人最主要的积累,也是想走管理路线的人需要的一个前提条件。或许,你凭借业务积累和软能力就能当上测试管理人员。但是当今社会竞争是很激烈的。即使当上了管理,也未必是好事。我们要考虑十年之后,二十年之后,人到中年的时候,会不会惨遭淘汰。做管理的负效应是:技术的遗忘。管理做个几年,技术就差不多忘光了。更何况还有很多人,当不上管理。我们为了不被淘汰、为了提高竞争力,就要提高技术积累。

这里有一个杯具的事实就是:黑盒手工测试的技术积累基本上就只有三个月为止了。这也是为什么我觉得一毕业就从事黑盒手工测试不是一个很好的选择。只有黑盒手工测试工程师自己认为自己的工作很重要,自己不断骗自己说自己的工作很有技术含量。我只能说,即使有黑盒手工测试工程师技术很好,那也是因为他开发学得好,而且他做黑盒手工测试做不了几年技术积累就得归零。

在后来的工作中,我们会不断发现,要想测试做得高端,先积累十年开发技术底蕴的重要性。

比方说我做自动化测试框架,做着做着发现很快达到了应用自如的程度了。但再做突破,比如要把框架和框架连接起来,搭建一个完整的自动化测试平台,或者说大型的自动化测试解决方案,此时我面临的问题就是:技术积累不够,做不了。而此时需要的是开发技术,没有十年开发技术积累的底蕴,我做不了。

再比方我做性能测试,做着做着发现我都懂了,能做了,工具使用自如了。但再然后,定位性能瓶颈、进行性能调优,又做不了了。还是缺少技术积累。此时需要的也是我缺的那个十年开发技术积累。

如果是自学能力强的人,可以较快地自行发现这个开发技术积累的重要性。如果是自学能力一般的人,可能达到自动化测试的瓶颈就要花三年,达到性能测试的瓶颈又要花三年,然后六年之后才知道,少了开发技术的积累。

测试行业的矛盾在于,想做高端技术岗位,技术积累得靠前期从事十年有技术积累的开发工作(XXX信息管理系统不算),或者靠强大的自学能力补足。而一般人不会去定这么高瞻远瞩的发展路线。

此后最大的问题就是  "自学经验 < 项目经验"。

自学,往往是不得要领的,容易学到岔路上去。所以武侠小说里的一般高手都需要师傅指点,只有特殊的不世奇才可以凭空自学,像金庸小说里写九阴真经的黄裳。而正常人哪怕聪明得像黄蓉仍旧需要师傅指点。

"自学经验 < 项目经验" 的一个简单体现就是,我们去面试的时候,面试官会问你做过什么实际项目,而不是问你自学了什么技术。很多人自学了selenium之类的自动化测试框架,全学得乱七八糟不成章法。可能因为语言积累不到位,也可能就是因为他缺少实际项目这个最好的师傅的指点。

所以对于技术积累尚且不足而从事测试行业的大多数人来说,真正问题在于:

技术积累要靠自学,而自学一旦离开了实际项目,难度很大。

就像那些从事XXX信息系统开发的开发人员一样,我们如果想做高端的技术岗位,离不开自学。这里又体现了学历的重要性。如果你学历够高,直接去最有名的大公司从事相对XX信息管理系统来说更有技术积累的开发工作,那是极好的,即使去那边做测试开发之类的工作,也有人带,也是极好的。很大程度上,提高技术积累的难度就低了。也就是说,在提高核心竞争力的“游戏”里。“高瞻远瞩,先做十年开发的人”和“学历高的人”,玩的是普通难度/稍难难度,而我们直接做测试的人,玩的是噩梦/地狱难度,英语不好又直接做测试的人自然是炼狱难度了。所以,我们简直就不是在一个世界,测试行业的人分布在不同难度/层次的世界中,对行业的认知也有很大不同。

我属于不幸玩了个地狱难度的人,刚毕业就从事黑盒手工测试,技术零积累,并且是外包行业的黑盒手工测试,业务零积累,毕业学校也低端,三本学校。

然后,想要在这个核心竞争力的游戏从高难度模式下玩通,这就是我们要研究的问题。

我去面试过一些测试中高端岗位,他们的技术要求有很多,而且有一个特点就是

大部分中高端测试岗位的技术要求都不一样。

小公司、外包公司的自动化测试岗位不算,带一点技术的手工测试岗位不算,我说的岗位特指从薪资到名称都高大上的岗位。月薪20k以下的都不算。比如说我去面过一个XX宝核心组的白盒测试,要求是熟悉springMVC等开源开发框架。这种要求对于没有那个十年开发积累的普通测试人员来说无异于天方夜谭。我还面过一个X宝的XX聊天工具的服务器测试岗位,要求是熟悉高并发编程、服务器、中间件、socket编程等等,又是一个我一样技术要求都不符合的职位。但这两个岗位之间的共性也不多。为什么呢,这是因为测试工具、框架、平台的实现方式取决于最初的设计,不同公司有不同设计,甚至同一个集团的XX宝和X宝也有这么大的区别。再次说明了先积累十年开发经验的重要性(而且必须是能找到对口岗位的十年经验),以及我们的噩梦难度和地狱难度到底有多难,从侧面又说明了学历的重要性。后来我发现甚至中端的,10k到20k的技术岗位往往也会要求开发基础,比方说相当于三年开发积累、五年开发积累的人,都能在其中找到不同的位置。而大家共同的问题就是,找到这个位置之后想往上走很难。

(我把篇幅缩短了,读起来方便,写起来也方便,仅作为随笔,随便写写)

时间: 2024-10-05 09:57:11

我对软件测试行业的个人理解 5 - 关于核心竞争力的思考的相关文章

我对软件测试行业的个人理解 4

我觉得我上一篇写得太简略了,估计很多人看了觉得不过如此,我决定在这篇里深化一下. 本文中,我定义技术路线长度或技术基础的标准为:普通人完全掌握一种技术所需要的时间,我把他的单位名称定义为Y,M,D (年,月,日) 比如3Y表示某技术需要普通人花3年时间来掌握,1M表示某技术需要普通人花1个月时间掌握. 本文有以下前提条件,基于我的个人理解: 前提一 计算机专业应届生的技术路线基础理论上为4Y,因为大学要读4年 培训班毕业非计算机专业的学生,以培训一年为例,技术基础为1Y 黑盒手工测试的技术路线为

我对软件测试行业的个人理解 1

我想整理一下这些年来,对于软件测试行业的理解:)于是就有了这个文章. 软件测试行业里工程师工作岗位的分类 有按看不看代码分的:黑盒测试工程师.白盒测试工程师 有按主要业务分的:金融测试工程师.通信测试工程师.本地化测试工程师.游戏测试工程师 有按主要任务分的:自动化测试工程师.性能测试工程师.安全测试工程师 有按被测软件分的:手机app测试工程师.手游测试工程师.网页测试工程师.客户端测试工程师  有时也有按被测软件的语言.技术分的:java测试工程师..Net测试工程师.数据库测试工程师  

我对软件测试行业的个人理解 3

有人发消息问我: 我该做什么,走什么路线? 我想做XXX该怎么办? 我学了XXXXX但是只懂皮毛怎么办? 我想去XXX公司,要怎么做? 有什么书推荐? 我感觉学不到东西,怎么办? 我感觉测试很无聊,怎么办? ------------------------------------- 想去XXX公司,是需要敲门砖的. 这里有一个矛盾,大家都想去大公司.好公司,但是大公司好公司凭什么让你去. 我觉得,这时通常需要一个敲门砖的,比如, 高学历或名牌大学毕业 大公司可能校招的时候就只去几个学校招人,那么

我对软件测试行业的个人理解 6 - 浅谈自动化测试原理

   自动化测试是我从进入这个行业开始,听到最多的词汇之一了.大家,特别是手工测试工程师,很多都想了解自动化测试,学习工具,并以此提高自己的收入.今天我不讲工具.而是讲讲这个词背后的原理,为读者从事自动化测试工作打一个理论基础.如果打算从事专职自动化测试工作,不论是你原来是开发人员,还是手工测试人员,都必须了解这个基础.以我实际上的工作中遇到的新人来看,最缺的就是这个理论基础,而工具大家都能学会.我下面用自顶向下的方式来解释自动化测试的原理,从高度抽象讲到具体内容.当然这些只是我的个人理解,整理

我对软件测试行业的个人理解 2

上一篇讲到接口测试对个人的好处.而对公司来说呢? 首先你招人做接口测试的话,成果很容易看得到,想刷KPI的技术负责人/测试负责人们,做接口测试可以很容易地提高测试覆盖率,实现持续集成测试.当然,如果你的系统架构上就不适合做接口测试的话,那就没办法了.有段时间流行SOA架构的东西,挺适合做接口测试的.后来的云计算,我其实不太了解,但我以前公司(某硅谷150强里排70多位的某公司)云计算组的测试也就是测测接口,偶尔做个爬虫,再做做性能测试,最后做成持续集成的,最后再把这套东西跟测试管理平台一接,往他

软件测试行业的职业素养

很多人懵懵懂懂进入了软件测试行业,有些人做的开开心心,事业发展顺顺利利,有些人不断地换工作,每次工作都不开心,不知道是自己怎么了,还是周围怎么了.在不断地换工作过程中,你有考虑过自己是否适合这个行业吗?下面我来给你讲下软件测试人员的基本素质. 软件测试人员的基本素质你根据自己的判断觉得自己很OK,想入行,但软件测试行业会喜欢你吗?你符合行业的职业道德吗?可能有些人觉得这都不重要,重要的是我喜欢.但是我个人觉得这很重要.这里插一个真实的例子:一家杭州软件测试公司主管上周开掉一个很有技术能力的成员,

软件测试行业

很多人对软件测试行业并不熟悉,下面来给大家讲讲软件测试这个行业的乐趣.烦恼.第三方测试.测试技术的发展方向和趋势.从这4方面给大家软件测试,让大家对这个行业有一定的了解. 软件测试的乐趣 首先是一种程序破坏的纯粹快乐.如同玩保龄球时感到愉快一样,生活压力让更多的人喜欢破坏事物. 其次是这种破坏行为具有价值,内心深处,我们惧怕被他人发现我们的破坏行为,但测试过程中的这种破坏行为对他人是有所帮助的.工作就是鼓励我们这么做. 再次是整个过程体现出魔术般的力量.你的一个细微的操作,有时就能让一个庞大的系

详谈软件测试体系框架的理解

详谈软件测试体系框架的理解 测试应该站在两点至高点上思考问题:产品质量,和效率上 用这几点来思考问题:是什么,为什么,怎么办 用测试框架来筛选过滤测试点:测试框架有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文档测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试. 用用例设计方法把测试点变成可执行的用例:如:等价类,边界值,输入域,场景分析法,错误推测法,等. 排序:再依次按照紧急程度,影响严重程度,安排计划这些事. 文档输

软件测试行业展望

新年开篇,总结过去展望未来,18年对于我来说是个不平凡的一年,主动离开了相对安逸的岗位,经历了半996的生活,体验着国企的风采,一路走来收获满满,结识了很多朋友,最终也明白了很多道理.作为测试行业的小老鸟,借着19年闲暇之余根据自身感触展望一下软件测试行业的未来(有点写大了). 1.注重质量更注重速度 过去一个功能点的测试基本包括测试计划+测试方案+测试用例+测试执行+回归测试,整个流程下来至少三两天,而如今一个版本下来都不一定给测试团队三两天的时间,并且为了产品的品牌效益,质量更加严苛,未来整