持续分享干货,培育用户成长
Google Adwords、Seo、Facebook营销,社交营销等实操营销课程
扶持课程只对UEESHOP正式用户开放
请联系顾问获取或观看免费课程
观看免费课

灰度测试是什么意思?

作者:Ueeshop
浏览数:37746
时间:2019年03月20日 00:00
分享到:
0
灰度测试是什么意思?如果您对互联网软件开发行业了解不多,您可能对这个词不太熟悉。事实上,灰度测试是指如果软件要在不久的将来推出新功能,或者进行重大修改,你必须首先做少量的试验工作,然后慢慢增加数量,直到这个新功能覆盖所有系统用户,即新功能上的黑白之间都有灰色,因此这种方法通常也称为灰度测试。

灰度测试又名金丝雀发布、灰度发布,一种在黑白之间发布平滑过渡的方式。可以对其执行A/B测试,也就是说,一些用户继续使用产品功能A,并且一些用户开始使用产品功能B,如果用户不反对B,则逐渐扩大范围并迁移所有用户到B来。灰度测试可以确保整个系统的稳定性,并且可以在初始灰度级找到并调整问题以确保其影响度。

灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。

 
灰度测试是什么意思
 
灰度测试有什么作用?

灰度测试可以及早获得用户的反馈,改进产品功能,提高产品质量,允许用户参与产品测试,增强与用户的互动,并减少受产品升级影响的用户范围。

灰度测试步骤:

1、定义目标

2、选定的策略:包括用户规模,发布频率,功能覆盖,回滚策略,运营策略,新旧系统部署策略等。

3、过滤用户:包括用户特征,用户数,用户常用功能,用户范围等。

4、部署系统:部署新系统,部署用户行为分析系统(web analytics),设置流量规则,运营数据分析和微调流量规则

5、发布总结:用户行为分析报告,用户问卷,社交媒体意见收集和产品功能改进列表

6、产品完善

7、新一轮灰度测试或完整发布

测试方法

灰度测试似乎与互联网公司的常见A/B测试相似。外国人似乎没有灰度测试的概念。根据维基百科中A/B测试的定义,A/B测试也称为:A/B/N测试,多变量测试,因此实质上灰度测试可视为A/B测试的特例。只不过为了术语上不至于等同搞混淆,谈谈自己理解的两者的差异。

灰度发布是对某一产品的发布逐步扩大使用群体范围,也叫灰度放量。A/B测试重点是在几种方案中选择最优方案。

灰度测试的要点注意

1、精确的流量分发控制

这是一切的核心。从运行和维护风险控制的角度来看,有必要在一个精确的范围内控制受影响的流量。在上线前就知道哪部分用户会有问题,而不是真出问题谁受到影响都不知道。一个常见场景是新版本只允许公司内的员工访问它,然后推送到一个城市再到一个省。

从产品的角度做A/B测试,需要控制测试样本,其中用户是版本A,哪个用户是版本B,应该在发布后修复,而不是一会访问A,一会访问B。传统的负载均衡器策略只能实现粗略的比例分配,并且没有细粒度的流量规则控制。理想的灰度发布系统应具有非常细粒度的流量规则,例如匹配Android用户,匹配特定区域中的用户,甚至组合多个条件以匹配特定人员。

2、监控系统的支撑

准确的流量分配只是第一步,获得关键指标的多个版本更为重要。对于操作和维护,可能需要查看系统级指示器,例如错误率,吞吐量,延迟和CPU内存消耗这些系统层面指标。对于产品,可能是由于pv,uv等业务指标的变化。这些需要能够收集和显示数据,以方便后续决策:完全推送还是回滚?使用方案A或B?否则,灰度版本不会带来更多业务推广,也不能帮助您更好地了解业务状态和用户行为。

3、灵活的发布系统

从以上描述可以看出,灰度发布不是短暂的过程并且可能持续很长时间。例如,主要框架或系统更新可能会持续很长时间。有可能整个服务在几个月内都是新旧并存,甚至可能需要分别进行两个版本的迭代。从产品的角度来看,它可能更灵活。很可能在线上有五到六个程序来收集数据。每天有了一些新想法都要上一些小版本看效果,每个版本上线后可能都要再各自做优化调整观察效果。这种情况可能线上就永远不会有一个统一的版本灰度反而是个常态来应对不断变化的需求和挑战。

而发布系统也需要做相应的调整,不在把每个服务看成一个单一版本的运行体,只在更新的短时间内出现多版本共存,只允许全量推和回滚这种粗粒度策略。相反,多版本共存应被视为正常状态,允许迭代每个版本,并且可以在版本之间区分相应的监视日志信息,从而可以将灵活的发布系统与灵活的灰度策略相结合。

以上就是关于灰度测试的一些介绍,希望对大家有所帮助!