【51CTO.com快译】据我所知,质量保证(QA)经理所面临的工作压力时常被业界低估了。他们需要在不影响项目交付期限的情况下,顺利地跟进时下流行的敏捷开发模式(请参见https://www.lambdatest.com/blog/agile-vs-waterfall-methodology/),并在复杂的商业环境中保持自身竞争力。因此,作为一名优秀的QA经理,他应该是一个拥有技术与非技术混合技能的“斜杠青年”。下面让我们来讨论一下,有哪些必备技能需要QA经理不断地进行积累与掌握,从而提高他们的“自身修养”。
有效的沟通技巧
流畅的书面沟通与口头交流是QA经理的首选关键技能。他们需要做到如下方面:
- 有效地向高层管理报告本团队的整体状况。
- 与非技术人员、及技术人员进行适当地沟通,及时在向管理层明确地解释当前产品所碰到的技术挑战。
- 在产品质量不达标、不适合被发布时,应该以婉转的方式拒绝来自高级管理层或开发团队的发布要求。
同时,组织例会也是QA经理的职责之一。就会议本身而言:
- 如果团队规模庞大,应当在每次召开正式会议之前,向相关人员发送会议讨论议程;并在会议结束之后,向与会者和其他团队成员下发会议纪要。
- 如果团队规模较小,则不需要复杂的会前准备与会后总结。可采取一种 “站立式”会议的开法,来高效地推进会议进程。
有效的解决问题能力
在介入项目之后,测试团队应迅速从手动方式(请参见https://www.lambdatest.com/blog/why-manual-testing-is-going-to-prevail-the-industry/)过渡为自动化的测试模式。此前,由于测试人员对他们所面对的每一个测试用例都非常了解,因此操作起来虽然得心应手,但是可能具有一定的局限性。然而,到了开始使用Selenium之类的工具进行自动化测试之时(请参见https://www.lambdatest.com/blog/automation-testing-with-selenium-cucumber-testng/),目标系统会在整体联动的层面上,暴露出许多问题。此时,您应当及时向管理层报告当时工作被阻的原因和位置。而且对于一些前所未有的场景,QA经理需要具备解决关键问题的应变能力。
如果您手头的项目性质是开发Web应用,那么最常见的问题可能是跨浏览器的兼容性测试(请参见https://www.lambdatest.com/feature)。而如果您正在进行的是敏捷(Agile)类项目,那么在原始需求中可能不会指定跨浏览器的兼容性。而在演示(Demo)的过程中,如果利益相关者发现该应用无法在某种特定设备的浏览器上顺利显示时,与兼容性相关的后续追加需求就会应运而生了。
可见,我们的最佳实践应该是:在每一次迭代(sprint)过程中,都要经历跨浏览器运行的测试,以避免花费大量的精力,针对后续产生的追加需求,进行整个应用产品的反复测试。
您可以通过以下的方式处置上述情况:
- 从一开始就训练测试人员遵循标准的流程,以避免出现不精细的测试用例。
- 用思维导图和清单替代传统的测试用例。
- 根据复杂性对问题进行排序,从风险性最小和复杂性最低的问题入手,抽丝剥茧。
用“鹰的眼睛”进行分析
QA经理的另一项关键技能是:能够以敏锐的眼光,细粒度地监控各类详细信息,进而对数据进行分析。因此,QA经理和其团队应该在观念上认识到:需要提高的是识别隐蔽错误的能力,而不是简单地证明被测应用能够正常地运行。与此同时,QA经理应该能够检测出异常,并指导自己的团队通过制定方案来予以解决。另外,他们对于细节的敏锐洞察力,可以体现在通过快速浏览整个产品应用,迅速定位出与既定需求和规格差距。
具有适应性和影响力
人们天生不喜欢改变,特别是对于那些已经理顺了的工作方式的改变。不过,作为QA经理,他必须通过适应性和影响力,来推动一些能够让整个团队的工作变得更轻松、更高效的改变。在当前的敏捷时代,当利益相关者期望项目实现更快的交付时,您只有通过变更来确保整体团队的持续迭代和按时交付。因此,您需要特别注意如下几个方面:
- 通过审核,发现当前流程中潜在的问题。例如:自己的团队习惯于仅对测试脚本进行微调,便应用到各种场景的用例之中。
- 通过与团队的讨论,发掘他们对于变更所持的态度与意见。
- 通过向高层管理层详细阐述变更的来龙去脉,以促成变更的实施与落地。
业务场景的可视化和排定优先级
测试经理需要能够从客户提供的规格要求中获得抽象概念,并将其可视化为实时的业务场景。简而言之,他必须扮演业务分析者的角色,将此类概念通俗地分享给自己的团队或高级管理层。
业务场景的可视化和优先级的排定,同样也是QA经理的必备技能之一。系统仿真应该属于优秀QA经理的一个素质。他必须能够根据需求,顺畅地预测到复杂的问题。针对某些特定的系统bug,他需要从系统的全局出发,排定这些bug对于整体运行的影响程度,进而通过调动与分享业务资源,让自己的团队以“头脑风暴”的方式集思广益地找到解决方案。
时间管理 - 敏捷时代的关键
作为优秀的QA经理,他应该让自己能够适应DevOps和敏捷(Agile)模式的时间管理。在任何重大变更需求被提出时,他应该通过与客户的顺畅沟通,以保证按时交付出迭代的产品版本,进而避免出现项目超期的“责任事故”。
在此,我的建议是:使用一款项目管理工具,如Jira或Asana。它能够以仪表板的形式,帮助项目组中每一位成员了解当前的任务、以及必须何时完成。此外,使用定制的即时通讯(IM)应用(如Skype或Slack),也有助于大家更好地协作,并加快项目的交付速度。如果您有兴趣,可以参考《软件测试团队19种最佳协作工具》一文,其链接为:https://www.lambdatest.com/blog/top-19-collaboration-tools-for-your-software-testing-team/。
扎实的编程基础
编程能力当然应当成为QA经理的必备技能。随着自动化测试工具的不断增多,QA经理需要通过扎实的编程基础知识,带领自己的团队去解读客户的各项需求。至于您应该具体掌握哪一门编程语言,则完全取决于贵组织所使用的自动化脚本类型。
例如:如果您的团队正在使用Selenium WebDriver,那么您就应该具备JavaScript的相关知识;而如果您的项目使用到了UFT(Unified Functional Testing),则需要Java或Web services之类的知识。此外,无论您的公司使用了何种自动化工具,SQL的相关知识都是必备的。同时,您也应该对行为驱动开发(Behavior Driven Development,BDD)和面向对象编程的核心思想有所了解,其中包括:Python、Ruby和Perl等实际操作的相关知识。
娴熟的谈判技巧
当您接到来自利益相关者或高级管理层,各种苛刻的项目时间要求时,谈判技巧正好能够派上用场。
我就曾经遇到过:在交付日期临近时,一些关键bug尚未得到解决。而在管理层的眼中,开发团队的优先级明显是最高的。他们甚至以邮件形式催促测试团队,伪造顺利通过了测试用例的假象。
在这种情况下,一位优秀的QA经理应该能耐心地通过谈判的形式,向管理层指出这种给自己“挖坑”的短视行为,重申测试团队的把关作用。同时,他应该阐明:如果放任了该bug,则会在用户体验、后期维护与修复、以及产品声誉等方面,给企业带来直接、间接、以及滞后的影响。
成为团队中的一员
QA经理需要致力于打造这样一支“梦想”团队:除了熟练的测试技能,成员之间能够开展协作,并相互帮助。而作为领导者,您应当:
- 通过团队建设之类的活动,促进友好与交流。
- 和大家一起共进午餐,通过讨论一些非技术类话题,来了解团队成员的当前状况和潜在问题。
- 带领整个QA团队与开发团队开展各式各样的合作与交流。
- 组织与项目有关的非正式讨论,让大家畅所欲言,并在会后及时予以反馈。
协助团队成员不断进步
这是一项经常被许多人所忽视的技能。虽然紧迫的项目交付时间,一直是在软件开发生命周期(SDLC)中,悬在团队成员头上的一把“达摩克利斯之剑”。但是,大家都需要通过不同类型的项目来提高自己的专业技能。有时候,您需要以职业导师的身份,协助自己的团队成员,特别是那些刚刚加入的新人,共同成长。您可以试着从如下方面进行尝试:
- 您可以将自己在该领域学到的技能、经历过的项目、以及处理的经验,以不同的方式传授给自己的团队成员。
- 通过开展内、外部培训,让富有经验的资深同事、或是外部专家来分享他们的“躲坑”或“填坑”技巧。
- 以文字的形式留下宝贵的记录,并以“看板”的方式召集大家探讨案例。
- 以开放的管理方式,允许团队成员在空闲的时间里自我精进。同时建立“一帮一”的辅导机制,让新人能够尽快地上手当前的项目任务。
大胆自信
您只有相信了自己,整个团队才会相信您。例如:当利益相关者在临近交付期时突发变更请求,如果您因为顾及管理层或客户对于自己的看法,而没能大胆且礼貌地“怼”回去的话,那么您的团队只会怨声载道、苦不堪言。另外,QA经理也要大胆地说出被测产品的bug,甚至是在设计之初所存在的缺陷。要坚持那些自己认为是正确的,并敢于发声。
摒弃旧的开发模式
传统的瀑布式产品开发模型,分割了开发人员和测试人员之间的进程、时间表与角色交互。取而代之的是具有持续测试特性的DevOps和Agile。不过,一些“守旧”的成员可能还会抱有“测试与开发对抗”的心态。因此,为了促进沟通、推进项目,QA经理不但自己要在思想上与时俱进,而且要在整个团队与项目中努力推行新模式的落地。
审时度势、收发自如
有时候,您需要在相信成员能力的基础上,放手发挥他们的主观能动性,信任他们能够在工具使用、流程管理、以及人员分配方面,具有一定的自我协调水平。过多的指导与介入,反而会给测试人员造成一定的依赖性。一旦您因为其他项目或休假而不在时,他们就会陷入群龙无首的局面。当然,在一些至关重要的任务和节点上,您的参与会给大家带来中流砥柱的效果。
总结
综上所述,QA经理的硬技能包括:各种认证证书,多年的软件测试经验,了解诸如:Shift-left测试、物联网、自动化测试等新趋势。而软技能则有:领导能力,沟通技巧,团队管理,促进成员的协作与成长,以及不断创新等方面。让我们一起在项目的实践中,不但提升产品的交付效率与质量吧。
原文标题:Top 13 Skills Of A Proficient QA Manager In 2019,作者:Arnab Roy
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】