关闭

优秀测试人员所具备的素质

发表于:2007-4-09 14:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李志    来源:51testing投稿

  一个优秀测试人员需要完成以下关键任务:

  ●      验证。他需要验证系统能够完成特定功能。

  ●      侦测。他能够发现存在的问题,不管是在流程中还是在产品中。

  注 验证与侦测任务是测试的两个方面。两种任务都需要做,但它们的所占的比率则因部门、公司、职位不同而不同,而且在不同的软件周期也会改变。

  ●       防止。他能够确定潜在的问题,而不是等到这些问题出现。

  ●      反省。他将通过回顾来知道问题和bug是如何进入产品的,并分析这些信息以便学会如何在未来改善流程。

  为了有效的完成这些任务,测试人员必须了解产品中用到的通用技术以及产品对这些技术应用的特定实现。测试人员要有以下习惯:破坏以及问问题以使自己学到更多。

  一个优秀测试人员的关键品质之一就是问问题而且是恰当问题的能力,这一点很重要。有些人认为“如果你不得不问,说明你不懂”,这阻碍了他们的进步。毕竟把好的问题问出来是学习的最好方式。没有愚蠢的问题,只有问错了人的问题。问各种问题之前要先确定正对的对象。最好的测试人员会不断地问关于软件的问题-对这些问题进行面谈以及询问。一旦测试人员学会了这个技巧,他将迅速在职业生涯中脱颖而出,而且将迅速了解他所测试代码的相关知识。这是一种苏格拉底式的学习方法,有助于教你如何自学。

  优秀测试人员另一个非常重要而有时候会被遗忘的特点是处事变通。测试人员能够看见公司里不完善的一面,甚至有时候能发现隐藏着的丑陋的一面。他们还能直接发现bug的来源以及是谁导致的:架构师、开发人员、设计人员或者管理层。一个优秀测试人员懂得公司的其它人经常会视他们的部门是“必要的魔鬼”。

  先考虑一下产品开发的情况。产品和程序经理致力于准确的确定功能以及行为,这是从面谈以及研究客户得来的。开发人员长时间努力来使得软件(从高层的用户接口到复杂算法)符合客户行为。他们需要确定潜在的出错条件从而得到正确的处理。开发人员非常小心的构建产品;他们把知识、经验以及努力都投入进去。接着,这个仍处在幼儿期的经过许多努力生产出来的组件传到了测试部门。测试人员接过这个婴儿并开始如实告诉开发人员这个婴儿时如此丑陋以及如此残缺不全。这是测试人员的工作。没有哪个组件是完美的,否则也就不需要测试部门了。然而,用什么样的方式方法来确定这些问题将很大程度上的影响到别人对作为一个测试人员的你的看法。进而影响你与其它部门的关系。

  实际上,这意味着单个的测试人员必须保持行为的高标准。不要对着丑陋的婴儿横加指责。不要取笑你发现很古怪的东西。下面这两句话有这本质的区别:“天哪,Joe!你今天早上是怎么搞的?你的代码看上去太糟了”,另外一句是,“最近加入的付费功能在基本用户场景下运行时不够稳定。在我们继续测试之前,我希望可以回过头来复查一下功能的实现”。在第二个例子当中,我们指出故障是在代码当中。没有必要对Joe的能力提出质疑。开发经理或测试经理将负责跟踪bug的出处。你的工作是确定哪些需要得到修正,而为了使之进行的比较容易就不要与你所依赖的人建立对抗的关系。

  这里有个实际的例子可以说明我的意思。许多项目应用一种流程,该流程规定所有的bug的修正必须独立进行构建而且在通过测试人员的验证后才能把修正登记到主构建树。有一次,某开发人员把5个bug修正放在一起一并提交给一个测试人员。测试人员立刻发现了一些问题并在6分钟之内发出了5封邮件到开发组,每封邮件分别是针对这五个bug  修正的。这种方式对开发人员与测试人之间的亲密协作并没有帮助。在这种情况下,测试人员应该这样来进行信息沟通,即把所有的问题放到一封邮件中并一次性的讨论所有的问题,而不是在组织面前一次又一次的指出该开发人员。

  你的角色是确保高质量的、稳定的产品。一个优秀测试人员不会让和他一起工作的开发人员感到尴尬。而且一个优秀开发人员也将会认识到这一点并肯定测试人员的价值,这些价值体现在通力合作来找到代码中的问题上。另一个真实世界的例子也体现了我的观点。在一个我工作过的团队,那些发现很多问题的测试人员将会拖延开发人员check-in他们的代码到主构建树。一天,在讨论这些拖延的时候,我对于再一次拖延某个特定开发人员的check-in的动作表示了道歉。该开发人员非常坚定的告诉我没有必要道歉,我正在做的恰好是他期望的。他知道把他的代码预先进行完整的测试意味着他可能永远都不需要再去访问这些代码。他不需要担心在开发周期的最后阶段在他的代码里发现bug,而到了这个阶段管理层又最容易看到。在这次简短的讨论中,我得知这个团队的开发人员在他们的心目中把测试人员分成了两种-一种是彻底的检查所有的东西然后才开绿灯,另一种则使得开发人员需要检查第二遍。他是属于那种有鉴赏力的开发人员,他知道让测试成为自己的有利条件,而且他从不会忘记感谢测试人员,坚持认为测试人员了解他们正在测试的应用程序以及所包含的技术。很多测试人员都在犯逃避开发人员的错误。这切断了很多沟通渠道:与开发人员以及程序经理进行沟通。这种沟通将使你更加有效率,使你的工作变得更加容易。

  注 记住测试的总的一点—尽快地发现问题并挑出其中恰当的问题进行修正。

  本文翻译自:

  The Web Testing Companion: The Insider's Guide to Efficient and Effective Tests

  by Lydia Ash   ISBN:0471430218

  John Wiley & Sons ?? 2003 (554 pages)

  This guide provides practical, hands-on techniques for testing the design, globalization, performance, and security of Web applications. 中的“What Makes a Good Tester?”一章。

版权声明:51testing 软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。 51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号