测试团队通常包括多种角色,每种角色都有其特定的职责和能力要求。例如,测试组长(或测试经理)是团队的核心,负责整个测试团队的管理、测试计划的制定、项目文档的评审、测试用例的设计和把关,以及与项目经理和开发组长的沟通。资深测试工程师则负责审核被测系统的设计文档,设计和审核测试用例,并解决技术难题。此外,自动化测试工程师负责开发测试脚本和编写测试程序,而初级测试工程师则侧重于功能测试用例的设计和执行。
测试团队在工作时通常采用团队协作的方式。团队成员需要明确自己的责任与角色,并共同制定详细的测试计划,以确保测试工作的有序进行。此外,团队成员之间需要定期沟通交流,分享测试进展情况、发现的问题以及解决方案,从而及时解决问题并减少协作障碍。
顾名思义,任何测试负责人的基本职责都是有效地领导一支测试团队,以实现产品目标,从而实现组织目标。当然,无论这个角色的定义多么简单明了,它都会转化为个人的一系列责任。
测试负责人通常负责以下活动:
1.确定他的测试团队在组织中的定位,以及他的团队如何实现项目和组织确定的路线图。
2.根据需求文档,明确特定版本所需的测试范围。
3.在与测试团队讨论后输出测试计划,并经过管理/开发团队的审查和批准。
4.确定所需的度量标准,并努力将其落实。这些度量标准可以作为测试团队的内在目标。
5.通过估算特定版本的规模来确定所需的测试工作,并为此计划相应的工作量。
6.确定所需的技能,并根据大家的兴趣平衡测试资源。同时,识别是否存在任何技能欠缺,并为已确定的测试人员制定培训方案。
7.确定测试报告、测试管理、测试自动化等工具,并教会团队成员如何使用这些工具。同样,如果需要,还可以为团队成员制定一些知识培训课程。
8.留住技术熟练的员工,在需要向初级员工提供指导时,培养他们的领导力,使他们能有所成长。
9.为所有员工创造有趣和有利的环境,以确保他们能够发挥最大的工作效能
有效管理测试团队
1.启动测试计划活动,鼓励团队召开评审会议,并确保评审意见得到采纳。
2.在测试周期中,通过不断评估分配给每个资源的工作来监控测试进度,并根据需要重新分配资源。
3.检查是否有可能导致进度延迟,并与测试人员进行讨论,识别出他们可能遇到的问题,并努力加以解决。
4.在测试团队内部召开会议,确保每个人都了解团队其他成员在做什么。
5.及时向利益相关者和管理层汇报项目状态,并让他们对所做的工作充满信心。
6.准备风险应对方案,以防出现任何延误。
7.消除测试团队与管理层之间的隔阂,以形成一个良好的双向沟通渠道。
测试管理
尽管领导力可以包含很多方面,比如权力、知识、主动性、直觉、影响决策的能力等,但很多时候,即使某些测试领导者天生就具备了几乎所有这些品质,由于他们展现这些品质的方式,他们可能仍然不能有效地管理测试团队。
在测试团队中,尽管领导力和管理通常是密不可分的,但它们并不是同一件事。
测试负责任人可能在理论上具备所有的领导技能,但这并不意味着他也能很好地管理团队。对于测试流程本身,我们确实制定了许多政策。然而,测试团队管理的艺术往往是一个模糊的领域,很难定义出一条明确且适用于管理的硬性规则。
我认为非常重要的一点是要意识到,对于使用理论上完美且经过验证的管理方法的测试团队来说,这种方法并不总是有效的。
为了有效地管理测试团队,需要考虑一些事实。下面进行详细阐述:
1)了解测试人员
测试人员的工作是发现软件中的缺陷或错误,从而提高软件质量。在一个团队中,可能会有一些测试人员非常喜欢通过创新和有创意的测试方式来发现代码中的问题。毫无疑问,这需要测试人员具备技能、创造力以及一种与其他人截然不同地看待软件的思维方式。
随着在工作中度过大量时间,以及经验的积累,测试人员几乎无法摆脱这种 “测试 “思维,它成为他们个人和职业生活的一部分。他们几乎会在一切事物中寻找缺陷,无论是产品、流程、测试负责人还是管理者等等。
花时间了解测试团队的这种思维方式,是测试负责人能够制定合理的测试管理方法的首要步骤。
2)了解测试人员的工作环境
测试团队往往面临着巨大的压力,因为他们需要在给定的测试资源下完成大量的测试工作,而时间却非常紧迫。
有时,可能会出现提测的延期,或是所需测试环境的延期,或是由于无数因素导致的修复/验证缺陷的延期。所有这些,都没有延长上线日程。
除此之外,还可能需要大量的测试工作,而如果测试不充分或不完整,都可能会直接引发产品质量问题。
尽管测试团队可能会主动标出他们发现的某些风险,但很多时候,管理层可能并不会非常积极地看待这一点,因为他们可能并不完全了解其中涉及的细枝末节,或者他们可能认为这是测试团队缺乏技能水平的表现。
毫无疑问,测试团队会在按时交付的压力下承受巨大的挫折。了解测试团队经常面对的工作环境,对于测试负责人/经理来说,是进行有效管理的宝贵信息。
3)了解测试团队的角色
在测试领域工作多年后,我逐渐认识到,无论进行多少测试,都无法实现 “完全 “的测试,发现 “所有”缺陷只是一种虚构的现象。
很多时候,无论测试工作多么繁重,在客户或生产环境中发现的缺陷都会被称为测试团队的 “逃逸”。测试团队往往要为这种逃逸负责,并被要求定量描述他们的测试覆盖范围,以判定这个线上问题是否可以在测试环境发现。
有时,测试人员会因此而感到沮丧,因为他们对自己的角色在技能方面如何被他人看待,有不同的理解。
总的来说,了解测试团队中的所有这些现实情况,将有助于确定合适的管理方法,这意味着很有可能摆脱标准和理论化的管理技巧。