1. 试验层的作用

为了让多个可能产生相互干扰的试验同时运行,需要将这些试验加入到同一个试验层中,用户进入试验层时只能命中该试验层中的一个试验。

2. 试验层列表

试验层列表页中展示当前以及创建的试验层,包含了名称、在运行的试验数量、当前流量剩余情况、描述、分流主体(高级功能)、创建时间、创建人。

  • 运行试验数量:当前试验层中在运行的试验数量。(试验状态包括:准备中、运行中和运行中(暂停))
  • 剩余可用流量比例:剩余流量按照准备中、运行中和运行中(暂停)状态的试验流量占用进行统计。

支持的操作:新建、编辑、查看试验层详情和删除操作。

3. 新建试验层

点击右上角的“新建”按钮新建一个试验层。

名称:试验名称为必填项,不能为空。

描述:可以填写描述信息。


4. 编辑试验层

支持对已创建的试验层进行编辑,可以更改试验层名称或描述。

5. 试验层详情

试验层信息:记录当前试验层在运行试验数量和剩余可用流量情况

  • 运行试验数量:当前试验层中在运行的试验数量。(试验状态包括:准备中、运行中和运行中(暂停))
  • 剩余可用流量比例:剩余流量按照准备中、运行中和运行中(暂停)状态的试验流量占用进行统计

试验信息:记录当前试验层中的试验信息

  • 默认展示准备中、运行中和运行中(暂停)状态的试验。可通过“状态筛选”查看其他状态的试验信息。
  • 支持查看试验进组人数
  • 支持快捷调整试验流量比例(备注:仅准备中、运行中和运行中(暂停)状态的试验支持调整)

6. 删除试验层

当试验层内有以下状态的试验时,不支持删除:

  • 准备中
  • 运行中
  • 运行中(暂停)
  • 已发布
  • 已发布(暂停)
  • 待发布(已回滚)
  • 上线失败

7. 注意事项

7.1. 调小试验占用试验层流量比例

由于试验请求大部分发生在APP初始化阶段(服务端试验除外),用户在请求分流后,会在分流服务端保存用户的命中记录,保证用户在一次试验生命周期内,始终保持一致的策略。因此,在用户请求并命中试验后,即使后续调小试验占用试验层的流量比例,已经请求命中试验的用户(包括APP初始化阶段请求试验但可能并未真正触发试验上报$ABTestTrigger事件的用户)也不会再出组,因此可能会导致即使调小流量比例,也没有剩余用户流量被释放出来。

为了更好的说明该逻辑,以下举一个极端的例子:

试验层共有 100 人,其中试验 A 占用流量比例为 100% ,上线后 100 人都启动了 APP 成功拉取到试验结果缓存在本地,其中 50 人进入试验页面触发试验并上报 $ABTestTrigger 事件。此时,调小占用试验层流量到 50%,由于 100 人之前已全部请求到试验结果,因此即使调小流量,未真正命中试验的 50 人也不会被释放。那么可能会导致在当前试验层上线新试验时,即使设置了剩余50%的流量,在上线后,可能也没有流量可用。 

在实际试验过程中,应该更加合理的规划和管理试验层。

因此,调小流量时仅针对试验新用户(未请求过分流服务的用户)生效。同样地,在试验运行过程中,若调整各个分组流量比例,最终试验报告呈现的进组人数,可能也无法达到预期设定的比例,随着样本量积累,会越来越趋近于所设定的分组比例。