软技能实际上是指那些“不易看见的技能”,是一个人“激发自己潜能和通过赢得他人认可和合作放大自己的资源,以获得超越自身独立能力的更大成功的技能”的总和。
软技能其实是情商 EQ(Emotional Intelligency Quotient)的社会学术语,它由一系列能够反映个人特质的要素组成,这些要素包括一个人的人格特质、社交能力、沟通能力、语言能力、个人行为习惯、待人友善、积极乐观等。软技能与硬技能(那些作为工作硬性要求并能够部分反映一个人智商的能力)是互补的。软技能(情商)可在一个组织的成功中扮演非常重要的角色。总的来说,软技能一方面体现在工作和生活中解决问题、处理问题的能力;另一方面体现在通过赢得他人认可和合作,放大本人资源以获取更大成功的能力。
测试人员在软件开发生命周期中,除了独立完成测试任务以外,还需要和项目的不同利益相关者进行合作,包括项目经理、开发人员或者用户等。测试人员需要向项目经理/测试经理反馈测试进度、产品质量等信息,同时还需要从项目经理/测试经理处获得项目的进展和状态,例如:项目内容或进度的变更。在测试过程中,无论是提交缺陷还是文档评审,测试人员都离不开和开发人员的合作和沟通。测试人员还可能需要从客户那里了解用户是如何使用产品的,或者因为产品的质量问题,从用户那里得到反馈甚至抱怨。因此,在复杂的测试工作环境中,测试人员除了必备的专业知识和测试技能以外,还需要具备一定的软技能。下面介绍测试人员在测试过程中需要具备的软技能。
怀疑精神
发现缺陷是测试过程中的主要目的之一,因此,测试人员对被测产品要有怀疑精神,即怀疑测试对象存在缺陷或者是无法正常工作的。很难想象,缺乏怀疑精神的测试人员能够有效地发现软件产品中的缺陷,从而达到尽量多地发现缺陷这样的目标。在静态测试过程中(例如:评审),无论是系统的需求规格说明还是设计规格说明,测试人员都应该以怀疑的态度去对它们进行分析和评估;在动态测试过程中,也同样需要怀疑精神,这样才能更有效地发现缺陷。同时,怀疑精神不仅仅适用于开发活动的交付物上,同样也适用于测试团队的交付物上,例如:对于测试团队设计的测试用例,也不能盲目相信它们不会存在错误和缺陷,这些测试用例同样需要经过项目利益相关者的评审,例如:开发人员或客户,在测试执行的时候,发现实际结果和预期结果不一致的时候,首先需要确保测试用例是否正确,同时确保测试执行的过程、数据、操作等没有问题,然后确认是否是测试对象没有实现规格说明中要求的功能或者不一致,这都需要测试人员具有怀疑精神。
好奇心
好奇心是人们希望自己能知道或了解更多事物的不满足心态。好奇心不仅是要对某一事物感到疑惑和好奇,还要继续思索以求明白事情的真相,所以好奇心是创造的出发点、动机和推动力,也是产生无穷毅力和耐心的源泉。测试人员尤其是参与集成测试和系统测试的人员需要了解很多知识,他们不仅要掌握软件系统的多个功能模块,甚至是整个系统的需求和设计,同时还要从用户的角度思考系统的使用方式。如果测试人员只关注很小范围内的信息或知识,那么他不会成为一名优秀的测试人员。测试人员对整个产品和用户环境要充满好奇心,才能驱使自己不断地学习和进步,掌握更全面的知识。
另外,除了怀疑精神,好奇心也是测试人员找到更多缺陷的基础。当测试人员在测试软件系统的过程中,碰到了一个异常的系统表现行为,对于有好奇心的测试人员而言,他会深入研究为什么会出现异常行为,并通过不断地分析和探索,找到其中的原因,例如:由于软件产品中存在的隐秘缺陷,在偶然触发的情况下导致了这样的异常行为。而对于没有好奇心的测试人员,可能就会遗漏了这样的缺陷。
创新能力
创新能力是运用知识和理论,在科学、艺术、技术和各种实践活动领域中不断提供具有经济价值、社会价值、生态价值的新思想、新理论、新方法和新发明的能力。创新能力能够根据已经存在的基础事物来创造一些新的特别的元素。创新能力可以通过一些好的实践来进行提高。在日常工作中,对问题的思考角度能够影响一个人的创新能力,当出现问题的时候,要尝试从不同的角度来分析问题,这样才能创造性地解决问题。还有一些好的习惯都有利于提高创新能力。当人处于比较放松的状态下、全面阅读尽可能多的知识、认为每个问题都是特别的、推迟做出决定和对新奇的想法保持开放的态度都有助于创新能力的提高。创新同时也意味着要打破常规,避免重复性的思考。想要获得更好的创新能力,就不能害怕尝试新鲜事物,也不要对一个想法迅速做出肯定或否定的判断。从测试计划一直到测试结束活动,整个测试过程将会遇到各种各样的问题,这个时候就需要测试人员充分应用自己的创新能力,创造性地解决这些问题,以帮助项目获得更大的成功。
分析能力
分析能力是指把一件事情、一种现象、一个概念分成较简单的组成部分,找出这些部分的本质属性和彼此之间的关系单独进行剖析、分辨、观察和研究的一种能力。随着软件系统和产品功能的不断增强,软件产品变得越来越复杂,这就使得测试活动也变得越来越困难,因此,对测试人员的分析能力要求也越来越高。测试过程是一个不断计划、分析和评估的过程,测试人员没有良好的分析能力,就无法高质量地完成测试任务,例如:测试计划和控制阶段,测试团队需要分析测试的范围、测试采用的技术和方法、测试的工作量、测试的风险等,根据测试过程中得到的信息和状态,分析计划和实际进度之间的偏差,调整测试资源、测试优先级和测试计划等;在测试分析和设计阶段,测试人员需要不断学习和了解被测试对象的测试依据文档(例如:需求规格说明),对被测试对象进行详细分析,确定如何采用测试计划中定义的测试技术和方法来设计相应的测试用例;在测试实现和执行阶段,根据测试执行过程中发现的失效,分析其失效的影响,并判断失效的严重程度和优先级,从而不断地调整测试资源的分配和测试任务的优先级。
耐心
软件开发一般被看做是建设性的活动,而软件测试常常在一定程度上被看成是破坏性的活动。但是软件测试的这种破坏性的活动并不是每次都能“破坏”成功的。在测试过程中经常出现这样的现象:尽管运行了很多的测试用例,但是没有在测试对象中发现任何的失效。这个时候,就要求测试人员具有足够的耐心。开发人员的重要输出是软件产品的代码,软件代码的数量会随着开发的深入持续不断地增长,这将极大地激发开发人员的成就感。但是测试人员不同,测试人员就像猎人一样,要经过漫长的“狩猎”过程才可能发现一个“猎物”。即使测试对象出现了异常行为,也需要测试人员经过耐心地分析和研究,才可能最终确定是否是缺陷。通常来说,测试对象的异常现象经常隐藏在大量的系统正常行为之中。因此,需要测试人员耐心检查各种数据、操作和系统表现行为,才能够发现其中的异常。
沟通技巧
所谓沟通技巧,对软件测试者来说,是具有收集和发送信息的能力,能通过书写、口头与肢体语言的媒介,有效与明确地向他人表达自己的想法、感受与态度,亦能较快、正确地解读他人的信息,从而了解他人的想法、感受与态度。 沟通技能涉及许多方面,如简化运用语言、积极倾听、重视反馈、控制情绪等等。虽然拥有沟通技能并不意味着成为一个有效的软件测试者,但缺乏沟通技能又会使软件测试者遇到许多麻烦和障碍。测试并不是独立存在的,而是软件开生命周期中的重要组成部分。实际的软件项目通常是由各种不同角色的人合作完成的,这样就难免会遇到需要和他人合作完成一项任务的问题,这个时候沟通就很关键。尤其是在当今全球化程度越来越高的情况下,很多项目由位于世界各地的团队共同完成,沟通就更加重要。沟通的方式有很多,可以是面对面的交流、电话或 Email,也可以通过文档和缺陷报告来交流信息。测试人员在整个项目开发过程中可能需要和项目经理、开发人员或用户等多种角色进行交流,良好的沟通能力有利于测试活动的开展。
团队精神
团队精神,在软件开发与测试周期过程中来说就是大局意识、协作精神和服务精神的集中体现。团队精神的基础是尊重个人的兴趣和成就。核心是协同合作,最高境界是全体成员的向心力、凝聚力,反映的是个体利益和整体利益的统一,并进而保证组织的高效率运转。随着社会的发展,社会的分工越来越细化,这同样适用于软件开发和软件测试,软件开发生命周期中的任务通常都需要通过团队来完成。团队并不是一群人的机械组合,真正的团队应该有共同的目标,其成员之间的行为相互依存和影响,并且团队成员之间能够很好地合作,从而追求集体的成功。团队是一个有机整体,团队成员除了具有独立完成工作的能力之外,同时还需要具有与他人合作共同完成工作的能力。团队的绩效源于团队成员个人的贡献,同时永远大于单个团队成员贡献的总和。团队精神是大局意识、协作精神和服务精神的集中体现。团队精神要求团队成员有统一的奋斗目标或价值观,而且需要相互信赖,需要正确而统一的企业文化理念的传递和灌输。团队精神强调的是组织内部成员间的合作态度,为了一个统一的目标,成员自觉地认同肩负的责任并愿意为此目标共同奉献。在测试人员的工作中,团队不仅是指测试人员之间应该有团队意识,作为项目的一分子,测试人员和开发人员也是一个团队。只有整个项目具备了团队精神,项目才能获得最终的成功。
工作热情
测试活动充满了艰辛和挑战。测试人员只有始终保持积极的态度和工作热情,才能够出色地完成各种测试任务和接受各种挑战。没有激情的测试人员,只会满足于完成基本的测试任务;而充满激情的测试人员不仅能够完成基本测试任务,还能够用积极的态度思考测试过程中遇到的各种问题,努力寻找解决方案,创造性地解决这些问题。同时还可以积极地对自己进行反省,不断地寻找团队和自己的不足,从而进行持续的改进。
技术能力
就总体而言,大多数开发人员对那些不懂技术的人有时或许持一种轻视的态度。一旦测试小组的某个成员做出了一个错误的断定,或者在没完全正确理解产品特性的基础上冒失的提出一个错误的软件缺陷,那么测试团队的可信度就会受到开发团队以及项目经理的挑战。测试人员必须既熟悉被测软件系统的原理、流程又要掌握一定的代码能力。既能读懂开发人员写的代码,同时也要能发现代码中存在的问题。
超强记忆力以及自我督促能力
一个优秀的软件测试人员应该具备超强的记忆力。能够把之前遇到过的各种产品缺陷深入理解后,进行分类记忆存储。当在以后的测试中遇到与之前软件缺陷缺陷类似的软件缺陷时,从记忆深处快速挖掘出之前的软件缺陷,相互比较,找到该缺陷的根源。这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。
同时干测试工作,尤其是经常用手工进行回归测试时,由于该测试已经在各个场景下跑了太多的次数,所以会让测试人员变得索然无味,同时很难调动测试人员的工作积极性,同时容易使你变得懒散。当测试人员是一个具有自我督促能力的人才能够使自己每天正常地工作。认真全面的执行每一条测试。
持续学习能力
学习能力为智力结构中与学习密切相关的那一部分能力,主要包括理解力、记忆力、问题解决能力及评价能力。软件测试人员必须保持不断学习的状态。计算机技术日新月异,无论从理论还是实践,知识更新都非常快。所以测试人员必须不断学习,了解掌握最新的测试理论、测试技术、以及其他领域的计算机技术例如云计算、敏捷开发与测试等。并在测试中,将这些理论知识付诸实践,让测试人员的测试边变得更有效、更高效。
相关推荐
软件测试是一个复杂的过程,需要测试人员具备多方面的技能。以下是软件测试必备技能: 一、操作系统知识 软件测试人员需要熟练掌握Windows、Linux、Unix等主流操作系统,包括网络基础知识。这项技能是测试人员的...
测试人员应该具备怎样的软技能测试人员在软件开发生命周期中,除了独立完成测试任务以外,还需要和项目的不同利益相关者进行合作,包括项目经理、开发人员或者用户等。测试人员需要向项目经理/测试经理反馈测试进度...
要成为一位有竞争力的测试人员,需要具备一系列的计算机专业技能和软实力。以下是对这些素质的详细阐述: 1. 计算机专业技能: - 测试专业技能:软件测试已发展成为一个专业领域,要求测试工程师具备扎实的专业...
- **公司每年对测试人员的培训次数及类型**:培训是提高软件测试人员技能的关键手段,频繁而高质量的培训能够提升团队的整体能力。 - **公司是否对测试人员有明确的职业规划**:有明确职业规划的公司更有利于测试...
这份《测试人员必读2.0版》资料集全面覆盖了测试领域的各个方面,不仅包含理论知识,还注重实践应用,对于提升测试人员的专业技能具有重要意义。通过深入学习和实践,测试人员可以更好地完成测试工作,保障软件产品...
综上所述,成为一名优秀的测试工程师不仅仅是掌握必要的技术知识那么简单,还需要具备一系列软技能和个人品质。只有全面发展的测试工程师才能在快速变化的技术领域中立于不败之地,并为公司创造更大的价值。
在这一阶段,除了技术能力之外,学习创新能力、协作能力等软技能同样重要。进入成长期后,随着团队协作的进一步深入,考核重心将向团队整体绩效倾斜,此时更加注重营造合作氛围,促进团队成员的共同进步,而非单一地...
测试过程中,测试师需要与开发人员、项目经理以及其他利益相关者有效沟通,以确保问题能得到准确的理解和及时的解决。 总的来说,"软考资料——软件测试师.rar" 包含的资源全面覆盖了软件测试师所需的知识点,从...
计算机网络技术人员_预备技师_操作技能鉴定 计算机网络技术人员(预备技师)操作...计算机网络技术人员(预备技师)操作技能鉴定考试是一个非常复杂的技术考试,需要计算机网络技术人员具备广泛的技术知识和实践经验。
它假设测试人员对程序的内部结构一无所知,只关注输入、输出和系统行为。以下是几种常用的黑盒测试用例设计方法: 1. 等价类划分法:将所有可能的输入数据划分为若干个等价类,然后从每个等价类中选取代表性的数据...
《软件测试概念与基础》是针对初级测试人员的一份入门级资料,旨在系统地介绍软件测试的基本理论和方法。这份资料对于理解软件测试的核心概念、流程以及重要性具有极高的价值。下面,我们将深入探讨软件测试的相关...
- **技术能力**:测试人员需要具备一定的技术背景,了解被测软件的功能特性和架构设计。 - **相关素质**:包括但不限于批判性思维、细致入微的态度、强烈的责任心等。 - **沟通技巧**:测试人员需要与开发人员、项目...
在竞赛中,除了专业技能的考核,还重视参赛者的团队合作、职业道德、工作态度、人际交往和工匠精神等软技能的展现。这些素养是现代软件行业从业人员必备的素质,有助于他们在复杂的工作环境中成功应对挑战。 通过...
1. **项目立项前**:虽然测试人员在项目初期似乎无需提交工件,但实际上,理解项目需求和参与前期讨论对于制定有效的测试策略至关重要。 2. **单元测试**:能够发现大部分(约80%)的软件缺陷,是软件测试的基础...
综上所述,测试用例设计的挑战涉及多个层面,从需求理解到技术掌握,再到模型建立和测试过程中的多种问题处理,都要求测试人员具备综合性的技能和知识。通过问题驱动的测试设计方法,结合系统化、专业化和发散性思维...
软件设计师是指具备软件系统设计能力,能够负责软件项目的整体设计和架构的专业人员。软件设计师需要具备深厚的软件技术知识和综合能力,能够理解和分析用户需求,进行软件需求分析与设计,编写技术方案,并组织实施...
它可能还包含了测试人员应具备的软技能,如沟通、问题解决和批判性思维。 4. **测试职业发展方向规划指南**:这篇文档可能是为那些寻求职业晋升或转变的测试人员准备的。它可能涵盖了测试经理、测试架构师、测试...
【软件测试基础知识】 软件测试是软件开发过程中的关键环节,旨在发现并报告软件中的缺陷,以确保产品的质量、稳定...优秀的测试人员需要具备一系列专业技能和素质,而软件测试本身也是一个充满挑战和创新的工作领域。
综上所述,软件测试技术涵盖了多个方面,不仅需要掌握测试技术本身,还包括测试流程的管理、团队合作、缺陷管理等软技能。作为一名测试人员,持续学习和实践是提升测试能力的关键。只有不断吸取新知识,并将其应用于...