原创:王东升
QA选拔是一个挺大的话题,相信带队和参与面试的同学有自己的视角和思考。最近不少同学承担起了负责和面试的职责,一起探讨了这个话题,这篇文章将我们探讨的内容记录下来。从需求的角度探讨下QA面试筛选原则以及在培养选拔过程中的思路。正向的选拔与培养对双方均有易处,有望创造更多的价值。
公司为什么需要QA呢?有的同学说“为了测试项目”,有的同学说是“配合开发保证项目质量”。这个问题没有标准答案,但确实有很值得赞赏的回答,其中有同学回答是这样的“保障产品质量,提高迭代效率”。
以质量和效率为核心目标,在实际的工作中QA承担的职责各个公司会有些偏差,承担以下职责是比较常见的:需求共识的确认,辅助提升开发过程效率,测试过程进行,质量改进,效率相关的工作协调。
那具备什么才能和特质的人才能保障产品质量和提高迭代效率呢?以下几点是必须的:
在过去的5年我前后面试过400多位候选人,也与80位QA有过较深入的合作,大家的各有各的特征,能力也各不相同。很多时候也会发现候选人的面试及工作中表现和之前给定的职级并不一致,既有部分评价不足,也有比实际能力评价高的。总结来看评价可能受以下因素影响:
筛选QA是一个非常费精力的过程,即便是参与了大量面试内心还是会在面试过程中有些忐忑。以什么作为判断的依据,如何判断才能尽量客观(不被自己一时的偏见所迷惑)?在面试过程中强烈建议将核心的判断依据放在上述说到的因素中的“工作能力”和“个人素质”。尽量减少工作经历、毕业学校类的不可迁移因素的影响。如何对“工作素质”和“个人能力”进行评判呢?判断尽量基于候选人以往工作的“案例”以及实际可实现的代码进行。具体进行过程可以通过结构化的案例描述外加追问来进行。笼统来说不同层级的候选人具备不同的“发现问题”、“分析问题”和“解决问题”的能力。所有的“工作能力”和“个人品质”都应该指向当前或者未来质量和效率等生产问题解决。举例来说,如果我们需要一个能带一个方向的质量负责人,这个人应该具备独立管理方向质量和效率的能力。在发现与解决问题的层级上,匹配的候选人应该达到的状态是:能够把控产品线级别质量风险,能够有计划改进质量问题和防范质量风险,能够有效使用资源在保障质量的基础上逐步提升生产的效率。
为了确认候选人是否可以达到预期的状态可以就一个个的案例展开,展开的不同层级关注不同的能力。在最上层的全局背景沟通中主要考察候选人的主动性以及全局意识,通过对全局是否有认识,是否尝试理解更多,是否尝试为全局服务来进行判断。在中等层次(具体的项目级别上)关注具体带队和协作能力,以及是质量管控和落地的能力,以项目为目标可以有效组织各方人力进行质量保障是该层次非常重要的要求。在深入的细节层次上考察测试覆盖能力、通过技术手段提供质量和效率的能力。在面试过程中要充分使用好追问这个利器,在具体的背景展开后可以通过不同形式的追问去核查能力的水平,以及个人品质的真实状况。
候选人的筛选要基于我们明确的岗位目标。在市场上经常见到通过大量基本算法类考察进行判断的状况,该方法的好处是客观,可以客观的将候选人在非常重要算法与代码能力上进行非常直接有效的区分,但也存在问题——目标不是非常明确。我们组建的QA团队是一线生产团队,生产效能很大一块儿来自于配合的效率。举一个粗浅的比喻:在战争中一个完整的一线作战单位中作战能力配备应该是多样的——既要有可以远程狙击的狙击手,更要有近距离突破的冲锋枪,还需要有提供密集火力支撑的机枪单位,另外还要配置火箭筒、迫击炮等以防重型武器和密集火力的近距离压力。虽然现在大家的装备都提升了,也不能所有的装备都换成远距离打击的狙击枪和导弹,配合起来才能达到攻守兼备的效率。高超的质量管理能力、精确测试覆盖能力、大范围的工具支持能力、近距离的沟通协调等等都是我们宝贵的资源。所以,即使依靠算法和程序作为筛选的基础,目标能力依然是重中之重,不可忽视。
QA之间有没有天然的区分,所谓天然区分就是外界条件一致但是最终大家能承担的事情的差异却是非常大的呢?我觉得这个还真有,并且这个东西至少将QA分成三个等级(非成熟度的等级)。第一个等级,非常适合QA,能将自己的价值发挥到极致并为团队带来巨大收益的人;第二类,是适合做QA也非常努力的做QA,能发挥出来自己的价值,但是个人状况很难有较大突破的人;第三类,无心做QA,每天期待的是赶紧完成任务,下班舒服的过日子去,在工作过程中计较较多,拒绝突破角色定义去做一些有意义的事情。很明显,第三类和前两类的区分是追求和意愿。在压力较大的团队中,筛选并过滤掉第三种QA是非常重要的团队建设的目标。一类和二类的差异就比较微妙,可能源自于个人素养的差异,也常常因为机会原因导致无法突破。所以当人进入团队以后,除非后续判断此人属于第三类赶快送走外,其他都应该用心关注成长,以合适的方式进行培养。
说到成长与培养我经常在思考近两年来一种比较流行的后排淘汰机制。之所以说“后排”淘汰是因为团队淘汰比较非常大,远远超过了尾巴这个概念(有些团队年常规淘汰率超过1/3,非常大的比例)。就如前文所说的如果QA分成一、二、三类的话,通过严格控入,第三类应该比重不大。如果确实大量出现第三类QA,那应该立即投入些精力研究下究竟是把关出了问题,还是团队方向出了差错。
为什么不建议大规模排序压力来淘汰人?原因比较简单,市场中大量存在的是第二类QA,淘汰了换了也不过是为下一次淘汰打下坚实的基础。那我们如何在提高效能的前提下尽量减少第三类化呢?关注QA的成长与适当的培养就是一个非常好的路径。以之前的经历来看,只要用心筛选超过90%的QA对成长都有很强的愿望,为了这个愿望大家真的愿意付出很大的努力。
QA大面积成长与培养的基础是基于学习型团队。如果决心建设一个成长型团队,接下来就是怎么去实现了。建设成长型团队我们讨论了以下的心得:
实战中会有各种各样的问题,像学习的孩子一样,我们在QA成长上要给些压力,关注成长,必要的时候给些指导。尽量让团队向第一类化方向发展,至少我之前经历很多超出预期的惊喜。
欢迎关注公众号:逆熵研习社