请尊重测试:测试从业五年有感
从数学专业毕业,到微软,到360,转眼快五年,人每次按年去回忆事情的时候,总会不禁的感慨,感慨人生的无奈,感慨世界的变迁,至少感慨时间的流逝,文雅的说法,就是江湖夜雨十年灯。
然而,it这个世界里,变化更是迅速,尤其是近几年的互联网。多少巨头倒下,一如很多胖子去回忆贞观盛世,又有多少巨头暗含陨落,如可悲的万历年代。。。你永远也不会预测到下一步有多少意外发生,可仔细想来却都是情理之中的事情,就像你无法解释黑天鹅,但它就在那里,也是必然的结果。
这不到五年的时间里,自己的变化也是很多,尽管大方向和自己的规划一致,可是我依然无法忽视各种偶然事件对自己的影响,如果你熟悉随机过程,相信你会明白。偶然的事件会积累,甚至转化为必然事件。然而这并不是自己感慨的重点,自己的重点是,在回忆自己的职业发现时,我依然选择测试开发的路线。
有人问过我,为什么工作五年了还是不愿意去做管理,在国内很多公司里,不做管理就意味着没有发展。手工测试,测试开发,开发,架构,主管,这些基本上自己都做过,平心的说,我还是更喜欢测试开发的工作。在我看来,这个行业的管理,很难完全脱离本行工作,开发的经理如果不开发,没有办法管好一个开发团队,测试经理如果不深入了解要测试的项目,也没有办法领导一个测试团队。中国人擅长管人,但是这个领域,人是消 失在项目和产品之后的,想通过管人来管项目,很难将东西做好。还记得有一次在微软做完一个demo,拿给一个高管去展示,他只是点了几下就把demo搞崩溃了,这让当时的测试组很没面子;但是我佩服这样的领导,只有自己了解项目,了解相关的技术,比组员更了解这些东西,才可能管好一个团队。我现在所在的产品部门的总经理,虽然已经是一个技术大牛了,但是依然每天去查询相关的技术资料,他的技术博客基本上都是深夜写的。我想说的是,这些人,一直是我努力的方向;对于仅仅工作五六年的我,和他们相比,又有什么理由不继续努力呢?
选择测试这份工作,我想说的是请尊重测试!这并不是对开发或者管理人员说的,主要是对测试人员说的。我的观念里,测试人员和开发人员并没有什么本质的区别,更别说谁鄙视谁了。如果说鄙视,只有能力高去鄙视能力低的,而不是哪种职位。
很多测试人员选择测试这份职业的初衷,直接决定了他对这个职位的定位。有人问我测试人员学哪门语言最赚钱,这其实是个可笑的问题,就像问哪门语言容易就业,哪门语言工资高一样。如果想赚钱,我建议干脆别找工作,至少别找it方面的工作。这不是抬杠,在中国过得好的,没几个是靠工资的。赚钱的工作没有多少是靠上班,上班的工资只能说是糊口,我也是这样,工资就是零花钱而已。如果把范围定位到it圈内,我也没办法说哪门语言哪个技术工资就一定高,只能说不管哪门语言和技术,或者职位,只有精通才能收入高一些。可能最近移动端最近开发很火,可能某个新技术很缺人,可是一些你可能没有用过或者没有见过的几十年前的语言,比如cobol,有的是按小时去计算编码收入的,一些古老的系统如as400,供养着很多年薪百万的工程师,即使是在国内。所以这个问题我只能回答,一个只会写单次循环的程序员,工资不会很高。这事明白的很,处理内存的程序员和处理字符串的程序员工资不可能一样。这是我想说的第一点,做这个行业要明确目标,要踏实,要尊重自己的规划和初衷。
我了解国内就业形势不好,很多人只是想有个饭碗而已,但是容易找到的工作,发展一般都不是很好,而且竞争也很激烈。国内各种技术培训的机构有很多,当然还包括测试培训班,一般打的也都是就业的旗号。我个人不排斥这些技术培训班,但是对于打算从事测试或者技术岗的人,有两个建议,一个是慎重选择,一个是努力学习。优秀的人才都是自己学出来的,培训班只是学习的途径之一。如果培训班出来的都是精英,那么很多公司都愿意要,但是目前很多培训公司出来的学生,水平都很差,能力很低,这让很多公司对培训生比较敏感。当然,还是看个人综合能力,这个是关键。但是我还是比较喜欢一些培训公司的口号,学习是为了生活更美好,当然,需要努力。这就是我想说的第二点,如果选择测试,请首先尊重你自己对这个职位的选择。当然,这话不只是针对测试。
事实上,当开发鄙视测试的时候,我表示理解,有时候我也鄙视。这时候我想起另一件事情,当自己刚到某公司的时候,需要看一下产品的源代码,以便添加一些对自动化测试支持的东西。当我看到我们产品的源代码竟然如此凌乱的时候,我受伤了,从内心里也开始鄙视这些开发,如果你看过office的代码,看过chromium的代码,相信你也有同感。我当时甚至会想,难道人跟人的区别真的像鲁迅所说的,有时候比人和类人猿的区别还大,大到和红楼梦的原作和续作的区别一样?我承认我当时带着情绪,很刻薄,甚至怀疑自己该不该离开那家公司。现在想起来觉得自己不该有那样的情绪,每个人身上都有可以学习的地方,有可能别人有些地方比较差,但是也没有必要去鄙视;至少可以借此勉励自己,只有自己真正比别人强的时候,才有从心里鄙视别人的权利,当然不要把这种情绪带到工作中。测试工作中,团队的合作远大于个人的一点成绩,团队工作中一定要保证谦和以及愉快的沟通。这就是第三点,请尊重和你一起工作的人,不管能力的高低。
可是,当别人鄙视测试人员的时候,又该如何呢?很多测试人员经常抱怨被开发人员鄙视,同时觉得测试没有前途。对于这种情况,我们其实可以问一下,你觉得哪里做测试不受鄙视,有前途?很多人回答是微软和谷歌,或者一些其他外企和互联网公司,那么我们可以再问一下,为什么你不去呢?肯定有人说,这不是废话嘛,当然是能力不够了。问题就在这里,你能力不够还有什么可以抱怨的?觉得受鄙视没发展可以去有发展的公司去,如果哪个公司都进不去,那就是自己没那个本事,没那个本事就别抱怨自己的生活。也许你性格不适合这个行业,也许你沟通能力不够,但是,如果那些你觉得好的公司你进不去,那么就是综合能力的问题。人家开发讨论内存指针你不懂,人家讨论线程进程你不懂,人家讨论调度算法你还不懂,那么,人家也只能给你一些体力活了,如果体力活和管理都做的一团乱,那么还能说明什么?也许有人又会说,会这些我还干手工测试干嘛?但是事实是你不会,你只能干这个。人家学习新技术的时候,你在反复的手动,人家练习新语言的时候你还在手动,重复这样的动作多少年,干的也是同样的事情,凭什么的去谈加薪,凭什么去谈面试?要知道工作年限不是工作经验!OK,我知道可能有些难,但是这么说,想去谷歌吗?要求英语?去学呀,要求技术?去学呀。别人可以做到的,你也可以做到。这就是我要谈的第四点,请尊重你自己。简单的说,也许生活中会有各种各样的不如意,但是你总能在幸福和不幸福之间做出选择。
请尊重测试,我想如果我提到的这四项都做到了,肯定不会再抱怨测试如何了。平心而论,我真的没有觉得测试和开发有多么大的区别,做好测试和开发都一样,都需要深厚的内功,真正的测试和开发区别在工作内容的不同,而不是个人能力的不同,只有自己有了真正的行业基础和能力,才能更好的选择开发和测试哪个更适合自己,这些基础的内功和能力不行,测试或者开发都不会做得很好,最多混日子而已。
国内的测试行业是个鬼胎,想脱离这个怪圈过得更好,需要个人的努力;想彻底的改变它,需要咱们这一代测试人员的共同努力。