Ruby on rails 3.1 是否有任何Rails gems/工具/模板用于沙箱实验特性以进行拆分测试?

Ruby on rails 3.1 是否有任何Rails gems/工具/模板用于沙箱实验特性以进行拆分测试?,ruby-on-rails-3.1,mvp,multivariate-testing,ab-testing,Ruby On Rails 3.1,Mvp,Multivariate Testing,Ab Testing,我们希望为工程师建立一个简单的机制,将实验性代码和功能加入到我们的应用程序中,以便为一个子组用户尝试新事物,对不同的应用程序行为进行a/B测试,并通常提供一个沙箱环境,开发人员可以在不影响主要产品代码的情况下疯狂开发。我们对实验特性(EF)的一些要求如下: 对于熟悉Rails、JS/Coffee和我们的应用程序的人来说,添加EF应该非常简单 EF代码应尽可能位于生产代码之外(“在岛上”) EF代码不应在生产代码中生长癌触角,即尽可能保持松散耦合 乍一看什么是EF代码,什么不是,应该很清楚 EF

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

  • 对于熟悉Rails、JS/Coffee和我们的应用程序的人来说,添加EF应该非常简单
  • EF代码应尽可能位于生产代码之外(“在岛上”)
  • EF代码不应在生产代码中生长癌触角,即尽可能保持松散耦合
  • 乍一看什么是EF代码,什么不是,应该很清楚
  • EF代码不必维护TDD、UX等完整的组织策略。事实上,快速而肮脏的实验是其目标,我们不希望创造力和热情受到流程和策略的阻碍。只有当一个实验被认为是成功的(通过用户测试),我们才想花费精力使它符合所有的策略
  • EF功能可以在仪表板站点上打开/关闭,并可以向特定用户推出
  • 开发生产代码的开发人员不应该以任何方式处理实验代码——理想情况下是完全分离。如果生产代码更新,实验可能会中断,这比强迫生产代码开发人员使所有实验保持最新要好。要让实验继续进行,这取决于实验者
  • 我们的系统构建在服务器的Rails上,有一个用CoffeeScript编写的富客户端应用程序,其中包含Knockout.js和Backbone.js。EF可能涉及Rails代码(控制器操作、路由、模型)、视图模板、CoffeeScript代码(数据绑定、jQuery模板、模型和视图模型等)、CSS/SCS,并且该机制应允许所有这些都被沙盒化

目前,我们并不太关心分割测试或多元测试的测量过程,这是一个使用工具(如Vanity gem)或商业解决方案(如KissMetrics和MixPanel)解决的问题。我们更关心的是如何创建一个解决分离、合并和维护问题的设置。有这样的Rails工具吗?

如果我没弄错的话,有很多这样的工具和宝石。

谢谢,我不知道这些。但粗略地看,它们只解决了问题的一小部分。最大的问题是如何不让if/else分支把代码弄得乱七八糟。Degrade为外部服务解决了这个问题,但这不是我们目前的主要问题。我正在寻找一些更通用的,可以处理HTML,JS,Ruby等,并专门解决维护问题。谢谢Chloe,我不知道这个网站。