1、A/B测试与灰度发布的理论
产品是多维度的,设计体验、交互体验、系统质量、运营支持等等,
测试的目的是为了系统最终的交付,一套各方面都足够好的系统,而不是文档上定义的系统,系统是需要不断进化的。
测试的质疑贯穿产品的设计到编码到最终的运营过程,并最终促使产品的改善,周而复始。
符合互联网思维敏捷的本质。
2、A/B测试与灰度发布相关的一些术语
1.1 桶测试(Bucket Testing):这个没有什么地方给出明确的定义,但是通常来说是国外用于测试游泳池是否存在漏水行为的一种比较测试。即将一桶水放到泳池中,分别标明内外水位,放置一段时间后,如果外部水位明显下降(超过XXX英寸),则证明水池漏水。这个和软件测试没有什么直接关系,但是他是一种两个方案之间的对比性测试,用于识别缺陷。
1.2 多变量测试(Multivariate Testing):这个使用市场营销的一个术语,通常用于在多个变量的复杂环境下,对营销方案效果的比较技术。
1.3 A/B测试(A/B Testing):Wikipedia的定义,“是Web设计(通常指用户体验)中用于区分两种网页设计对收益最大化目标(如点击率)效果支撑程度的一种试验手段”。主要用于比较两种设计的优劣程度。桶测试(Bucket Test)、多变量测试(Multivariate Testing)是A/B测试的变体,因为可能涉及到多种场景的比较。A/B测试还用于市场营销渠道的比较,这和定义是一致的,因为网页就是一种营销渠道。
1.4 灰度交付:“灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。”
3、A/B测试和灰度发布和传统的测试的不同点
2.1 可以有多个现成的产品来,实实在在的去测试(桶测试)
2.2 A/B测试是支持多变量测试的一种方式
2.3 A/B测试时一套系统,是灰度发布的一种实现方式
到此为止,测试与运维已经集成到一个过程当中了
4、A/B测试与灰度发布的运用
3.1 推荐系统之间不同算法的比较,不同变量的比较
3.2 设计方案中不同方案的比较
3.3 设计调整,方案调整
3.4 故障控制
如果你系统需要优化一些你自己无法预测和控制的领域的时候。
试试A/B测试吧,有利于控制未来的风险
数据是优化系统的重要依据 ,想要在哪方面做优化,就在哪方面积累数据。
转自《http://blog.csdn.net/vshuang/article/details/42317693》
http://blog.csdn.net/aresiii/article/details/49125369
比较好的文章,分享下。