cleverman 发表于 2007-4-12 02:57:31

测试职业发展的三“步”曲

进入测试行业也有两年半了,从一点不懂,迷惘的状态,到了现在也有些自己的理解了。常常听到有人问各种各样的问题,不同的人也对测试表达出不同的理解,甚至很多自相矛盾。比如,测试到底有没有前途,测试的待遇如何,测试与开发哪个好,哪个更重要。我们更看到有些人具有测试十几年的经验出口说“测试不需要懂编程”,可是我们又看到很多手工测试人员由于不懂编程而被公司所淘汰。我们常听到有些手工测试人员讲“自动化不是万能的,很多产品不适合自动化”,可是我们又看到很多大公司又只招自动化工程师。因此出现了测试,开发互相看不起,手工测试,自动化测试互相看不起的奇怪现象。正是因为有这么多的问题,这么多的疑惑,也没有人能给出一个很好的解答,或者大家的解答都各不相同,造成了如此的情景。到底隐藏在这些表面现象的深处,根本的东西又是什么呢?我认为,是大家没有真正理解什么是测试。测试不同于开发,开发经过几十年的发展已经到了很成熟的阶段了,因此大家对于开发就不会有很多的争论与问题。测试发展才多久呢?有人说很长了,可是我们想想大学什么时候才开设有测试知识的课程呢?可能现在也不是所有计算机专业都能在大学就接触到测试的知识吧?不然现在也就没有这么多测试培训班了。测试是一个新兴的行业,它正在快速的发展着。因此,我们对于测试的理解,千万不能只是停留在某一个层次。对于测试人员来讲,不能妄自菲薄,也不能坐井观天,我们需要共同的努力去推动测试流程,测试技术的发展,充分发挥自己的主观能动性,发现或发明更好的测试方法,能在测试的发展上留下自己的足迹,自己的贡献。这里说一下测试相对于开发来说比较吸引我的方面。开发人员的工作实际上是比较死板的,一定要根据设计文档来实现,偏离了设计文档就是bug了,甚至编程的风格也要按照公司的规范来,因此,工作中并没有太多创造性的东西。而测试人员相对来说就会自由很多,因为测试没有什么固定的模式来做,我们的目标就是保证产品的质量,而手段就是找bug。具体怎样找,基本上你可以完全来自我控制,手工找,自动化,看代码。因此,测试工作给我发挥创造力,想象力的机会,所以,我喜欢他。

说了很多闲话了,现在步入正题吧。我说一下目前我的状态对测试的理解,谈一谈测试职业发展的三步曲。说一下每一步的工作内容。

第一步:手工测试/黑盒测试:这个大家都是太熟悉不过了,主要是设计测试用例,执行测试用例,发现bug,报告bug,验证bug fix。每一步都有junior, senior, architect的区别。junior刚入门,就是熟悉学习这些东西,这些东西都搞熟了,加上对产品的较深理解就是senior了。 senior要对一些较大的模块能够做计划,能够带领junior的一起工作。architect要能够对整个产品有深刻的理解,可以规划整个产品的测试,包括需要多少硬件,需要什么软件,需要多少人力,需要多少时间,等等。

第二步:自动化测试。手工测试人员和自动化测试人员最大的区别在于懂编程。不过如果你只是会用script编写一些程序的话,还不能称之为自动化测试人员,至少还要有软件设计的能力。junior刚入门除了要学习手工测试的那些知识以外,还要能够使用某种高级语言,某种测试工具自动化自己所负责的测试用例。senior除了手工测试的那些要求以外,还要能够规划一个较大模块的自动化,能够解决各式各样junior在自动化过程中发现的问题。architect除了手工测试的要求以外,还要能够对整个产品进行自动化的设计,比如采用什么语言,采用什么工具,各个模块自动化的整合,自动化的schedule,自动化的report等等。

手工测试人员的title,往往叫做SQAA(Software QA Analist), junior SQAA, senior SQAA, principle/staff SQAA。

自动化测试人员的title,往往叫做SDET(Software Design Engineer in Test), junior SDET, senior SDET, principle/staff SDET。

还有更常见的title,SQAE (Software QA Engineer), 是处于这两者之间的,既要手工测试,也要懂得自动化测试。基本上大多数的测试人员都是发展在这条path上。因此,你可以看看自己,如果是SQAA,就要往SQAE的方向发展,如果已经是SQAE了就要往SDET方向发展。不同的path,虽然有不同的级别,但是工资也是有区别的。比如senior SQAA=junior SQAE, senior SQAE=junior SDET。而且,不同的path可能最终能够发展到的级别也有区别,比如SQAA可能就不会设有principle SQAA的级别。也就是说,如果想达到architect的级别,只是会手工测试是远远不够的。

达到Senior SDET应该就是比较高级的测试人员了。编程序,自动化这些都是小菜一碟,就是跟开发人员比起来也能做一个准senior的developer了。可是这还没有发展到头,以我现在的观点来看,还有第三步。

第三步:安全测试。我们知道各式各样产品最终发布出去最头疼的并不是用户找到多少bug,而是安全问题。很多知名大公司发布产品后,还要投入大量的人力去进行安全漏洞的修补。安全漏洞严格来说也是质量问题,那么这些安全漏洞有没有可能在产品发布之前被测试人员所发现呢?答案是肯定的。因此作为我们测试人员的话,把手工测试,自动化测试精通之后,就要努力向安全测试的方向发展了。具备有安全测试能力的工程师基本上都可以称之为测试专家了。这需要有非常强的编码能力,非常深的系统内核知识,甚至黑客的背景。更重要的是,要随时能够从安全的角度来分析产品的质量。我们要了解程序员实现的具体方法与步骤,结合review他们的代码,大量的试验来发现安全漏洞。这里举个例子,前不久学习一个文件加密的实现过程,发现它会把每个要加密的文件做一个备份,加密之后再删除这个备份。备份的作用是一旦加密失败,数据可以被恢复。那么我当时就考虑,这个备份删除之后,是否内容还留在硬盘呢?后来经过试验发现,确实内容还存留在硬盘上。这就是个安全漏洞,虽然你的文件加密的,可是黑客还是可以通过找到以前备份文件的内容来得到敏感的信息。

以上是自己对测试现状的理解,自己可以怎样发展?自己也正在有意识的向第三步发展。我觉得测试人员一定不要停留在自己的目前技术水平,技术没有尽头,上面的发展空间还非常的广阔,也许还有四步曲,五步曲......

Eagle1983 发表于 2007-4-12 09:07:28

不错啊 cleverman 顶一个,对了
发表于 2007-4-12 02:57半夜写的?

cleverman 发表于 2007-4-12 09:26:53

我在美国呀。国内半夜,我是中午。

skybusy2000 发表于 2007-4-12 09:40:36

貌似LZ在国外
鉴定完毕

暗淡蓝点 发表于 2007-4-14 11:50:38

每次看你的帖子都受益匪浅
技术没有尽头
谢谢!

rickyzhu 发表于 2007-4-14 14:05:19

顶起来,支持原创和自己的感受。

Terry0816 发表于 2007-4-14 15:17:35

Up

[ 本帖最后由 Terry0816 于 2007-4-14 19:43 编辑 ]

zhuxiang_668 发表于 2007-4-17 16:07:44

LZ,我在南京做测试一年了,由于以前公司的不规范,管理混乱,觉得自身发展不大,是一个准senior吧,我很有兴趣在测试这条路走下去,以前看你发了很多帖子,想表达一下观点,并希望您能帮我建议下以后的学习与发展目标!
      首先,我觉得LZ在国外工作,实际情况跟国内有很大差距,还有一点我们大多数做测试的都在国内企业工作,而且国内地域性差异也很大,像南京,我觉得像您所说的SDET就很少有,在我们这项目经理感觉就像你所定的title,能达到你这样的水准就不在国内混了,可绝大多数人还是在国内的。所以我建议呢,以后凡是刚来的junior或者不同行业的测试人员,要把自己的发展方向搞清楚,不要人云亦云,毕竟人与人后天还是有差距的,尽自己的努力就行了!
       下面有一些肤浅的问题希望cleverman给些建议,我是一名SQAA,学的是c/c++,功底差(学的是计算机数学),现在公司进行的是WEB测试还有些附带的系统测试,我现在也想转SQAE,但公司自动化测试较少,但距离你说的SDET还是差距颇大的,测试工具的开发与编写国内估计没几家企业能做到,水平限制,但也不乏高水准的,我个人觉得我要定个实际点符合自己的目标。我现在还不想离开公司,因为待遇还行,学习氛围也好,我想通过这段时间提升下自己。
      我初步是这样打算的:学习JAVA和oracle、以及提升语言阅读力(英文一词多意太多,希望建议下学习方法,最好是那些专业性英语书刊),自己用自动化工具进行测试(但缺乏标准,没人评审,希望建议些学习方法流程以及书刊)。
      希望LZ思量下我不成熟的打算,多提些实际的建议,最主要是怎么个学习去提升,还有一些具体的发展目标。(注:我曾想转开发再做测试的,但同事们觉得这样太累而且得不偿失)望能解决我的踌躇!谢谢!

Eagle1983 发表于 2007-4-18 09:19:03

楼上的是那年毕业的啊 ?06年么 我就没楼上的那么专心的做测试了,06年6月份9月做开发,9月07年3月做测试,3月到现在又做开发 哎~~~~~~~~~~ 都不知道该干啥好

skybusy2000 发表于 2007-4-18 09:32:01

sdlkfj1 楼上的该不会在我们公司吧

cleverman 发表于 2007-4-21 07:39:25

原帖由 zhuxiang_668 于 2007-4-17 16:07 发表 http://bbs.51testing.com/images/common/back.gif
LZ,我在南京做测试一年了,由于以前公司的不规范,管理混乱,觉得自身发展不大,是一个准senior吧,我很有兴趣在测试这条路走下去,以前看你发了很多帖子,想表达一下观点,并希望您能帮我建议下以后的学习与发 ...

你好,感觉你的想法不能说不成熟,还是很不错的。首先,由于你身在南京的原因,感觉你的眼光还是受到了一定的限制。别说南京了,就算深圳的到了北京,都有点井底之蛙的感觉。当然我这里是谈职业的发展,不是讲life
style. 讲生活的话,南京是一个很好的选择。但是,如果职业发展的话,没有城市能跟北京,上海比。个人的发展肯定是要受到环境的制约的,比如你所意识到的国内和国外的差别。为什么要谈这个呢?因为大环境对一个人的影响还是比较重要的,但是肯定不是绝对的。我想如果你水平到了一定程度也是很可能去上海,北京发展的吧?就目前的情况来说,你的学习计划还是很合理可行的。起码你按照这个计划做下去,一两年之后能够见比较大的成效,自己的水平也能提高一大截,做到SQAE应当没有任何问题。对于英语的学习,你看看我写的我学习英文的经历吧,不知道对你会不会有帮助,我是主张背新东方那本书的。自动化工具的学习,我觉得你可以自我审查,如果公司还没有建立评审系统的话。自动化最主要的工作是节省我们的手工劳动,你编写了自动化代替了手工测试,达到了这个结果就足够了。当然还存在自动化比率和稳定性的问题,这些都需要你慢慢的来提高。比如你把50%的手工测试用程序来跑了,并且做到10次有9次你的程序不出错误,就已经是很不错了。总之是走一步就提高一步,刚开始自动化一个case就是进步。能转开发的话也是条不错的路。什么叫太累?轻松的能学东西?能提高水平?什么叫得不偿失?工资会降低?在大公司很多测试人员在技术条件成熟的时候都转去开发了。相对来说,测试技术方面的东西还是比较少的。因此,我强调测试人员一定要精通行业知识。开发与测试的工作不一样,但是对行业知识的掌握是不应该有区别的。目前测试人员比开发人员地位低,实在是行业知识掌握得比开发人员浅薄所致。

guobayang 发表于 2007-4-23 14:56:00

很不错的阿~~

zhaofengwwx 发表于 2007-4-23 16:55:51

支持原版!!楼主的一番话具有很强的指导意义,‘技术 无尽头’这句话说的很有道理,学习中..........

chillbin 发表于 2008-9-21 11:28:42

支持楼主,说的很有道理

geral123 发表于 2008-9-21 11:41:01

说的好

heqingbluesky 发表于 2008-9-22 10:07:22

哦,去年的帖子,今年才看到。除了安全测试,我认为性能测试也是测试的另外一个阶段。

fangyiye 发表于 2008-11-18 09:18:08

楼主好强,从中受益很多

zhsumei 发表于 2008-11-18 13:43:55

受益匪浅啊!!!感谢楼主~

m2b2x 发表于 2008-11-19 22:02:29

两年了还在SQAE,路还很长:hug:

zz45509 发表于 2012-12-4 18:51:49

{:4_89:}
页: [1] 2
查看完整版本: 测试职业发展的三“步”曲