看到一个很有意思的话题:测试团队需要保障质量,同时也要考虑测试效率,质量和效率之间的平衡,其实很大程度上取决于测试和开发的人数占比。只有先保证资源上的平衡,才能在保障质量的同时保证一定的测试效率。
这个话题背后的逻辑成立吗?我仔细思考了这个问题,表面看似合乎逻辑,但经不起分析和推敲。结合笔者本人将近十年的软件测试和团队管理经验,我想谈谈我对于测试开发比,以及质量和效率平衡的理解。
质量保障的不可能三角
技术同学应该都知道,影响质量的三要素分别为时间、范围和成本。理想情况下,大家都希望研发过程可以“多快好省”。但实际上,在这三者之间,你最多只能选择其中两项。
当然,除了上述三点,还需要考虑技术落地难易程度、团队成员的适应能力,以及利益分配方面的平衡。影响因素太多,因此很多时候与其说我们在做质量保障,还不如说我们是在通过各种测试验证方法,来隔离和降低影响因素对交付质量的风险。
要隔离和降低风险,势必要从软件需求和设计阶段介入去发现和评估风险,在软件编码阶段通过编码规范、方案评审、单元测试及code review等方法来提高可测性。
等到了真正的测试阶段,其实更多的是通过各种方法来对已发现和潜在的风险进行充分暴露,然后进行修复验证。
要想降低风险,提高质量,要么投入更多人力资源,要么给予更多的设计编码和验证时间,要么每次迭代的版本范围尽可能缩小。但无论是投入更多资源还是给予更多时间,又会和单位效率的追求相矛盾。
而且从团队和项目管理的角度来说,无论是人多了还是迭代周期长了,都会增加不可控因素出现的频次和概率,这样又会增加管理成本以及大量不必要的沟通协调。
求上行中得下,质量保障最终在时间、范围和成本三者之间,能瞄准一项就不错了。
理性看待测试开发比例
测试开发比这个词,我特意搜索了关键的信息,无论是软件工程理论还是质量保障相关的专业资料,并没有找到具体的出处。“测试开发比”这个术语并不是一个公认或标准化的行业术语。
如果仅仅从字面意思理解,它可能指的是在软件研发过程中,测试活动和开发活动的某种比例或关系。下图是我利用大模型搜索出来的相关信息,仅供参考。
很有意思的是,在很多场合大家提起测试开发比,都默认指的是技术团队中测试和开发人员的人数比例。
这样其实有些以偏概全了,在我的角度看来,并不能代表质量和效率就能得到很好的提升。下面是三个我亲身经历的案例:
1、业务测试团队:测试开发比1:5。
业务测试团队的主要测试活动,还是基于业务需求进行各种需求分析和场景设计用例执行。由于业务测试的各种场景组合复杂性,以及沟通协调等很多琐碎的事情,导致需要较多的测试同学投入进来。
2、基础架构团队:测试开发比1:12。
基础架构团队主要负责提供各种基础技术设施和中间件建设,比如注册中心、配置中心、分布式调度、监控和链路追踪。这种基础技术组件本身的功能特性相对较为具体,且更容易模块化和标准化,因此测试资源的占比会相对低一些。
3、云服务厂商团队:测试开发比1:16。
一朋友在某大厂云服务团队做QA工作,他们团队的测试开发比可以达到1:16。在他们团队中,QA同学的工作主要是流程建设和优化、研发交付过程改进、为研发提供测试工具和基础设施建设,更类似质量教练的角色。
最后,聊聊质量和效率之间的平衡如何抉择。
我个人的看法,未来测试岗位的角色定位会逐渐从质量保障验证迁移到质量教练的定位,即通过流程建设、标准制定、过程改进、提供工具和基础设施,为整个技术团队提供辅导和赋能。
因此在质量和效率之间找平衡点,更建议应该从上述这几点来开展工作。比如测试活动中比较费时间的点有准备测试数据和测试环境部署维护,那就可以通过工具和基础设施建设优化,来提高方面的效率。
质量和效率的平衡,是一个不断发现瓶颈,不断调整和优化的过程,并没有单一维度的参考和标准值。
标签:质效,开发,质量,测试,平衡,团队,效率 From: https://www.cnblogs.com/imyalost/p/18277494