经营成功的测试职业生涯 ---(James A. Whittaker)

发表于:2012-08-28来源:新浪博客作者:lxg0618点击数: 标签:
参加ChinaTest大会期间,听到的最多的3个问题就是:1.测试行业的前景;2.测试人员的职业规划;3.KPI。对于第一个问题,我是充满信心的。现代的软硬件系统复杂程度正在呈几何速增长,越复杂的系统需要进行测试的强度就会越大,从近几年测试从业人数的猛增就能看

  参加ChinaTest大会期间,听到的最多的3个问题就是:1.测试行业的前景;2.测试人员的职业规划;3.KPI。对于第一个问题,我是充满信心的。现代的软硬件系统复杂程度正在呈几何速增长,越复杂的系统需要进行测试的强度就会越大,从近几年测试从业人数的猛增就能看出来。在《骇客帝国》那样由人工智能统治人类的世界到来以前,测试仍然是大有可为的。对于第三个问题,貌似不管是基层、中层还是高层,都会为此头疼,断念最后的闪电演讲中也说道:暂时无法提供一个现成的方法,只能依照让KPI成为一个有很好导向的事物的原则行事。我也是现在还为KPI苦恼的人之一,就不多说了。

  关于第二个问题,我想不管是刚入门的同学,从业几年的测试工程师,还是大牛们,都需要面对并仔细思索。做测试的前途是什么?如何做到卓越?也许是这个问题显得有些功利,也太发散,ChinaTest大会并没有专门将其作为一个议题。可是从目前的整个行业的人员结构来说,新人占了绝大多数,远方有一盏明灯就会显得很重要。在思考这个问题时,我想到了前一段读的《探索式软件测试》一书的作者 James Whittaker对这个问题做出的回答。他把测试职业发展的道路比喻为爬山,用很好的实例讲述了各个阶段我们应该做什么。我在读阅读过程中产生了强烈的共鸣。现在我把这篇文章找了过来,贴给大家,希望能够有所帮助。(如果有违反版权的地方,请通知我,我会及时删除)。特别值得一提的是,Jame测试人员发展的一个阶段叫做“下山”,与参会的同行交流时,很多人已经把这个观念渗透到骨子里了,他们已经走在了“下山”的路上。测试在国内发展多年,我们测试界也已经有了很多牛人,这是非常让人欣慰的事情,没准未来的十年会有Jame Bach这样的大师和James Whittaker这样的准大师出现,让我们一起见证这个过程吧。

  --------------------------------分割线------------------------------------------------------------

  经营成功的测试职业生涯

  (James A. Whittaker)

  你是如何开始做测试工作的?

  1989年,我在田纳西大学读研究生的时候,完成了从软件开发人员到软件测试人员的转型。而这一转型并非出于我自己的选择。我命运的改变发生在一个早晨,我的教授质问我为什么缺席那么多开发会议。我解释说因为会议被安排在星期六早上,很不方便。

  而怍为一个生平第一次离开家的新入校的研究生,这个时间段有些麻烦。十分有意思的是,等待我的惩罚并不是一纸解聘通知书,而是被判罚为该小组的唯一一个测试人员,且不能与开发团队有任何交流。

  对于我的职业生涯来说,这是一个意义多么重大的决定啊!正是这个决定最终成就了几十篇关于测试的论文,构建了多得连我自己也记不清的各种工具,出版了五本书,带来了无尽的快乐工作时间。测试一直就是我拥有的那份具有创造性和技术挑战性的快乐职业。不过,并不是所有人都喜欢这样。可以说我最早接触测试是在攻读研究生期问,不可否认,那时的高强度学习和工作确实让我受益匪浅。另外,我认为从初学者阶段到专家阶段之间存在着一个“测试的山峰”,人们需要通过一系列个人辅导、获取信息和接受常规指导来翻越山峰。成为一个测试初学者是很容易的,成为职业的测试人员也并不艰难。本章的重点正是讨论如何翻越那座位于职业测试人员和测试专家之间的山峰。

  回到未来

  在软件测试领域,时间似乎已经停滞了。我们在21世纪做事的方法与上个世纪几乎完全相同。Bill Hetzel在1972年出版的测试知识丛书至今仍然相当有价值。而我自己所写,于2002年首次出版的How to Break Software(如何攻破软件)系列,到今天仍被作为实用软件测试技术主要资源的代名词。

  确实,如果我们可以把20世纪70年代的测试人员转换时空用在今日,我猜想他们的的技巧足够应付现代软件的测试。当然,他们需要学习网络和各种网络协议,但是他们拥有的实际测试技术将能得到很好的应用。如果从20世纪90年代找一个测试人员,则不几乎不需要任何训练。

  对于开发人员来说,却不是这样,他们所掌握的那些上世纪的技巧几乎已经完全过 时。让一个有一段时间不写代码的人重新开始编程,看看会有什么样的反应。让我感到很不安的是,我们可以从马路上直接雇用人手,而雇来的这些人从第一天起就能够测试,就能够有收获。事情真的有那么简单吗?或者是我们的期望值只有那么低?让我更加不安的是,我们没有任何可预测的方式将合适的测试人才从胜任工作状态训练为测试专。测试真的就那么困难吗?

  这又是那个山峰了。门槛很低,但通往精通的道路却很艰难。

  在通往测试山峰的入口,我们倚仗的是这样一个事实:测试的很多方面都很容易掌握。大多数人都可以学得有模有样。甚至只要将一点点常识应用于输入的选择,就可以,我出缺陷。这个层次的测试就如同在桶里钓鱼,简单到足以让任何人都认为自,自己很聪明。然而过了入口以后,道路迅速陡峭起来,而测试知识变得越来越晦涩难懂。我们发现有人擅长于此,我们称这些人为“有天赋的人”,并欣赏他们的本能。

  难道一定要依靠本能么?对于那些看起来不具备特长的人们,是否存在着一条翻越山峰的途径?是否可以以某种方法传授测试技能以培养出更多的专家呢?为认为这座山峰是可以通行的,而这一章正是我关于应该如何走这条路的笔记,你可以在自己的职业生涯中加以应用。这并不是一份食谱配方,一份职业生涯烹调书。不过你可以做一些事情来加速你的职业成长。但是,正如你可能已经猜到的,真正是说来容易,做起来难。

  上山

  测试职业的早期阶段主要是为征服测试山峰的漫长攀登做准备。我所能给出的最好的建议是从两个方面来思考问题。对于你参与的每一个项目,都有两部分(不一定相等)的任务。第一部分的任务是保证当前的测试项目获得成功。而第二部分的任务是学习你应该做些什么以便使下一个测试项目更加容易。我把它称为“测试今天的项目,准备明天的项目”。如果你做每一个项目把它都分割成为上述的两半,那么几乎可以保证你能持续获得进步。这样,你就可以随着每一个参与的项目逐渐成长为更优秀的测试人员。

原文转自:http://www.ltesting.net