灰度是测试阶段的最后一环,也是线上检验产品质量和产品策略不可或缺的一环。测试者需要警惕灰度阶段发现的问题,否则会影响到更多的线上用户,造成用户的负向体验及用户流失。
手机百度灰度测试
一、概述
灰度作为手机百度项目迭代中的固化环节,通过不断提升问题发现和定位能力,以及灰度的精细化进程,在手百的线上测试和质量保证方面发挥越来越大的作用。手百灰度在迭代在项目敏捷过程的后期,版本功能就绪后,通过控制用户流量随机和有针对性的选择用户对待测版本进行验证,并通过崩溃、用户反馈等问题进行召回,并进行定位,在这个过程中,灰度版本在真实的用户和场景下得到验证,测试覆盖到达到了机型、系统、网络、地域多类型的目的。目前手机百度通过灰度测试最系统的收益表现在线上崩溃率的明显下降。
二、手百灰度流程
手机百度整体流程大致如下:
在项目迭代中,需要明确当前版本所要发布的重点功能,将其最为灰度目标用户的挖掘输入,整个灰度发布的模式分为两种,一种是随机发布,即没有固定的目标用户组,全流量下发通过控制下发开启的时间,对用户量进行控制,版本覆盖的用户群是随机产生的。另一种是期望能够更高效的覆盖目标功能并高效的发现的问题,挖掘出目标功能的活跃用户,及发现问题和反馈问题频率较高的用户,从而针对该部分用户进行精准的下发。
灰度发布之后,用户经过一个阶段的升级,开始对新版本进行体验和试错,如何将用户在使用过程发现的问题召回是个需要解决的事情,这个是个不断扩展的过程,目前框中比较系统召回问题包括两个方面:用户崩溃异常,以及用户反馈问题,建立对应的平台对问题进行监控和报警,并建立定位能力对召回的问题进行定位。
三、手百灰度结构
整体的灰度的结构包含几个大的部分和阶段,如下图所示:
以手百某版本为例,介绍下手百灰度执行方式:
手百该版本的重点功能与钱包支付相关,此为该项目主要的灰度目标功能
(一)用户选择
选择具备以下三类特征的用户群组
-
钱包相关功能的日活用户:大数据组辅助挖掘出的钱包日活用户,三次灰度选取不同用户群组,用户量为万级。
-
Ufo(用户反馈平台)中钱包相关反馈活跃用户:这群组用户除了具备一定使用钱包的概率,同时也具备了使用过程中发生问题的概率。ufo自动分析平台提供接口,三次灰度群体分别通过接口获取,去重。
-
Ufo反馈高质量用户:这群组用户由ufo自动分析平台挖掘出在各个功能模块反馈问题数量较多的用户,是框核心功能的活跃及问题高发用户,可对老功能的回归形成支持,ufo自动分析平台提供约60 cuid。为避免该群组用户被天级高频提示升级,将该群组用户用于第一次精准灰度
(二)发布方法
由于版本客户端功能较集中,对于功能的发布继续沿用客户端整体功能上线发布的模式,在用户群体的选择上进行功能覆盖的分流,即精准cuid灰度,针对本期主打功能—钱包相关功能选择日活及问题反馈活跃用户进行灰度下发。本次灰度将以精准灰度为主,随机灰度为辅,较以往灰度模式不同,希望通过精准灰度更高效的发现问题。精准灰度将使用不同的渠道号来与随机灰度进行区分。
(三)效果度量
精准灰度升级率和升级速度提升,挖掘的升级活跃用户,升级率效果提升明显,用户反馈问题有效率明显提升,精准灰度的效果在灰度效果验证有较好的参考意义。
框主线崩溃监控&分发平台,在灰度过程对于崩溃的发现达到小时级新增崩溃及top崩溃的发现,同时进行功能模块级的自动诊断,进行自动分发,崩溃问题发现率>91%,从发现到定位到分发解决整体实现自动化,节省人力成本约1人天。对于top严重崩溃,如oom、空指针等问题发现率达到100%。
文章转载:百度质量部