【测试人生】浅谈变更风险防控的数据运营

从质量管理角度来讲,变更风险防控算是一类重要的方向,从业务的角度来讲,通过运营变更风险数据,可以更好了解变更发布的质量,从而预防线上问题。今天就浅聊一下,变更风险防控的数据运营,需要做好哪些数据基础。

简单来说有以下三个部分:渠道风险、准召拦截、发布效率。

首先来讲渠道风险。渠道风险运营本质上属于变更管控部分,所有变更发布的源头都要归属到特定的渠道。从一个变更风险防控平台的角度出发,如果一个变更渠道接入了防控平台的能力,就算做收口,渠道有不同变更类型,统计每类变更类型的收口率,是衡量渠道风险的基础标准。在此之上是管控,在收口的基础上,如果一个变更过程中,防控能力的运行模式在预期之内,比如不是刻意跳过,就算是有效管控,否则则算风险逃逸。有效管控与否,本质能够反映不规范的变更行为带来的变更风险。如果变更渠道收口率高,但有效管控率低,大多数情况下需要考虑研发体验的问题,比如拦截噪音高,发布效率低,导致实际变更时,大家更加愿意跳过而不是遵循合理的管控流程。这些数据运营就放后面说。

这里需要强调的是,渠道风险并不会直接和事故风险相关联。线上事故的诱因通常是某个渠道变更产生,但根因并不一定在渠道本身上。比如,某个大数据量的脚本刷数,代码里面一次性加载所有数据,不限速去刷DB,导致DB扛不住。如果描述这类风险的话,就是在刷数场景,代码存在风险,而代码承载在哪个渠道,就是另外一回事了。所以实战当中,除了对每个渠道本身做风险运营之外,更需要从变更场景出发,确定怎样的能力可以有效降低风险,然后再去看这些能力怎么应用到发布渠道上面,这样才能够真正把事故风险解决掉。

然后讲一下准召拦截。简单来说,如果一个防控能力为用户暴露了风险,那么相当于产生了一次拦截。如果用户认为当次拦截的内容是合理的,那么就算是一次有效精确的拦截,如果线上确实有风险,风险也同时暴露出来了,那就算是召回了风险。通常来讲风险召回比较难界定,因为只有问题产生了,才能知道风险是否被召回,最多只能粗略认为,用户操作回滚了,就算有风险。所以,本着避免问题的目的,在假设线上问题没有产生的情况下,可以通过统计拦截的精确率,来衡量风险防控能力的技术质量。

对于不同渠道不同业务服务,风险拦截的情况是不一样的。通常来讲如果要用算法优化拦截策略,首先要积累大量的发布和以往的变更数据,然后在风险召回不劣化的前提下,基于业务、渠道、服务、需求重要度等特征,去看哪些防控能力的那些拦截场景需要做降噪,哪些问题多的服务需要重点提升告警水平。从而在风险防控和用户体验质检找到最佳的平衡点。

最后讲一下发布效率。变更风险防控本身是肯定对发布效率有折损的,所以在衡量防控能力质量的时候,也需要考虑能力执行是否对发布本身造成影响。每一次变更除了上新需求外,也有可能包含对既往缺陷的修复,或者是一些hotfix紧急修复线上问题,对于前者来讲更加希望风险拦截更常规一些,后者则希望发布速度更快一些,拦截松一些。以及,一些服务是测试用的,或者没有线上用量,相对没那么核心,而另一些服务则需要重点照顾,所以对于前者,可以考虑更宽松的拦截策略,加速发布进度。

一般来讲,发布效率分析主要是分析每个阶段的准入准出耗时,以及细粒度就看具体哪些卡点能力耗时比较多。优化策略方面,如果停留观测时间比较长,可以酌情缩短停留观测时间配置;如果是人工确认不及时,可以提升确认通知的紧急度;如果是自动化测试耗时过长,可以优化自动化测试代码,酌情缩短准出时间。总而言之,需要把渠道发布、流水线执行、防控能力执行的数据打通,才能更好分析问题,找到效率优化点。

版权声明
本文为博客HiKariのTechLab原创文章,转载请标明出处,谢谢~~~