测试人员应该具备怎样的软技能测试人员在软件开发生命周期中,除了独立完成测试任务以外,还需要和项目的不同利益相关者进行合作,包括项目经理、开发人员或者用户等。测试人员需要向项目经理/测试经理反馈测试进度、产品质量等信息,同时还需要从项目经理/测试经理处获得项目的进展和状态,例如:项目内容或进度的变更。在测试过程中,无论是提交缺陷还是文档评审,测试人员都离不开和开发人员的合作和沟通。测试人员还可能需要从客户那里了解用户是如何使用产品的,或者因为产品的质量问题,从用户那里得到反馈甚至抱怨。因此,在复杂的测试工作环境中,测试人员除了必备的专业知识和测试技能以外,还需要具备一定的软技能。
软技能实际上是指那些“不易看见的技能”,是一个人“激发自己潜能和通过赢得他人认可和合作放大自己的资源,以获得超越自身独立能力的更大成功的技能”的总和。
软技能其实是情商 EQ(Emotional Intelligency Quotient)的社会学术语,它由一系列能够反映个人特质的要素组成,这些要素包括一个人的人格特质、社交能力、沟通能力、语言能力、个人行为习惯、待人友善、积极乐观等。软技能与硬技能(那些作为工作硬性要求并能够部分反映一个人智商的能力)是互补的。软技能(情商)可在一个组织的成功中扮演非常重要的角色。总的来说,软技能一方面体现在工作和生活中解决问题、处理问题的能力;另一方面体现在通过赢得他人认可和合作,放大本人资源以获取更大成功的能力。
测试人员在软件开发生命周期中,除了独立完成测试任务以外,还需要和项目的不同利益相关者进行合作,包括项目经理、开发人员或者用户等。测试人员需要向项目经理/测试经理反馈测试进度、产品质量等信息,同时还需要从项目经理/测试经理处获得项目的进展和状态,例如:项目内容或进度的变更。在测试过程中,无论是提交缺陷还是文档评审,测试人员都离不开和开发人员的合作和沟通。测试人员还可能需要从客户那里了解用户是如何使用产品的,或者因为产品的质量问题,从用户那里得到反馈甚至抱怨。因此,在复杂的测试工作环境中,测试人员除了必备的专业知识和测试技能以外,还需要具备一定的软技能。下面介绍测试人员在测试过程中需要具备的软技能。
怀疑精神
发现缺陷是测试过程中的主要目的之一,因此,测试人员对被测产品要有怀疑精神,即怀疑测试对象存在缺陷或者是无法正常工作的。很难想象,缺乏怀疑精神的测试人员能够有效地发现软件产品中的缺陷,从而达到尽量多地发现缺陷这样的目标。在静态测试过程中(例如:评审),无论是系统的需求规格说明还是设计规格说明,测试人员都应该以怀疑的态度去对它们进行分析和评估;在动态测试过程中,也同样需要怀疑精神,这样才能更有效地发现缺陷。同时,怀疑精神不仅仅适用于开发活动的交付物上,同样也适用于测试团队的交付物上,例如:对于测试团队设计的测试用例,也不能盲目相信它们不会存在错误和缺陷,这些测试用例同样需要经过项目利益相关者的评审,例如:开发人员或客户,在测试执行的时候,发现实际结果和预期结果不一致的时候,首先需要确保测试用例是否正确,同时确保测试执行的过程、数据、操作等没有问题,然后确认是否是测试对象没有实现规格说明中要求的功能或者不一致,这都需要测试人员具有怀疑精神。如图 1:软件测试人员职业能力框架图。
图 1. 软件测试员职业能力框架图
好奇心
好奇心是人们希望自己能知道或了解更多事物的不满足心态。好奇心不仅是要对某一事物感到疑惑和好奇,还要继续思索以求明白事情的真相,所以好奇心是创造的出发点、动机和推动力,也是产生无穷毅力和耐心的源泉。测试人员尤其是参与集成测试和系统测试的人员需要了解很多知识,他们不仅要掌握软件系统的多个功能模块,甚至是整个系统的需求和设计,同时还要从用户的角度思考系统的使用方式。如果测试人员只关注很小范围内的信息或知识,那么他不会成为一名优秀的测试人员。测试人员对整个产品和用户环境要充满好奇心,才能驱使自己不断地学习和进步,掌握更全面的知识。
另外,除了怀疑精神,好奇心也是测试人员找到更多缺陷的基础。当测试人员在测试软件系统的过程中,碰到了一个异常的系统表现行为,对于有好奇心的测试人员而言,他会深入研究为什么会出现异常行为,并通过不断地分析和探索,找到其中的原因,例如:由于软件产品中存在的隐秘缺陷,在偶然触发的情况下导致了这样的异常行为。而对于没有好奇心的测试人员,可能就会遗漏了这样的缺陷。
创新能力
创新能力是运用知识和理论,在科学、艺术、技术和各种实践活动领域中不断提供具有经济价值、社会价值、生态价值的新思想、新理论、新方法和新发明的能力。创新能力能够根据已经存在的基础事物来创造一些新的特别的元素。创新能力可以通过一些好的实践来进行提高。在日常工作中,对问题的思考角度能够影响一个人的创新能力,当出现问题的时候,要尝试从不同的角度来分析问题,这样才能创造性地解决问题。还有一些好的习惯都有利于提高创新能力。当人处于比较放松的状态下、全面阅读尽可能多的知识、认为每个问题都是特别的、推迟做出决定和对新奇的想法保持开放的态度都有助于创新能力的提高。创新同时也意味着要打破常规,避免重复性的思考。想要获得更好的创新能力,就不能害怕尝试新鲜事物,也不要对一个想法迅速做出肯定或否定的判断。从测试计划一直到测试结束活动,整个测试过程将会遇到各种各样的问题,这个时候就需要测试人员充分应用自己的创新能力,创造性地解决这些问题,以帮助项目获得更大的成功。
分析能力
分析能力是指把一件事情、一种现象、一个概念分成较简单的组成部分,找出这些部分的本质属性和彼此之间的关系单独进行剖析、分辨、观察和研究的一种能力。随着软件系统和产品功能的不断增强,软件产品变得越来越复杂,这就使得测试活动也变得越来越困难,因此,对测试人员的分析能力要求也越来越高。测试过程是一个不断计划、分析和评估的过程,测试人员没有良好的分析能力,就无法高质量地完成测试任务,例如:测试计划和控制阶段,测试团队需要分析测试的范围、测试采用的技术和方法、测试的工作量、测试的风险等,根据测试过程中得到的信息和状态,分析计划和实际进度之间的偏差,调整测试资源、测试优先级和测试计划等;在测试分析和设计阶段,测试人员需要不断学习和了解被测试对象的测试依据文档(例如:需求规格说明),对被测试对象进行详细分析,确定如何采用测试计划中定义的测试技术和方法来设计相应的测试用例;在测试实现和执行阶段,根据测试执行过程中发现的失效,分析其失效的影响,并判断失效的严重程度和优先级,从而不断地调整测试资源的分配和测试任务的优先级。
原文转自:http://www.ibm.com/developerworks/cn/rational/1310_lihuan_testerability/