Flagr 核心概念速记

原文:openflagr.github.io/flagr/#/REA...

官方释义

假设我们想要向美国用户推出一个新的按钮,颜色可能是红🟥、绿🟩、蓝🟦,但我们不知道哪种颜色效果最好。

Flag 和 variant

这个按钮就是一个 flag(可理解为特性),三种颜色就是这个 flag 的三个 variant(变种)。

Segment 片段

我们可能希望先将按钮展示给一小部分用户,例如加州的用户。

那么加州的用户就是一个 segment(可理解为用户片段或者用户群体)。

Constraint 约束条件

同时,我们了解到加州的用户喜欢绿色按钮🟩,纽约的人喜欢粉色按钮🟥,华盛顿的人喜欢蓝色按钮🟦。 那么,我们就有三个 segment,我们通过 constraint(约束条件)所在州 == ? 来区分三个 segment

另外,segment 也可以由多个 constraint 定义。例如, 所在州 == 纽约 AND 年龄 >= 21

Distribution 分布

要对这个 flag 进行A/B测试,我们可以尝试以 50%/50% 的比率来分布绿色🟩和蓝色🟦 ,这个 50%/50% 就是 distribution

Rollout 推出

并且我们仅针对 20% 的加州用户进行测试。这个 20% 就是 Rollout Percent(推出率)。

之后,我们可以将推出率设置为 100% ,以便加州的每个用户都有 50% 的机会获得绿色或蓝色按钮。

另外,如果你想让所有用户都看到绿色按钮,那么你可以把绿色/蓝色的 distribution 设置为 100%/0%,把推出率设置为 100%。

伪代码

代码中遇到一个 entity(实体,一般可以是用户)时,先让 flagr 对它进行评估,得到评估结果之后,看看它属于哪一个变体,根据变体的不同执行不同的业务逻辑:

perl 复制代码
evaluation_result = flagr.post_evaluation( entity )

if (evaluation_result.variant_id == treatment1) {
    // do the treatment 1 experience
} else if (evaluation_result.variant_id == treatment2) {
    // do the treatment 2 experience
} else if (evaluation_result.variant_id == treatment3) {
    // do the treatment 3 experience
} else {
    // do the control experience
}

对应的设置如下:

markdown 复制代码
Variants
  - control
  - treatment1
  - treatment2
  - treatment3

Segment
  - Constraints (state == "CA")
  - Rollout Percent: 20%
  - Distribution
    - control: 25%
    - treatment1: 25%
    - treatment2: 25%
    - treatment3: 25%
Segment
  - Constraints (state == "NY" AND age >= 21)
  - Rollout Percent: 100%
  - Distribution
    - control: 50%
    - treatment1: 0%
    - treatment2: 25%
    - treatment3: 25%
相关推荐
程序员二黑2 天前
Selenium元素定位总失败?这8种定位策略你必须掌握
单元测试·测试·ab测试
程序员二黑3 天前
自动化测试入门:从零开始搭建你的第一个WebUI项目
单元测试·测试·ab测试
程序员二黑9 天前
接口测试全流程实战:从工具到架构的深度解析
单元测试·测试·ab测试
RunningShare12 天前
千万级用户电商平台,Flink实时推荐系统如何实现毫秒级延迟?
大数据·flink·推荐系统·ab测试
RunningShare12 天前
基于Flink的AB测试系统实现:从理论到生产实践
大数据·flink·ab测试
程序员二黑1 个月前
Postman接口测试全攻略:从入门到精通,看这一篇就够了
单元测试·测试·ab测试
程序员二黑2 个月前
测试老鸟总结:这15个Linux命令,解决了我们90%的定位问题
单元测试·测试·ab测试
程序员二黑2 个月前
性能测试全流程解析:从需求分析到报告输出
单元测试·测试·ab测试
程序员二黑2 个月前
2025年五大顶级自动化测试工具深度解析:测开工程师的终极选择指南
单元测试·测试·ab测试
美团技术团队2 个月前
可信实验白皮书系列08:开放式分析引擎 | 附PDF合集下载
ab测试