zoukankan      html  css  js  c++  java
  • 灰度发布/AB test

    背景

    互联网产品有一个特点,就是不停的升级,升级,再升级。一般采用敏捷开发的团队,基本上保持每周一次的发布频率,系统升级总是伴随着风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险,系统down机的风险.....为了避免这些风险,很多产品都采用了灰度发布的策略,其主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况后很容易就回退。

    目前产品有新版本,release测试通过以后,直接放到更新服务器上,做全量用户推送。当发现新版本存在测试未覆盖到的问题时,造成的影响面较大,解决问题的代价也很大。因此可以考虑引入灰度发布。

    灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

    灰度发布的作用

      a.及早获得用户的意见反馈,完善产品功能,提升产品质量

      b.让用户参与产品测试,加强与用户互动

      c.降低产品升级所影响的用户范围

      d.规避一定的发布风险

      e.避免停服发布给用户带来不便

      f.具有容灾能力

      

    A/B test 也称分离测试,拆分测试,是产品改动时常用到的手段。为同一目标,制定两种方案,在相同时间维度下,随机分组,让用户使用两种不同的方案,并收集两组人群的用户行为数据和业务数据。
    灰度:把黑色定为基本色,每个灰度对象都是0%(白色)到100%(黑色)的中间值,简而言之,灰度就是不饱和的黑色。
     
    灰度发布:是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
     
    为什么要做灰度发布
    很多公司在定义一个产品,一个功能的时候,有的说白,有的说黑,但是互联网产品真正的定义者是谁?当然是用户,你说了不算,我说了也不算,用户口碑才是硬道理,因此需要一个灰度周期,让用户决定其生死,定义其黑白。
    灰度发布对产品研发的重要性不言而喻,用业内的话说就是顶级的PM也只能跑赢一半的ABtest
     
    结合A/B测试的开发流程
    最终形成一套以AB测试为核心环节的上线流程:
    需求评审-建立试验方案-新功能开发-灰度发布-小流量AB测试-发布成功的功能,关闭失败的
     
    AB测试的周期?
    试验的周期一般是7天,覆盖周末和周中的用户行为。对于复杂一些的测试,可以跑2周甚至1个月。

    扩展阅读:http://blog.csdn.net/boonya/article/details/51537674

  • 相关阅读:
    第8周课下作业1(补)
    第八章课下测试
    POJ
    POJ
    HDU
    UVa
    UVa
    CodeForces
    ZOJ
    LightOJ
  • 原文地址:https://www.cnblogs.com/wysk/p/7560349.html
Copyright © 2011-2022 走看看