前几天写了一篇文章,分享了一些工作汇报的方法和案例,详情见《如何编写年度工作汇报PPT》。后台有同学留言,对质量度量和测试提效部分提了几个问题,核心集中在如何提高测试过程效率方面。
我在前面写过几篇关于测试提效的文章,分别聊到了影响测试效率的因素,测试团队要提效面临的挑战,以及提高测试过程效率的一些思路和方法。
有的同学说在不同的公司和团队,项目不同,要解决的具体问题也不一样。诚然,这是客观现实,但剥离业务细节和人的因素之外,本质是没有太多区别的。
关于解决问题,我一向提倡的方式是,先摆正认知捋清思路,再解决问题。否则只想着用别人解决问题的案例套用自己的项目,最终的结果大多不会太好。
回到正题,这篇文章继续聊聊如何提高测试过程效率。
首先,要提高测试过程效率,需要先找到影响效率的因素,这是达成工作目标所必然面临的挑战。
从软件工程的角度来说,影响质量的三要素是范围、时间和成本。
范围、成本、时间也可以称之为不可能三角,即三者之间是互相制约的关系,我们最多只能追求其中两点。
所谓的提升效率,换言之就是提升单位时间内的人均产出,或者降低单位时间内的人均损耗(成本),再或者在产出固定的情况下降低工作所耗费的时间(时间)。
从质量保障的角度来说,提升测试过程效率也可以理解为:在尽可能降低成本投入的前提下,提升生产效率,并保障最终交付质量在水准线之上。这里有个前提就是交付质量是不能降低的。以上图为例,我们可以得到如下几点提升效率要面临的挑战:
综合这三点挑战,我们可以得到一个结论:在保证交付质量不变的前提下,要达到提效的目标,需要在范围、时间、成本这三者之间找到一个平衡点,并根据具体情况动态调整优先级和资源配置。
聊完客观因素,再来聊聊影响效率的主观因素。
在日常项目研发交付过程中,最常见的影响效率的因素有这几点:需求频发变更、代码质量差频繁返工、测试方案考虑不足测试手段匮乏(比如测试执行过程纯手工执行)。这几点因素又会导致一个新的问题:频繁沟通带来的信息同步问题,以及从信息同步到落地执行之间的时间损耗。
对测试同学来说,质量是团队的安全线,也是最高目标。在保障交付质量的前提下达到提升的目标,我个人认为可以分为短期和长期两个阶段来开展实践。
如上面的内容所述,成本和效率是互相制约的。要达到提效的目标,短期要做的改进大概分为如下几个方面:
除了短期见效的一些方法,提效更多的是一个长期投入持续迭代优化的过程。以一个版本迭代为时间周期,低效且高成本的环节,最常见的有如下几种情况:
在日常工作中,其实真正的编码和测试所耗费的时间并不多,更多的时间耗费在了确认需求、需求变更带来的返工、服务报错排查定位、准备测试数据、以及各种各样的沟通协调和会议中。因此在长期投入改进方面,可以从如下几个方面入手了达到降本增效: