ylbtech-发布机制-A/B 测试:百科 |
AB测试是为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组(目标人群)随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析、评估出最好版本,正式采用。
1.返回顶部 |
- 中文名:A/B测试
- 外文名:A/B Testing
- 别 名:分组测试,分桶测试
- 英文名:Split Testing, Bucketing Tests
2.返回顶部 |
实施作用
-
消除 客户体验(UX) 设计中不同意见的纷争,根据实际效果确定最佳方案;
-
通过对比试验,找到问题的真正原因,提高 产品设计和运营水平;
-
建立数据驱动、持续不断优化的 闭环过程;
-
通过A/B测试,降低新产品或新特性的发布风险, 为产品创新提供保障。
应用场景
实施步骤
-
网站、App(Android/iOS) 、微信小程序和服务器端需要添加各类A/B测试平台提供的SDK代码,然后制作各个优化版本。
-
Web平台、Android和iOS APP需要添加各类A/B测试平台提供的SDK代码,然后通过编辑器制作各个优化版本。
-
通过编辑器设置目标,如果编辑器不能实现,则需要手工编写代码。
-
使用各类A/B测试平台分配流量。初始阶段,优化方案的流量设置可以较小,根据情况逐渐增加流量。
实施关键
-
AB测试的场景数量是无限的;
-
在App和Web发布上线后,根据实际情况,设计AB测试场景,更有针对性,更有效;
-
无需增加额外的AB测试代码,对App和Web的开发、QA和维护的影响最小。
实用经验
3.返回顶部 |
A/B 测试附录 7.10原来主要用于产品功能的比对测试,收集用户反馈和对比数据做产品功能设计的决策。实际上,A/B 测试也可以作为一种新功能发布技术。下图展示基于 LB 实现的一种 A/B 测试发布。
-
上图中,原来 PC 端和手机端都访问老版本 V1 服务(也称 A 组或控制组),当 V2 新版本(也称 B 组或实验组)发布以后,为了验证 V2 的功能正确性,同时也为了避免 V2 有问题时影响所有用户,先通过 LB 将手机端的流量切换到 V2 版本,经过一段时间的 A/B 比对测试和观察(主要通过用户和监控反馈),确保 V2 正常,则通过 LB 将全部流量切换到 V2。
-
基于 LB 方式实现 A/B 测试,LB 需要能够通过某种条件做流量路由,例如通过 client ip,设备类型,浏览器类型,甚至是定制的 HTTP Header 或查询字符串。
-
高级的 A/B 测试需要专门的平台支撑,wasabi附录 6.6就是 intuit 开源的一个支持高级 A/B 测试的平台,这类平台可以细粒度到针对某类用户做 A/B 测试,例如针对某个地区的用户,某个年龄段的用户,公司内部用户等等。举了例子,假设一个关键业务的新功能上线,为了降低风险采用 A/B 测试,可以做到先只让公司内部员工能访问到新功能,待新功能验证过,再全量放开给外部用户使用。
-
功能开关和 A/B 测试有点相似,但功能开关一般是无状态和全量的,无法做到针对某类特定用户进行测试,而 A/B 测试一般是有状态的,能够跟踪事务和用户级别的状态,可以实现针对某类特定用户进行测试。
优势:
-
用户体验影响小;
-
可以使用生产流量测试;
-
可以做到针对某类特定目标用户进行测试;
不足:
-
搭建复杂度相对高,有一定技术门槛
适用场合:
-
核心关键业务,比如涉及资金的
-
具备一定的 A/B 测试平台研发能力
针对某类目标用户进行 A/B 测试,图片来自附录 6.1
4.返回顶部 |
5.返回顶部 |
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |