是否有任何Rails gems / tools / templates用于沙盒实验性功能以进行拆分测试?

时间:2012-03-21 23:20:58

标签: ruby-on-rails-3.1 mvp multivariate-testing ab-testing

我们希望为工程师设置一个简单的机制,将实验代码和功能投入到我们的应用程序中,以便为一组用户尝试新事物,对不同的应用程序行为进行A / B测试,并且通常提供沙盒环境,开发人员可以在不影响主要生产代码的情况下疯狂。我们对实验性功能(EF)的一些要求是:

  • 对于基本熟悉Rails,JS / Coffee和我们的应用程序的人来说,添加EF应该很简单
  • EF代码应尽可能地位于生产代码之外("在岛上#34;)。
  • EF代码不应该将癌症触角变成生产代码,即尽可能保持松散耦合。
  • 乍看之下应该清楚什么是EF代码,什么不是。
  • EF代码不必维护TDD,UX等的完整组织政策。事实上,快速和肮脏的实验是我们的目标,我们不希望过程和政策阻碍创造力和热情。只有实验被认为是成功的(通过用户测试),我们是否愿意花费精力来实现所有政策。
  • 可以在仪表板站点上打开/关闭EF功能,并可以将其推广到特定用户。
  • 处理生产代码的开发人员不应以任何方式负担处理实验代码的负担 - 理想情况下完全分离。如果更新生产代码,实验可能会中断,这比强制生产代码开发人员更新所有实验更为可取。由实验者决定是否继续实验。
  • 我们的系统是基于服务器的Rails构建的,并且有一个使用Knockout.js和Backbone.js用CoffeeScript编写的富客户端应用程序。 EF可以触摸Rails代码(控制器动作,路由,模型),视图模板,CoffeeScript代码(数据绑定,jQuery模板,模型和视图模型等),CSS / SCSS,并且机制应该允许所有这些沙盒。

我们现在并不关心分割测试或多变量测试的测量过程,这是使用像Vanity gem这样的工具或像KissMetrics和MixPanel这样的商业解决方案解决的问题。我们更关心如何创建解决分离,合并和维护问题的设置。是否存在Rails这样的工具?

1 个答案:

答案 0 :(得分:1)

如果我理解你的话,有RolloutDegrade宝石。

相关问题