Существуют ли какие-либо гемы/инструменты/шаблоны Rails для экспериментальных функций песочницы для сплит-тестирования?

Мы хотим создать простой механизм для инженеров, чтобы они могли добавлять экспериментальный код и функции в наше приложение, чтобы опробовать новые вещи для подгруппы пользователей, проводить A/B-тестирование различных вариантов поведения приложения и, как правило, предлагать песочницу. среда, в которой разработчики могут сходить с ума, не затрагивая основной производственный код. Вот некоторые из наших требований к экспериментальным функциям (EF):

  • Добавление EF должно быть предельно простым для всех, кто знаком с Rails, JS/Coffee и нашими приложениями.
  • Код EF должен находиться вне производственного кода («на острове») как можно дольше.
  • EF-код не должен прорастать раковыми щупальцами в производственный код, т. е. оставаться максимально слабо связанным.
  • С первого взгляда должно быть понятно, что является EF-кодом, а что нет.
  • Код EF не должен поддерживать полную организационную политику TDD, UX и т. д. На самом деле целью этого является быстрое и грязное экспериментирование, мы не хотим, чтобы процесс и политика ограничивали творчество и энтузиазм. Только если эксперимент считается успешным (путем пользовательского тестирования), хотим ли мы тратить усилия, чтобы довести его до всех политик.
  • Функции EF можно включать и выключать на сайте панели мониторинга и развертывать для определенных пользователей.
  • Разработчики, работающие над производственным кодом, не должны быть обременены работой с экспериментальным кодом — в идеале полное разделение. Эксперименты могут прерваться, если производственный код будет обновлен, и это предпочтительнее, чем заставлять разработчиков производственного кода поддерживать все эксперименты в актуальном состоянии. Экспериментатор должен поддерживать эксперимент в рабочем состоянии.
  • Наша система построена на Rails для сервера и имеет многофункциональное клиентское приложение, написанное на CoffeeScript с Knockout.js и Backbone.js. EF может касаться кода Rails (действия контроллера, маршруты, модели), шаблонов представлений, кода CoffeeScript (привязки данных, шаблоны jQuery, модели и модели представлений и т. д.), CSS/SCSS, и механизм должен позволять помещать все это в песочницу.

На данный момент нас не очень беспокоит процесс измерения для сплит-тестирования или многовариантного тестирования, это решаемая проблема с такими инструментами, как Vanity gem, или коммерческими решениями, такими как KissMetrics и MixPanel. Нас больше интересует, как создать установку, которая решает проблемы разделения, слияния и обслуживания. Существуют ли такие инструменты для Rails?


person Wolfram Arnold    schedule 21.03.2012    source источник
comment
ruby-toolbox.com/categories/A_B_Testing   -  person Chloe    schedule 09.03.2014
comment
Спасибо, Хлоя, я не знал об этом сайте.   -  person Wolfram Arnold    schedule 11.03.2014


Ответы (1)


Существуют Развертывание и Понизить драгоценные камни за это, если я правильно вас понял.

person VitalyP    schedule 29.03.2012
comment
Спасибо, я не знал о таких. Но на первый взгляд они решают лишь небольшую часть проблемы. Большая проблема заключается в том, как не загромождать код ветками if/else повсюду. Degrade решает эту проблему для внешних служб, но в настоящее время это не наша основная проблема. Я ищу что-то более общее, что может работать с HTML, JS, Ruby и т. д. и конкретно решает проблему обслуживания. - person Wolfram Arnold; 30.03.2012