TM第七章人员技能-团队构成

第七章人员技能-团队构成

7.1简介

为了让团队保持最好的水平,提供适当的培训和厂长机会是很重要的

除团队所需技能外,测试经理还�具备一系列的能,使其再高压力/快节奏的环境能有效的履行职责

7.2个人技能

一个人在软件测试方面的能力,可从哪些方面获取:

  1. 软件系统的使用
  2. 领域或业务知识
  3. 参与软件开发过程活动的多个阶段,包括分析/开发和技术支持
  4. 参与软件测试活动

 

软件系统的最终用户对系统如何运作,那部分出现失效造成的影响最为严重,以及系统在多种情况下应作出何种反应都非常了解----这些知识可用于帮助对测试活动进行优先级排序,创建实际的测试数据和测试用例,以及验证或创建用例

软件开发过程(需求分析/架构/设计和编码)方面的知识能帮助洞察错误如何引入/何处可被发现以及如何防止一如错误------在技术方面的经验能帮助了解用户经验/期望及易用性要求。软件开发经验对于使用测试工具是很重要的,使用测试工具需要有编程及设计的专业知识,参与过静态代码分析/代码评审/单元测试以及集成测试的技术层面

特定的软件测试技能包括:分析规格说明的能力/参与风险分析/设计测试用例/禁止运行测试并记录结果

拥有项目管理方面的知识/技能和经验对于测试经理尤为重要

测试管理包括了很多项目管理活动,如:制定计划/追踪进展并向干系人报告等

在没有项目经理的情况下,测试经理可能承担起测试经理及项目经理俩个角色,尤其是在项目后期。这些技能是超出基础级大纲及本大纲中讨论的内容

除了技术能力,人际交往能力,如给予和听取建设性批评,影响力以及协商能力对于测试角色而言都很重要

一个技术能力强的测试员,如果不具备必要的软实力,往往会失败

除有效的与他人合作之外,成功的专业测试人员必须要有条例/注意细节并具备良好的书面和口头沟通能力

 

理想的测试团队会组合不同技能和经验水平,团队成员应该乐意并能够相互学习

在某些环境下,一些技能比其他的更为重要或更受到尊重。如:一个需要API测试和变成技能的技术测试中,专业技能可能会比领域知识更有价值。而在黑盒测试中领域装也知识也许最有价值(切记环境和项目不是一成不变的)

 

在创建技能评估数据表时,测试经理应当列出所有工作和岗位的重要技能

在列出这些技能后制定打分机制(如:从1到5分,5分为该领域最高的能力等级),对团队中的个人能力进行评估

根据评估结果来判断团队中人的强弱项,并基于这些信息,制定个人或团队培训计划

测试经理也许会创建一些个人在特定领域提升能力的绩效目标,并确定用于评估个人技能的具体标准

雇佣人员应该出于长远的考虑,而不仅时为了某个项目

当测试经理在测试人员身上投入资源,并建立起一个持续学习的环境时,团队人员会收到激励,并去提高他们的技能和知识,为下次机会的到来做好准备

 

测试经理不太可能招聘到完美的测试团队成员

并且,即使团队成员对目前项目来说是完美的,对下个项目来说也许就不是完美的

测试经理应当聘请聪明/好奇心强/适应能力强/乐于工资/能作为团队的一部分有效工作/愿意并能够学习的人员

即使无法招到完美的个人,也可通过平衡团队中个人的强项和弱项来建立一个强大的团队

 

根据技能评估数据表,测试经理可找出其团队的强弱项,并以此作为培训及技能培养计划的基础

从对团队的有效性和效率影响最大的弱项着手,测试经理需决定如何解决这些领域

一种途径是培训,例如安排人员参加外部培训课程/内部培训/开发定制培训/使用在选培训课程等

另一种途径是自学,如:书籍/网络讨论/互联网资源

还有一种方法交叉培训,如:安排一位想要学习某种技能的人员,去和已具备此技能的人员一起工作,且该工作会使用到此技能,或让当地专家提供关于擅长的领域专业只是的演讲等

 

7.3测试团队动力

挑选人员加入团队时,需考虑:

此人的技能和个性是否能与团队中已存在的技能和个性互补

一个强大的测试团队能够处理各种复杂程度的项目,同事能成功的做好与其他项目团队成员的人际互动

测试活动压力大,测试经理要寻找应该时完成任务后主动询问接下来做什么的人

 

当个人感到自己时有价值的并被需要时,他们将会工作更努力,花更多心思

个人必须明白,他们每个人对团队来说都是重要的一员,他的努力对团队的成功是至关重要的

当有这种动力时,在测试团队内会发生非正式的只是传播/测试团队成员也会自发的平衡各自不同的工作负荷,测试经理则有更多的时间来处理外部问题

 

新的团队成员必须迅速通入团队,并对其进行足够的管理和支持

每个人在团队中都应有定义的角色

角色的定义可根据个人的评估过程

目标是让每个人能成为团队整体的成功作出贡献

这大部分取决于将个性与团队角色匹配,在个人已具备的技能基础上增加他们的技能组合

 

在确定哪些员工将被录用,或谁该进入测试团队时,客观的评估其技能会很有帮助

需要评估的技能包括:

技术技能可由下列活动体现:

  1. 根据需求文档生成测试用例
  2. 评审技术文档(需求/代码等)
  3. 清晰/易于理解并客观的提出评审意见
  4. 根据给定的场景从多种测试技术中选择适用的测试技术(如决策表来测试一系列业务)
  5. 评估失效并准确的记录
  6. 阐述对缺陷分类信息的理解
  7. 阐述对缺陷根本原因的理解
  8. 适用工具来测试一个给定的API,包括正向测试和逆向测试
  9. 适用SQL发现并修改数据库信息以测试一个给定的场景
  10. 设计一个可执行多种测试并收集测试结果的测试自动化工具
  11. 执行测试化测试并派出失效
  12. 编写测试计划/规格说明
  13. 编写包含测试结果评估的测试总结报告

人际交往能力(软技能)可由下列活动提现:

  1. 演示一个落后进度的测试项目西悉尼
  2. 向一位坚信无缺陷的开发人员解释一份缺陷报告
  3. 培训一位同事
  4. 向管理层演示一个无效过程的问题
  5. 评审同事白那些的测试用例,并向其表达自己的意见
  6. 面试一位同事
  7. 表扬一位开发人员

 

测试经理可评估候选人的技能,并确定他的强弱项

在建立起一套良好的评估级之后,还应用于所有现有的人员,以确定发展和培训的领域

 

7.4使测试适合组织

测试的独立性由低到高排序:

没有独立测试人员

  1. 在这种情况下没有独立性可言,开发人员测试自己写的代码
  2. 开发人员在时间允许的情况下,会确定代码是否按照预期运行,这也许会或不会符合实际需求
  3. 开发人员可以快速修复任何发现的缺陷

测试由编写这部分代码以外的开发人员完成

  1. 在开发人员和测试人员之间独立性很低
  2. 开发人员对其他开发人员的代码进行测试时,也许会不愿报告缺陷
  3. 开发人员对测试的思维定势通常集中于正面的测试用例

由属于开发团队的测试员(或测试团队)进行测试

  1. 测试员(或测试团队)或向项目经理报告,或向开发经理报告
  2. 测试员的思维定势更多的关注取验证需求是否得到实现
  3. 由于测试员是开发团队的一员,该测试员除了测试工作还有开发工作
  4. 测试员的经理也许更关心满足进度安排而不是质量目标
  5. 在团队中,测试工作的地位可能比开发低
  6. 测试员可能无权取影响质量目标或是遵守这些目标

测试由来自业务组织/用户社区或其他非开发的技术组织的专业测试人员进行

  1. 测试结果信息会被客观的报告给干系人
  2. 团队的首要关注点是质量
  3. 能力发展和培训都会针对测试
  4. 测试被视为一条职业道路
  5. 关注质量的测试团队能获得管理投入

外部测试专家执行特定类型的测试

  1. 在一般性测试不足的特定领域中应用专门技术
  2. 在需要专门技术的测试领域,如易用性/安全性/性能或其他专业化测试
  3. 质量应试这些人的焦点,但他们的视角受限于其专业领域

性能专家未必能察觉一个性能良好的产品未能满足其功能需求

测试由公司外部的组织进行

  1. 这种模式实现了测试人员和开发人员之间最大的独立性
  2. 知识传播可能不足以让测试人员有能力进行测试
  3. 需要清晰的需求和定义良好的沟通架构
  4. 必须定期对外组织的质量进行审计

此清单基于个体的典型关注点,但对于特定组织来说可能并不适用

职位和头衔不一定决定一个人的关注点

开发经理可以关注质量,因此成为优秀的测试经理

独立测试经理也许会关注进度的管理层报告,继而倾向关心进度而不是质量

测试经理必须了解组织的目标才能确定测试团队在组织中的最佳位置

 

开发和组织之间的独立性有很多不同的级别(敏捷开发中测试员通常属于开发团队)

 

测试工作可能既由开发组织也由独立的测试组织完成,最终可能由外部组织进行认可

重要的试理解测试每个阶段的职责和期望,并同事在保持进度和预算的限制下设定要求,以最大限度的提高成品的质量

 

7.5激励

激励测试人员的方法:

  1. 对已完成的工作肯定
  2. 通过管理层的审批
  3. 在同事和项目团队中受到尊重
  4. 委派更多责任和增加自主权
  5. 完成工作的适当回报(包括薪水/增加责任/认可)

 

对测试人员的负面影响包括:

  1. 一个不可能期限的项目中,测试人员可能会非常的辛勤工作
  2. 尽可能让团队专注于质量,花费额外的时间和工作量
  3. 在外部影响下,产品却有可能在完成这些工作之前就需要交付
  4. 测试人员尽最大的女里,最后的产品质量却很低
  5. 测试人员的贡献不能得到理解和衡量时,无论最终产品成功与否,都很容易对测试人员动力产生负面影响

测试团队必须确保对适当的度量进行跟踪,这些度量可用来证实很好的完成了测试/缓解了风险/准确记录结果的工作

 

认可不仅仅是无形的尊重和批准谋害可通过提供晋升机会,增加责任和绩效奖励等像是

 

当测试人员对项目的增值最初贡献时,就会获得认可和尊重

在一个项目中,最好的方式是在项目初期就让测试人员参与进来,并持续参与整个生命周期中

测试经理需对所做出的贡献进行量化,如降低质量成本和风险缓解方面进行量化

 

7.6沟通

测试团队主要通过以下方式进行沟通

  1. 测试产品的文档——测试策略/测试计划/测试用例/测试总结报告/缺陷报告等
  2. 就已评审的文档提供反馈——需求/功能规格说明/用例/组件测试文档等
  3. 信息收集和传播——与开发人员/其他测试组员/管理层的互动

测试人员和其他干系人之间的沟通必须是装也/客观且有效的,只有这样才能建立并维护对测试团队的尊重

在向他人提供工作产品反馈,尤其是建设性反馈时,必须要保持客观和老练

沟通的中等在于实现测试目标,以及提高产品和软件系统生产过程的质量

 

测试经理沟通对象广泛,包括:用户/项目组成员/管理层/外部测试团队以及客户

和目标对象的沟通必须是有效的

如:未开发软对而做的报告,包括缺陷数量和严重性及其趋势,而面对董事会的管理报告未免过去详细且不合适

任何沟通,尤其演示中,理解发布的信息,信息接受的方式,需通过哪些解释来让信息可接受是很重要的

由于测试经理通常需要演示项目状态信息,他需要把掌握这些信息适当的细致化(如管理者通常希望看到缺陷趋势,而不是单个缺陷),并以表述明确/易于理解(如简表和多色图表)的方式演示

有效的沟通能抓住听众的注意力,同时传达正确的信息

每份演示文档都需要经过测试经理的评审,以帮助提升质量和质量过程

 

测试经理不仅仅与部门外部人员沟通(对外沟通),还有一部分重要工作是在测试团队内进行有效沟通(对内沟通),传递正常测试过程中的最新信息/指示/优先级变动及其他标准的信息

测试经理还有可能对组织管理群众上游(对上沟通)或下游(对下沟通)的特定人员进行沟通

无论沟通的方向如何,规则都是一样的

应按照听众的不同进行相应的沟通,沟通应有效的传递信息,并确认听众是否理解

 

测试经理必须掌握多种沟通手段

很多信息是通过电子邮件/口头互动/正式或非正式会议/正式或非正式报告,甚至通过测试管理工具如缺陷管理工具进行沟通

所有的沟通都应当专业和客观

即使在最紧急的沟通中,对质量和内容的校对都是必须的

书面的沟通往往会保持的比实际项目时间更长久

因此,重要的测试经理能编写高质量的专业文档,而此文档适应公司对质量的要求

 

第七章需要掌握的知识点

7.2个人技能

  1. 适用技能数据表,分析团队成员在适用软件系统/领域及业务知识/系统开发领域/软件测试及人际交往技能方面的强项和弱项
  2. 分析一次给定的团队技能评估,制定一份培训及技能培养计划

7.3测试团队动力

针对某一给定的情况,讨论领导测试团队所必须具备的硬技能和软技能

7.4是测试适合组织

说明独立测试的可选做法

7.5激励

列举能对测试人员产生激励和消极影响的因素

7.6沟通

说明哪些因素会影响测试团队内的沟通,哪些因素会影响测试团队与干系人之间的沟通

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页