cleverman 发表于 2008-4-24 10:20:39

再度解析开发与测试

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

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

他们承认测试发展的ceiling是比开发要低的,比如VP测试出身的只有一个,还说了个什么我没听明白,测试的一个没有。当然这个对个人来说没有什么问题,我想基本没人能够发展到reach到这个ceiling。
测试的senior比例是比开发要低。
测试senior比例低的主要原因是很多人没有达到senior就转成开发了。
测试通过自己的提高是有机会达到senior的
测试从junior发展到中级跟开发是没什么区别的
测试从中级发展到高级的时间是一年半到never
他们见到很多人在中级呆了很长时间,比如10年,还是停留在这个级别,因为自己不努力了。
从以上的简单总结我们可以看出,首先测试的发展跟开发相比是处于劣势的,其次,通过个人的努力测试是可能跟开发平起平坐的。这里边就牵扯到一个问题:怎样通过努力去达到senior?这里边又牵扯到了另外一个问题,为什么很多人测试没有达到senior就转成开发了?他们如果不转成开发是否就能达到senior测试呢?因为他们说很多人10年都到不了senior。

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

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

afeng 发表于 2008-4-24 10:43:30

测试的工资水平和一个公司对测试的重视程度有很大关系,有些公司就是觉得测试不如开发,所以有这样领导在,测试的工资和地位永远不可能和开发相当,不过在另一些公司特别是一些跨国公司,一些测试的水平也不见得比外面公司的人好多少,不过他们的外语水平是可以的,但技术方面不见得强很多,但他们的工资却是和开发持平的,这就和公司管理层的思路有关系了,在现阶段,测试的工资想要提升的和开发一样,也是要靠些运气的,一个办法是努力提升自己的业务水平,不过这个受环境和自身能力的限制,很难在短期内见效,二一个就是想办法进入跨国公司,不需要很大的公司,但也要靠一些运气,而后者可能不仅在工资上给你带来很高的收益,在技术的提升上可能也会有一想不到的效果,因为外企的那种环境是国内公司不可比拟的.

gwell 发表于 2008-4-24 11:01:03

呵呵,cleverman一直很赞成开发对测试有很大的帮助,这点我也很赞成,
举个我的实例吧,毕业5年,1年测试培训经历,一年测试工作经验,现在测试拿5.5K,估计转去做开发3K以下,而且还是去那些不规范中小型公司,看来好像比较难以下决心去做开发而获取开发经验,

afeng 发表于 2008-4-24 11:17:18

钻牛角尖就没意思了

cleverman 发表于 2008-4-24 12:20:05

回复 3# 的帖子

钱的因素是一个很重要的.举个例子,比如你一直做测试,可能过两年你是6K,7K. 如果转开发,可能是3K,可是两年之后你能就升到10K以上了.在转回测试就是大公司lead了。当然我不赞成你从5.5k到3k去搞开发。我觉得比较可行的办法是,先自己学习,练习开发,然后找机会,一边找,一边学。一直找到一个跟你测试工资差不多的开发工作就可以转了。

happyeveday 发表于 2008-4-24 13:07:08

我不太会说大篇大篇的话,但很赞成cleverman的话.做测试想提高呢和开发密不可分!如果想成为测试的某个领域的高手比如自动化,性能...我的想法是和所在的公司有关,比如你的测试组内有这么一个人可以解决你在学习过程中的困难,那么你有福了,这样一个人的成长是相当快的.
不过话说回来如果就自己一人折腾的话,周期会很长...:)

cleverman 发表于 2008-4-24 14:07:11

今天有人发现了一个问题,我远程调试他的机器搞了差不多两个小时,还是找不到root cause,而且以我自己的调试技术来说已经没有办法在进行下去了。这就是和开发的差距呀,郁闷。

stilldeeppool 发表于 2008-4-24 14:26:20

我工作快6年了.大学毕业后.干了半年多的开发.后来转行做了测试
由于是科班出身的.我的很多同学都去干开发去了.刚转行时.那个收入的差别之大喔.让很多人都不理解
不过我是的确喜欢这个行业.很多人不解的问我,为干什么要去做测试,我就说"开发是创造的乐趣,测试是探索的乐趣"
举个例子,前段时间一个服务器集群出现了问题,很是诡异,把全部的主要开发人员召集在一起查找问题所有,然后三天过去.无所成效,我把手头上的事情忙完后.这事交到我手上.用了半天多的时间,把问题找了出来.
在我五年多的测试工作中,换了三家单位,最初去时都是进测试团队,然后干了不到半后就转到开发团队去了
包括我现在所在的单位,平时做测试,也写代码,更多的时间是去解决一些疑难杂症.
的确,会编程序将对你的测试生涯增色不少,所以我劝很多刚进入这行的人都好好学一下编程
我最大的梦想是工作到30岁,写一本关于测试的书出来.然后去某个学校混个讲师之类的.把我的经验告诉给想入这个行业的人

cleverman 发表于 2008-4-24 14:59:36

回复 8# 的帖子

你干的很出色。我觉得高手就是没必要把测试开发分开,什么都会干才好,什么都能干好才高。
也希望能尽早看到你的著作,到时候能不能送我一本呢?呵呵。

厍仕杰 发表于 2008-4-24 15:47:40

做什么都需要的是计算机能力。而开发是涵盖众多计算机能力的,测试却只含一部分、在我看来测试更大的发展来之于市场和it质量和行情发展、而开发更大的发展来之于技术驱动。不能单纯的用技术和工资来衡量测试与开发。而且就目前我及做开发又作测试。所以只能顺气自然啦

stilldeeppool 发表于 2008-4-24 16:01:09

今天感冒,外加各项目风平浪静,所以就坐在电脑面前灌灌水
发现产品缺陷一是靠自己的职业经验,二是靠对测试产品的认识度,这个认识度不仅是对功能,还包括对产品架构.逻辑实现,任何一个产品都是与其环境(硬件,软件,网络)和数据流相关的,所以能够通晓各个环节,是保证这个产品稳定的基础
作为一名测试人员.我觉得不仅要具有发现产品缺陷的能力,也应该具备解决缺陷的能力
经验能够让自己快速的对缺陷进行定位,会编程能够快速的对缺陷进行逻辑分析,
像我现在的工作,比如发现程序报错弹窗口了,然后就打开Dr分析汇编,大致上就知道问题出在那个函数,然后打开代码工程来看相应的函数逻辑,那儿有赋值.那儿有内存拷贝等,这样就很容易发现问题之所在,然后找到开发人员.说你某某函数的某某地方出了问题,
很搞笑的就是这样,每当我说发现一个Bug,然后开发人员直接就说.算了.你直接去改了就是
所以这样的工作让我每天充满激情.自己的能力受到了别人的尊重,当然同样收入也会受到公司的尊重

cleverman 发表于 2008-4-24 16:30:16

回复 11# 的帖子

说的太好了,我太同意了。可惜我还达不到这个水平,正在努力中。
希望你多介绍一下经验。
有个问题就是你们的产品是否考虑安全测试呢?也就是说找安全漏洞?谢谢。

gantangyu 发表于 2008-4-24 16:37:41

楼上的楼上都是高手啊!!:victory:
“像我现在的工作,比如发现程序报错弹窗口了,然后就打开Dr分析汇编,大致上就知道问题出在那个函数,然后打开代码工程来看相应的函数逻辑,那儿有赋值.那儿有内存拷贝等,这样就很容易发现问题之所在,然后找到开发人员.说你某某函数的某某地方出了问题,”

弱弱地问下:Dr分析汇编是什么?

shanxi 发表于 2008-4-24 16:47:31

回复 11# 的帖子

Dr不解,是Windows的docwatson还是什么?

一般出错在没有源码的情况,用Windbg还是非常方便的。偶尔用用IDA Pro也不错,呵呵。

gantangyu 发表于 2008-4-24 17:03:07

你说的Dr是Dbgview吗?

cleverman 发表于 2008-4-24 17:06:11

回复 14# 的帖子

我 assume是这个。不过我也是不清楚。我就是用windbg和kd.
IDA pro是什么?有什么特点?

cleverman 发表于 2008-4-24 17:07:18

回复 15# 的帖子

dbgview是什么?

cleverman 发表于 2008-4-24 17:09:24

shanxi,你对windbg命令熟吗?我还不算熟,有时候想干什么不知道怎么干,你要熟回头我碰到问题过来问你。

kevin_swpi 发表于 2008-4-24 17:17:38

一直都在关注楼主的文章
楼主的经历确实蛮丰富并且都很充实

但就个人所看到的由测试转到开发或者再转测试的人毕竟还不是很多
再一个原因,测试在目前我所在的地方和我所接触到的人里,基本上都不需要接触代码,换句话说是手动测试占了多数
(可能地域因素可能个人所接触到的面比较少,所以这样的断论请大家轻拍)
所以正是这样的原因,测试的能力和开发根本也就不能站在同一线上,更不说待遇等等了

对于一个大环境如此的地方要提高或者说遇到更好的伯乐
还是比较困难的
一个测试能力的提高 环境是个很重要的因素如果所在公司没有相应的环境
你要即使自学了但由于没有很好的实践提高起来都很困难的

对于这样的情况
cleverman有什么建议?
(本人在成都,经验尚浅(2Y++),由于些些原因,不能离开这里而到沿海城市)

可能上面说的比较乱,想说的太多了吧 呵呵
如果有机会,cleverman,可以给你发邮件 聊聊:lol

cleverman 发表于 2008-4-24 17:36:55

回复 19# 的帖子

你说的情况,不但在成都,在北京,上海,深圳应该也是很普遍的情况,即使在大部分的外企也是很普遍的情况。你所描述的就是当前测试的现状,是测试的典型情况。很高兴你能够承认测试和开发不在一条线上,有了个认知才能促使你进步。你的问题是一个很难解决的问题,我觉得有两个可能:第一就是转向开发,这个是比较实际的一个做法。第二就是要自己下功夫研究自动化测试。我认为可行的办法是,在你的手工测试的工作中去分析和研究,把经常重复的工作想办法automate起来。先确定什么需要automate,然后去考虑如何automate? 比如,用什么工具,用什么语言,等等。最初不一定要做的有多好,能automate一点是一点。虽然你的工作不要求你这样做,你可以私下自己研究和实践,把自动化的成果先应用到自己的工作中,然后慢慢提高,介绍给其他同事,并且尝试解决更难,更广泛的自动化测试的问题。这样时间长了你的水平就得到了提高,你也具备了自动化测试的经验,如果你觉得ready了,就可以去一家正规公司应聘自动化测试工程师了。成都的IT发展还是很不错的,我相信你还是能找到这些位置的。
页: [1] 2
查看完整版本: 再度解析开发与测试