写在离职前夕
这篇文章里我本来有很多话想说,后来大多数都憋回去了。我想时间过的久点,很多话就慢慢发酵,要么化成一个屁,要么就想不起来了。
面试总结
还是先总结下这次面试吧,offer已经拿到。七月份就要离开苏州回到老家南通工作。我想这应该也是我近几年最后一次面试总结了。毕竟南通作为一个三线小城,软件行业并不发达,在这里找到一份自己满意的测试工作更是非常不容易。感谢朋友推荐@WadeXu。
首先我觉得我的博客在这次找工作中起到了不错的效果,坚持写了两三年,虽然读者寥寥,但毕竟在坚持学习,通常我的简历里面都会把自己的博客地址放在里面,当然多数时候“然而这并没有什么卵用”。这次面试的时候,多数面试官都去看了我的博客,感觉很庆幸。我的简历大概也做的不错(自我感觉——),一张A4纸,正反面,简洁明了,虽然做的项目很多,但是我把很多项目按照我的时间轴:初期(手工)-> 中期(自动化)->近期(自动化,性能等)进行了归类。电话面的时候,面试官看到我的简历就觉得挺合适的,所以电话面进行的还算顺利,很快就敲定了第二轮面试的时间地点。还有就是在国外呆的久了,跟很多印度小伙伴做过项目,说英语的时候已经不像当年那么发愁了,至少可以淡定从容的不知所云了。
六月五号飞回国,六月九号开始面试。
不同于以往的四五张纸的笔试,这次没有笔试。请允许我再次吐槽下测试工程师的笔试。我遇到最离谱的一次笔试,用的是跟开发一样的一张卷子,几乎交了白卷,然后HR兴致勃勃地说,小伙子你不行啊,我们来谈谈工资吧。。。我还是觉得测试工程师是一个抽象类,里面当然有实现的方法,但是还有很多是抽象方法,但是通常卷子里,要求的是你要实现“软件测试工程师完全手册”这个接口里面的所有方法。当然了,不能改变的东西就只好去适应,我的经验是,数据库,Linux命令是高概率事件。主要还是平时积累。
回到这次面试。一共被六个人面,轮流。似乎叫Panel Interview,最后还有个半小时的Presentation。他们是要招一个自动化测试工程师,所以六个人除了一个HR都是围绕着自动化来展开话题的,而且都是问的我之前做过的项目里的一些问题,所以还是言之有物的。虽然是车轮战,但是整个交流过程还是不错的,不少面试官跟我交流的方式也是一种探讨式,感觉压力小了很多。想起来之前一次面试,面试官问的都是一些我没用过的工具的用法,然后一脸你这个菜逼的表情。等到我开始讲我项目里用到的技术以及工具的时候,他又一脸茫然。不在一个频道。
最后是Presentation,开放式命题,当然我并不觉得上去唱首歌,或者表演个颠球5分钟会被录取。作为测试工程师,我对需求还是比较敏感的。所以我的最后陈述题目是Thinking in Automation。基本上算是对之前的车轮战的一个总结,很多观点以及栗子我在面试的时候也有提及,比较切题。我准备了个11页的PPT,然后准备了大段的发言稿,去之前我也把稿子背的七七八八,不过讲的时候都忘了差不多了,还好人越多我越不紧张,就那么一路顺利地讲了下来,不过讲完以后,我连我爸的手机号码都忘了,在楼下想了半天才打电话给他。。。
Thinking in Testing
这部分正好作为五年测试工作的总结。首先两三年经验跟四五年经验的感觉确实是不一样的。我翻了翻之前写的两年跟四年的总结,发现随着时间的推移,作为一个测试工程师,你的test thinking & test sense是逐渐成熟跟完善的。相对于开发来说,测试人员的开发技能肯定是差一些,所以软件测试工程师这个工作想要存在下去,必须要有点理由。众所周知,软件工程里面有一条闻名遐迩的鄙视链,通常测试人员就在这条鄙视链底端。当然测试工程师里也有一条鄙视链,这其中又是手工测试人员叨陪末座。原因有很多,如果要展开来说,我能说上一天一夜。之前也看过一篇吐槽文章,叫做“测试工程师凭什么拿比开发高的工资”,是一位招聘人员的写的,而且还有理有据,看的我眼泪都要掉下来了。我当然很想反驳,也有无数的理由,但我还是硬生生的忍住了。我想主要还是因为测试工程师入门的门槛低,所以待遇也相应低一些,不被重视也是理所当然。于是如果你不幸是一位测试工程师,你总得想想自己存在的意义。或者说你得想想将来,你的职业规划。在我看来,测试工程师五年前还是朝阳行业,但是过不了多久,可能就成了夕阳行业,虽然社会分工在细化,但是随着敏捷开发的流行,测试工程师却渐渐的有被开发取代的趋势,或者说,将来开发与测试的界限肯定会趋于模糊化。到时候也就失业了,细思恐极。
那么测试工程师的核心竞争力在哪里呢,之前我也说了,在于test thinking & test sense。相对于开发而言,我们可以更好地站在客户的立场上,更加倾向于全局地去看待整个产品、系统,并且能够站在质量的角度,去考虑整个流程的优化,去提升开发的效率,减少bug的产出。而我们的主要工作应当是把你的test thinking & test sense注入到整个项目组中去。开发与测试不应该是零和游戏,他们应该是为了同一个目标去实现共赢。
前两天刚好看到条新闻,谷歌的专家预测,2030年的时候,人脑可以通过DNA芯片,直接连接到云端,以提高计算能力。如果云端被黑了,那么人就傻逼了。所以我觉得软件测试的未来还是光明的。以新技术的发展趋势来看,大数据,云计算的手工测试几乎不可能完成,而移动客户端以及智能家居的普及,又将测试引导到另一个方向。对于性能,安全的要求越来越高,这方面的测试也是手工测试无法达到的。
面对如此多的机遇,怎样的时机去切入,又是如何结合,还要及时的适应各种新的技术及理念,这都是测试工程师面临的巨大挑战。
除了大数据云计算,移动端,还有一些有趣的趋势,比如黑盒的白盒化(如dynaTrace),意思是你不需要去了解系统的内在,用黑盒的工具去录制回放系统,但是生成的报告却是非常底层的内容,比如你每个request的具体组成,每个方法的响应时间,你的每个请求对数据库、CPU等造成的影响等,这样你的系统瓶颈也会一目了然;还有就是自动化测试的智能化,都说自动化测试没有想象力,只是周而复始的迭代。但是随着经验库的引入,经过测试建模,自动化测试也会越来越智能,会发现更多具有想象力的bug。
最后
我辞职了,就在这个礼拜。很难说再见,在这家公司算上半年的实习期,有整整五年了。我待这家公司如初恋,感情很深,只是可惜她并不那么爱我。外面的世界很精彩,外来的和尚可能更会念经,这或许也是整个行业的现状,很多公司都对它自己培养出来的应届生并不怎么待见,更愿意花多点钱去招一些别的公司的人。苏州留给我一个很美的梦,即使结局不那么圆满。不管怎样还是非常感激这家公司给我的一切机会,让我可以感受到国外的测试氛围。很感激在公司里学到的一切,感激遇到的那些帮助我的人,感激那些默默关注我的人。
这也是我从事软件测试的第五个年头,真好,我坚持下来了,并且庆幸的是下一份工作仍然是软件测试。与还在坚持的你们共勉。