克莱's profile克莱沃曼PhotosBlogListsMore Tools Help

Blog


    April 23

    再度解析开发与测试

    不久前参加了一个座谈会。这个座谈会邀请了公司里在测试领域发展非常出色的华人,基本都是test manager,来给大家解析一些测试发展的问题。由于可能公司没有华人做到test director的职位,因此他们可能已经达到了华人在测试发展的最高点了。他们应该是很牛的人,为什么呢?举个例子,我知道两个普通的测试人员回国就是两个大公司的测试director。而这两个人跟他们的差距还是很大的,可见他们如果在国内应该是多么牛的地位。当然了,他们在世界的测试领域来说也应该是佼佼者了。座谈会的焦点没有任何意外地集中在了开发与测试的比较上边来了,这个话题也是多人曾经探讨过,我个人也发表过一些自己的看法的。这次想总结一下从他们的观点中透露出来的信息以及个人的一些自己理解。

    首先说明的是,测试发展的两条路还是管理和技术,由于真正能在管理上发展的像他们那样成功的人实在是太少了,尤其是在公司的内部,因此焦点还是放在了技术发展上。其次,与绝大多数公司不同的是,这里的工资是按照级别而不是按照工种来区分的。简单地说就是,同一个级别的开发与测试的工资是相当的,因此在技术发展的焦点上就放在了级别的提升上。下边是个人的一些总结:

    1. 他们承认测试发展的ceiling是比开发要低的,比如VP测试出身的只有一个,还说了个什么我没听明白,测试的一个没有。当然这个对个人来说没有什么问题,我想基本没人能够发展到reach到这个ceiling。
    2. 测试的senior比例是比开发要低。
    3. 测试senior比例低的主要原因是很多人没有达到senior就转成开发了。
    4. 测试通过自己的提高是有机会达到senior的
    5. 测试从junior发展到中级跟开发是没什么区别的
    6. 测试从中级发展到高级的时间是一年半到never
    7. 他们见到很多人在中级呆了很长时间,比如10年,还是停留在这个级别,因为自己不努力了。

    从以上的简单总结我们可以看出,首先测试的发展跟开发相比是处于劣势的,其次,通过个人的努力测试是可能跟开发平起平坐的。这里边就牵扯到一个问题:怎样通过努力去达到senior?这里边又牵扯到了另外一个问题,为什么很多人测试没有达到senior就转成开发了?他们如果不转成开发是否就能达到senior测试呢?因为他们说很多人10年都到不了senior。

    他们的解释是可以做安全测试呀,可以考虑客户的需求呀,等等,等等,去往senior发展。我想说说自己的理解:

    1. 我见过的senior确实很少,因此可能理解不够全面,可是我感觉他们应该是具有多年的开发经验的。也就是说,他们今天能够到达senior这个级别是和他们多年的开发功力密不可分的。
    2. 由于公司是按照级别来给工资,里边的现实是,如果你想达到senior的级别,你的水平要和senior的开发相当才行。一个做测试的人,怎么才能达到与senior开发水平相当呢?除了以前有过多年的开发经验,否则是一件非常困难的事情。困难的地方就在于,测试相对开发来说还是一个比较简单的工作,在每天做这种相对简单的工作中是不可能像开发人员得到同样的水平进步的。
    3. 确实测试里边也有很多高端的测试工作或技术,比如安全测试。可是测试总体来说还是比较简单的,你的老板不太可能会给你时间去学习和分配高端测试的工作给你,否则那些简单的测试谁来做呢?因此,在工作任务的压迫下,使你转向做高端测试的机会变得比较渺小。
    4. 当然你自己可以去努力,花大量的业余时间去提高。可是这里边还有两个问题,一个是你是否能长期坚持,因为这不是工作驱动的,人很容易偷懒或者放弃。第二是谁来指导你?如果你身边很少senior的测试,你被指导的机会就会远远小于开发人员。
    5. 这也就算解释了为什么测试人员要转到开发,很大程度上是不得已而为之,如果想继续往上发展的话。即使一个人非常的热爱测试工作,他如果想往上继续发展,走向开发,或者走向开发再转回来都变得是一条更现实的路。

    因此,我还是鼓励大家,如果有机会做开发,或者转开发就不要犹豫,如果没机会,也要尽量地去学习一些开发知识。这些对测试的长期发展是很有好处的,我本人也是得益于以前有两年的开发经验。

    April 08

    测试人员如何能够受到重视?

    常常听到有人抱怨说公司不重视测试,不重视测试人员。没错,这个在小公司是非常常见的现象。其实,即使工作在大公司,虽然测试和测试人员的地位得到了很大程度的提高,可是相对开发和PM的地位还是有一定的差距,也就是说测试在公司中的地位还是比较低的,这个其实是不争的事实。道理也很简单,测试人员的技术水平,测试工作的难易度和测试在产品开发过程中的相对地位都决定了这个现实。由于测试的性质造成了相对的地位低下,那么如果想使得自己作为一个测试人员在公司或者项目组的地位得到提高,一个行之有效的办法就是超越测试的工作范围。简单来说,一个测试人员在工作中的重要性的大小不是仅仅由测试的工作范围来决定的,更重要的是你能够在多大程度上去cover开发和PM的工作。我知道在很多很多公司,包括很多大公司,都不需要你这样去做,我也不期望很多测试人员会这样去做。可是我最近理解到,去take开发和PM的responsibility对于个人的发展是多么的重要。由于各个公司的测试情况千差万别,个人的测试发展之路也是各式各样,这里主要是谈个人的理解,很可能只适合少数测试人员。这里先讲一些事例:

    1。本人以前在一个世界前几软件公司中担任team lead, title是senior SQAE,来到现在的公司是按照最低级别录用的,也就是entry level。为什么差别这么大?主要是各个公司对测试人员的要求差别太大了,这里如果只是满足测试的工作内容的话,都很难升入中级,我可见到不少水平不错,工作好几年的员工连个中级都不是呢。可是这样的员工跳到国内的公司就有做director的。

    2。以前也给大家介绍过我问director测试应该如何发展,他的回答是“短期要学好C,长期还是学好C”。可见他的回答完全跟测试没关系,应该是完全是开发的范畴。

    3。在一次会议上有人问director的老板,测试senior的实在太少了,如何才能发展成senior。他的回答主要是强调测试人员要更加的贴近客户,从客户的需求去考虑问题,不能局限于技术。可见他强调的又是PM的范畴。

    4。自己的老板对自己提出的要求也是完全超出了测试的范畴,基本点如下:

    • Debugging: find root cause of a bug (开发)
    • Code review (开发)
    • Answer customers' questions (PM)
    • Researching competitors' products and showing options in functional spec (PM)
    • Don't only focus on my components, responsible for whole feature

    5。一个印度PM同事就很牛,工作就是超出PM的范畴,开发的东西他知道底下具体是如何实现的,出了什么问题他都能估计出可能是什么问题。测试的设计他也能提出很多好的建议,很多测试的case也得请教他。他就升的特别快,几乎一年至少一级的往上升,最近发现都senior了。

    以上的例子只是想说明作为一个真正出类拔萃的测试人员各方面的功力都不能少。很多人还在争测试,开发的地位高低,水平高低。其实对于高级的测试人员和高级的开发人员来说,他们的技术视野都应该是比较一致的。因此,如果作为一个测试人员真的想提高自己的地位,就不要把、开发和测试对立起来,要把他们融合在一起才对。最后想说的是,能够把这些都做好的人不会太多,那个印度PM也算是很少见的了,他是真的很努力,负责。我本人以前也习惯性的局限在自己的任务范围之内,看到是其他人的工作就不管了,幸亏得到老板的指点,最近无论是什么问题,只要是跟自己产品相关的都积极主动地去关心,思考和处理,感觉进步很大。也希望能尽快的达到老板的要求,就是“只要是这个产品的问题,别人第一时间就会想到去问你”。我想这个时候,自己的重要性也无需争辩了。

    以上是一些个人心得,不知道是否对大家有帮助。