A/B测试简单来说,就是为同一个目标制定A、B方案,让一部分用户使用 A 方案,另一部分用户使用 B 方案,记录下用户的使用情况,看哪个方案转化率、注册率等指标更高,谁就赢。AB测试对于ToC应用至关重要,因为它可以在收集结果数据的同时对其用户体验进行仔细的更改。通过这种方式,可以更好地了解为什么应用中的某些元素会影响用户行为。
A/B测试本质上是个分离式组间实验,以前进行A/B测试的技术成本和资源成本相对较高,但一系列专业的可视化实验工具的出现,A/B测试已越来越成为应用优化常用的方法。
本文推荐一些比较优秀的开源免费的A/B测试以及功能标记工具。
1.GrowthBook
GitHub(5.4K+Star)
https://github.com/growthbook/growthbook
GrowthBook是一个免费、开源的A/B测试平台。它支持多用户、项目管理和任务管理。
GrowthBook可以处理PostgreSQL、MySQL、MariaDB、BigQuery、Amazon Redshift、DataBrick、MS SQL Server甚至Google Analytics等数据库中的数据。
功能特征:
- 友好的响应式用户界面
- 具有高级目标定位、逐步推出和实验功能的功能标志
- 支持React,JavaScript,PHP,Ruby,Python,Go,Android,iOS等的SDKs!
- 强大的A/B测试分析和高级统计功能(CUPED、贝叶斯、SRM检查等)
- 支持现有的数据堆栈:BigQuery、Mixpanel、Redshift、Google Analytics等
- 可以️按浏览器、国家/地区或任何其他自定义属性深入查看A/B测试结果
- 支持将报告导出为一个小型笔记!
- 使用屏幕截图和GitHub Flavor Markdown记录所有内容
- 提供Webhooks和REST API,用于构建集成
- 支持使用Docker和Docker compose轻松安装
分分钟安装:
git clone https://github.com/growthbook/growthbook.git
cd growthbook
docker-compose up -d
浏览器打开http://localhost:3000登陆。
2.PostHog
GitHub(16K+ Star)
https://github.com/PostHog/posthog
PostHog提供了产品分析、会话记录、功能标记和A/B测试等功能。它支持手动事件规范或自动捕获以进行快速设置,并提供用于可视化数据分析和SQL功能。
功能特征:
- 事件的自动捕获
- 用于数据分析的SQL
- 会话重放、控制台监听、网络监控
- 自动性能分析的A/B测试
- 安全功能卷展栏的功能标志
- 可定制的用户调查
- PostHog CDP用于外部服务连接数据流管理
- 事件分析
- 用户和组跟踪
- 数据可视化:图表、漏斗、路径、仪表板
- 为用户理解提供定制可视化的SQL Access
- 提供用户行为可视化的热图
- 用于测试卷展栏管理的功能标志
- A/B与多元实验
- 相关性分析
- 通过调查收集定性用户反馈
- 使用PostHog CDP导入/导出数据
- 适用于各种平台的库
- 数据仓库兼容性
3.Flagger
GitHub(4.7K+Star)
https://github.com/fluxcd/flagger
Flagger是Kubernetes应用程序的渐进式交付工具,通过渐进的流量转移、指标测量和一致性测试来降低新软件版本的风险。
它提供各种部署策略,并可以与Kubernetes入口控制器、服务网格和监控解决方案集成。
功能特征:
- Kubernetes应用程序的渐进式交付
- 路由渐变转移
- 度量测量
- 一致性测试
- 各种部署策略
- 与Kubernetes ingress控制器集成
- 与服务网格集成
- 与监控解决方案集成
- Canary部署(加权流量)
- A/B测试(Header和cookie路由)
- 蓝/绿色部署(流量交换机)
- Webhooks(验收/负载测试)
4.Split
GitHub(2.7K)
https://github.com/splitrb/split
Split是一个基于Rack的A/B测试框架,可与Rails、Sinatra等基于Rack的应用程序兼容。
它从Abingo、Vanity Rails A/B测试插件,以及在Resque对Redis的使用中汲取了灵感。Split旨在实现自定义和可扩展性。
5.Flagr
GitHub(2.3K Star)
https://github.com/openflagr/flagr
Flagr提供了功能标志、A/B测试和动态配置等功能,它还监控影响,并为标志管理和评估提供清晰的Swagger REST API。是一个基于Go语言开发的开源项目。
6.FeatureHub
https://github.com/featurehub-io/featurehub
CubureHub是一个帮助软件团队管理其功能的平台,提供了功能标志、A/B测试和远程配置等功能。
它支持私有化部署也可以基于云的SaaS服务。该平台提供了一个Headless API,可以用于管理PockureHub应用程序,并提供了一个SDK API用于检索各种SDK中的功能状态。
功能特征:
- 免费、开源版本
- 无限的用户、功能、功能请求、应用程序和环境
- 支持功能标志、A/B测试、实验和分析
- 实验类型的选择:功能标志、数字、字符串或远程配置
- 支持分割、定位策略(例如,百分比展示、国家/地区、设备、平台、版本、自定义属性)
- 可以与分析系统集成(支持Google Analytics)
- 易于使用的控制台或Headless API,用于功能控制
- 按环境查看和排序要素
- 用于受控功能状态更新的“智能锁”
- 应用程序、环境和用户管理的管理功能
- 选择在自己的基础架构上运行(自托管)或使用完全托管的SaaS选项
- 支持外部身份验证(Google、Microsoft、GitHub、Keycloak、通用OAuth2、Okta、SAML/SSO)
- 不同团队/组的访问控制级别
- 支持多个投资组合(组织部门)
- 轻松设置云原生- Docker容器和完整的Kubernetes的Helm chart
- 用于CI/CD流水线集成的CockureHub API
- 支持功能更新
- 通过API与测试自动化集成
- 支持功能标志、数字、字符串和JSON结构(远程配置)
- 能够通过附带功能状态的分析记录事件
- 提供大量文档和教程
支持的SDK:
- JS
- Node.js
- Solid
- React
- Go
- Flutter
- Swift
- Android
- Dart
- Python
- Ruby
- Java
- C#
7.Featurevisor
https://github.com/featurevisor/featurevisor
Realvisor是一个以开发人员为中心的解决方案,用于管理功能标志、实验和远程配置。
在工作流中,管理Git存储的元素、触发CI/CD管道以生成文件并将其上传到CDN,以及在应用程序中使用SDK获取和评估这些文件。
功能特征:
- 功能标志:经典的开/关开关
- 实验:A/B测试和多变量检验
- 细分:针对用户群体的可重用条件
- ️逐步推出:避免大爆炸发布,并从0%到100%逐步推出
- 配置变量:为每个功能下的远程配置命名空间存储键/值对
- 一致的分桶策略:确保同一用户在设备/会话中获得相同的变化
- 多种环境:超越登台和生产,满足您的需求
- 添加标签:只加载与应用程序相关的功能,避免膨胀
- 实验跟踪:使用您最喜欢的分析工具跟踪实验激活
支持的SDKs:
- JavaScript
- React反应
- Vue.js
8.SwitchFeat
https://github.com/switchfeat-com/switchfeat
SwitchFeat是一个开源的自托管平台,用于管理功能标志和A/B测试,可确保测试数据保留在可控网络中。它支持基于各种条件和用户分段来打开或关闭某些功能代码。
9.Proctor
https://github.com/indeedeng/proctor
Proctor是由Indeed开发的A/B测试框架,基于Java,采用数据驱动的产品设计。
它由数据模型、客户端规范、客户端加载器、矩阵构建器和Java代码生成器组成,支持跨多个应用程序的一致测试和组分配调整,而无需部署代码。
功能特征:
- 跨多个应用程序的一致测试
- 不部署代码的组分配调整
- 基于规则的组分配
- 人类可读测试格式
- 强制测试组进行内部测试
- 为了A/B测试而生成Java代码
10.Tweek
https://github.com/Soluto/tweek
Tweek是一个开源的功能管理解决方案,允许应用程序和系统行为自定义,而无需部署新的代码。
主要功能包括功能切换、逐步发布、多变量实验和A/B测试。
功能特征:
- 功能切换,逐步释放
- 多变量实验,A/B检验
- 内置编辑器,用户界面友好
- 层次结构
- 用户/组的高级定位
- 特征间的相似性
- 可定制的模式/域模型
- 审计
- 用于保存上下文的集成存储
- 集装箱友好
- 集成的OAuth支持
- 可插拔存储后端
- 用于获取配置的简单REST风格API
- 可扩展
- Webhook