我们为何要成为一个领域专家?
有一天,你可能会考虑离开目前的职位,你可能选择加入另一个团队或另一个公司。你可能会问自己的一个问题是,从我过去作为一个软件测试员的经验中,学到些什么样的技能,或者我能胜任什么样的职位。不幸的是,今天我们很多的软件测试员只对他们的所负责部分有着深刻的理解,但他们缺乏测试产品应有全面的视野。其中一个原因是,今天我们的测试员过于注重功能性测试,我相信这是我们不太注重用户的使用场景或者我们的最终用户是怎么在使用我们产品。这也是我即使测试了SQL Server六年,我依然没有资格担任一个数据库开发人员或一个DBA的主要原因。
你可能会问,为什么我们应该考虑成为一个领域专家,或另一种问法,为什么不就永远待在测试角色上。原因是,它会为你的未来打开一个非常宽广的门,让你有一个更好的职业。领域专家的需求将远高于专业的QA,另外补偿金(compensation)也将更高,尤其是当你成为一个解决方案提供者时。
对微软的软件测试员,更是如此。我们公司有大量的优秀产品,有非常多的客户。对熟悉微软产品,并知道如何打造端到端解决方案的领域专家或专业人士都有着很高的需求。你越了解微软产品,你的职业发展越好。
给软件测试员的建议
现在,我想给我们的软件测试员提供一些建议。首先,问问自己,你三年后想成为什么样子的人,要成为一个领域专家,或者想成为一个专业软件测试员。这个问题,我建议你尽早地思考和作出决定。
然后,如果你想成为一个领域专家,你需要有一个成长计划。这里有一些可以帮助到你的步骤:
1)选择一个你想专注的领域。我们在微软实在是太幸运了,我们有这么多伟大的产品,因此我们有许多领域可以专注。近年来,IT技术的变化日新月异,我们应该谨慎选择那些IT趋势的领域。在这里,我想有几个你可能有兴趣知道的领域:
NoSQL和BigData是数据库管理领域的热点。市场对熟悉NoSQL(例如Hadoop,MongoDB等)的人有着巨大需求。
Windows Azure是微软的云计算平台。完全理解的这个系统和知道怎么构建可扩展的系统,将是你的职业发展中的一大优势。
Windows Phone和Windows 8是我们下一代的操作系统。能为这些平台构建应用程序,能让你轻松地找到一个开发人员工作。
企业客户希望整合社交网络,office,移动和必应(Bing)搜索以提供更大的生产力。熟悉Office 365,微软其他的产品能够可以让你成为一个解决方案的提供者。
2)在你的工作中培养你的技能。一旦你有对你想熟悉什么样的领域有一个想法后,你需要培养的相应技能。如果你目前的工作领域不是你的兴趣所在,考虑转到其他团队。此外,做一些副项目(side project),参与车库项目(Garage projects)中做些基层创新始终是一个不错的方式来提高你的技能。作为一个微软的员工,你有着很多优秀的资源可以利用,我强烈建议你发掘,总结你的知识。我强烈建议你设定了一个目标,并持续不断地提高你的技能。这是你的事业,你应该认真地投入时间来对待。请看我的其他博文,你可以从中找到另一些提高自己的建议。
给主管和经理(Lead and Manager)的建议
亲爱的主管和经理,我希望你能认识到并非你所有的员工,在最后都能成为一个专业的软件测试员。我们应该帮助我们的成员,增长他们的领域知识,并给他们一个更好的职业。有一天,当你的员工决定转行或离开公司时,他们会感谢你提供的机会,以帮助他们学到自己的知识,并感谢微软提供了一个让他们能成长的平台。
有时,建立一个健康、快乐的团队,比完成的任务更为重要。微软拥有的优秀员工正是我们宝贵的财富。作为主管和经理,我们应致力于让我们的员工感到开心,并有一个更好的职业发展。鼓励人们学习新东西,让员工能在某些领域里投入自己的时间,始终是一个培养员工的不错的方式。你也将认识到,如果这样做,你的员工也会引入一些新东西到他们的日常工作中。拥有领域知识和了解顾客如何使用产品,一直对测试都有很大益处,这将是软件测试的趋势。
成为一个工具开发人员
今天,许多我们的软件测试员编写了测试类库和测试框架,协助测试自动化和测试运行自动化。在整个公司里我们有很多的测试框架,测试运行系统。编写测试工具是一项重要的技能,它可以帮助我们的软件测试员增加他们的编码能力。如今,很多软件测试员开发测试框架和测试类库。他们和其他开发人员一样写一些代码。测试工具开发人员和软件测试员之间的一个很大区别是,编码技能是开发人员最重要的技能,而对软件测试员来说最重要是测试技能。
我们的工具开发人员面临的一个挑战是,你应该与使用你所创建的类库的其他人紧密合作,并确保你的确提高了工作效率。请记住,编写工具不是你的目标,让其他人更敏捷才是你的目标。
我能给想要成为工具开发人员的软件测试员一个建议是,你可以大体上看看,编写一个测试工具跟编写的其他软件是一样的,所以如果你有良好的编码能力,你可以在很多团队中有着潜力无穷的成长,所以不要限制自己去寻找一个软件测试员工作或只编写测试类的工具。
另一种观点认为,测试工具开发人员和编译器开发人员,UI开发人员或数据库开发人员一样,他们只是在不同的领域具有专业知识的开发人员。这是我之所以把本节的标题写成“成为工具开发人员”,而不是“成为测试工具开发人员”。
它带来了另一个有趣的观点,就是我们的测试员(SDET)角色实际是专业软件测试员和测试工具的开发人员的混合体。我们希望大家通过编码(开发的角色)来做更多的测试自动化(测试的角色)。但是,在某些情况下,我们发现在这两个领域,我们都不太擅长。它可能潜在地限制我们的软件测试员长期的职业规划。
转行或继续
我曾打算写一些建议,关于你是否应该留在你目前的职位或转行到另一个其他团队、其他公司的职位。在写下我的想法之前,我想我可以给你一些关于这个主题的参考。
第一篇文章是一个10年前Interface上发表的一篇文章,标题是“职业生涯?什么职业生涯?”。文章首先说,“你的职业生涯发展是你的责任。”和“你管理着自己的职业生涯。”然后说你,你的经理和微软怎样一起合作,帮助你的成长。这篇文章提供了一系列的问题让你进行思考并回答。根据你的答案,并提供些很好的建议,无论现在是否应该做出改变。我最喜欢它的一部分是,它有很多的探索式(probing)、开放式(open-ended)的问题。例如:
原文转自:blogs.msdn.com/b/qingsongyao/archive/2012/12/14/tester-s-career-series.aspx