在前面的部分我们介绍了测试工程师需要完成的最基础的测试工作,然而随着这个行业发展,越来越多的人在重新定义QA在企业中所承担的使命。

重新定位QA

以往,大家普遍给QA的定位是:只管测试就好,只要发现bug就可以,QA的使命就是发现bug,也是因为这样的定位导致出现我们经常听到大家会说在团队中测试的地位总是低于PM和RD。但是随着测试这个职位不断的职业化,QA正在不断地重新定位自己,需要承担起更多的责任,我们不仅仅需要在测试阶段发现bug,而应该在项目研发的早期就避免缺陷的发生并能够及早地预判到潜在的质量风险,然后采取相应的措施,提高项目的交付质量。这也是最近我在各种大大小小的公开课,听到的“测试左移”概念。在我的定义中一个优秀的QA应该能够在各个阶段熟练的进行质量风险把控,而预判到质量风险的存在则需要经验积累和岁月的沉淀。

测试左右移

伴随着“测试左移”,还有另外一个概念或者我们应该完成的事情是“测试右移”。我们需要能正确区分两者。我们以测试前、测试中、测试后作为划分,“左移”意味着我们可以尽早的进行测试,而右移指的是测试后我们需要做的一些事情。我们必须要承认的是:我们的测试是有限,不可能发现程序中存在的所有缺陷。所以我们需要要一定的手段帮助我们监控和发现线上问题,除了人工通过客服群进行收集外,也能采取一定的技术手段进行监控,如APP端的Crash监控,服务的接口请求监控,从而帮助我们及时发现线上问题。在测试右移的过程中需要研发配合做一些信息上报和日志监控,QA所能做事情有限:跟进问题;复盘优化总结。不同的时,在测试左移的过程中,QA能够做比较多的事情。

研发流程优化工作内容

主要工作内容是:对测试前、线下测试、上线;灰度验收过程中遇到的问题以及包括线上提报的缺陷进行总结和梳理,从中提炼一些典型的、具有共性的问题(影响项目进度、对上线质量会产生风险、影响开发和测试效率的一些问题),针对这些问题思考后续可优化可落地的措施,把这些措施融入在我们的研发流程之中,并在项目后续迭代研发过程中落地执行,从而保证每个项目迭代都能够顺利正常进行,并且能够保证上线的质量。

我们只有在有数据的前提下才能够进行对应的复盘总结,因此需要大家对过程中的数据能够做到极度敏锐(拿出小本本记下来),并具有敏捷的反思能力,才能抽取出其共性的问题。有了优化的措施之后,我们要把它在团队中推广,需要一定的沟通和说服能力,并且需要你有相应的影响力。在项目后续迭代研发过程中落地执行,则需要你极度的自律,遵守既定的规范去做事情

研发流程优化的方式

通常我们通过书写需求/项目维度的测试报告(质量报告)的方式来进行梳理和总结,对于重大的项目需要动员项目全体成员一起进行复盘总结。质量报告中包含的内容有:

  • 项目上线过程中关键节点的预期完成时间;实际完成时间(复盘主要问题节点)
  • 过程中的问题记录与总结分析(测试前问题、测试过程中发现缺陷、上线过程中验证问题、灰度验收问题)
  • 并提供后续优化改进建议。
  • 质量报告编写之后除了要发送给项目成员,必要是要抄送对应成员的老大,这样报告能够发挥更大的效果,也能进一步地塑造QA的影响力。在工作中,给大家一个真诚的意见:请尽量把握好那些能够塑造自己影响力的关键事件,这些都是你想要获得好的绩效以及获得晋升的关键事件节点。

简单举例

上面是从理论上给大家讲解的关于研发流程的总原则,这一小节会列举我在工作中遇到的一些问题以及我是如何做的,给大家一个直观的印象。

我入职之后承接的第一个项目是一个从0到1开始开发的项目,当时团队成员是临时抽调出来的,