相遇即朋友. 想跟测试同行们学习一下,顺便也留下点自己的痕迹.

所得

上一篇 / 下一篇  2008-12-03 14:05:58 / 个人分类:所得

刚才看了cleverman的测试职业发展的三部曲,有所领悟:拷到下面作了留存.

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

第二步:自动化测试。手工测试人员和自动化测试人员最大的区别在于懂编程。不过如果你只是会用scrīpt编写一些程序的话,还不能称之为自动化测试人员,至少还要有软件设计的能力。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他们的代码,大量的试验来发现安全漏洞。这里举个例子,前不久学习一个文件加密的实现过程,发现它会把每个要加密的文件做一个备份,加密之后再删除这个备份。备份的作用是一旦加密失败,数据可以被恢复。那么我当时就考虑,这个备份删除之后,是否内容还留在硬盘呢?后来经过试验发现,确实内容还存留在硬盘上。这就是个安全漏洞,虽然你的文件加密的,可是黑客还是可以通过找到以前备份文件的内容来得到敏感的信息。

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

    cleverman 所经过的一些里程,我想也是我需要和必将经历的一些历程,从他身上我或许可以遥望到自己未来的影子,也可以知道在未来的过程中自己需要掌握一些什么,收获不少,真是非常的感激.


TAG: 所得

 

评分:0

我来说两句

Open Toolbar