2012-03-21 3 views
3

엔지니어가 실험 코드 및 기능을 앱에 전달하여 하위 그룹 사용자를 위해 새로운 기능을 시도하고 다양한 앱 동작에 대해 A/B 테스트를 수행하며 일반적으로 제공하는 쉬운 메커니즘을 설정하고자합니다. 개발자가 주요 생산 코드에 영향을 미치지 않고 미친 듯이 갈 수있는 샌드 박스 환경. 실험 기능 (EF)에 대한 우리의 요구 사항 중 일부는 다음과 같습니다 EF의는 레일의 기본적인 지식을 가진 사람에 대한 죽은 간단해야 추가분할 테스트를위한 샌드 박스 실험 기능에 대한 Rails gems/tools/templates가 있습니까?

  • , JS/커피와 우리의 응용 프로그램 (들)
  • EF 코드의 외부에 거주해야한다 가능한 한 생산 코드 ("섬에").
  • EF 코드는 암시 적 촉수를 프로덕션 코드로 성장시키지 않아야합니다. 즉 가능한 한 느슨하게 결합 된 채로 있어야합니다.
  • 처음에는 EF 코드 란 무엇인지, 무엇이 아닌지는 분명해야합니다.
  • EF 코드는 TDD, UX 등의 전체 조직 정책을 유지할 필요가 없습니다. 실제로 빠르고 더러운 실험이 목표이며, 프로세스와 정책에 방해가되는 창의성과 열정을 원하지 않습니다. 실험은 (사용자 테스트를 통해) 성공으로 판단되는 경우에만 모든 정책에 적용하기 위해 노력하고 싶습니다.
  • EF 기능은 대시 보드 사이트에서 켜거나 끌 수 있으며 특정 사용자에게 롤아웃 할 수 있습니다.
  • 프로덕션 코드를 작성하는 개발자는 실험 코드를 처리하기 위해 어떤 방식 으로든 부담해서는 안됩니다. 프로덕션 코드가 업데이트되면 실험이 중단 될 수 있으며 이는 프로덕션 코드 개발자가 모든 실험을 최신 상태로 유지하는 것보다 바람직합니다. 실험을 계속하는 것은 실험자의 몫입니다.
  • Google 시스템은 서버용 레일을 기반으로하며 Knockout.js 및 Backbone.js가있는 CoffeeScript로 작성된 풍부한 클라이언트 측 응용 프로그램을 보유하고 있습니다. EF는 레일스 코드 (컨트롤러 액션, 라우트, 모델), 뷰 템플릿, CoffeeScript 코드 (데이터 바인딩, jQuery 템플릿, 모델 및 뷰 모델 등), CSS/SCSS를 접할 수 있으며 이러한 메커니즘을 통해 샌드 박스 화가 가능해야합니다. 우리는 분할 테스트 또는 다 변수 테스트를위한 측정 과정에 대한 순간 너무 걱정하지 않은

, 이것은 허영 보석 같은 도구, 또는 KissMetrics 및 MixPanel 같은 상용 솔루션으로 해결 된 문제입니다. 우리는 분리, 병합 및 유지 관리 문제를 해결하는 설정을 만드는 방법에 더 관심이 있습니다. Rails 용 도구가 있습니까?

+1

https://www.ruby-toolbox.com/categories/A_B_Testing – Chloe

+1

감사합니다. 클로이, 나는이 사이트를 몰랐습니다. –

답변

1

내가 옳다고 이해하면 RolloutDegrade 보석이 있습니다.

+0

감사합니다. 나는 이것들에 대해 몰랐습니다. 그러나 훑어 보면 그들은 단지 문제의 작은 부분만을 다룰뿐입니다. 큰 문제는 if/else가 코드를 어지럽히 지 않는 방법입니다. Degrade는 외부 서비스에 대해이 문제를 해결하지만 현재로서는 이것이 우리의 주된 문제는 아닙니다. 나는 HTML, JS, Ruby 등을 다룰 수있는 좀 더 일반적인 것을 찾고 있는데, 특히 유지 관리 문제를 다룬다. –