Java 以外のプラットフォームから Proctor で A/B テストをする方法

proctor-pipet がオープンソース化されました!

proctor-pipet は、Indeed が作成したツールで、Proctor をリモートサービスとしてデプロイ可能にします。そして、Proctor を HTTP でアクセス可能なシンプルな REST API として公開する Java の Web アプリです。

つまり Python のような JVM 以外の言語で書かれたアプリケーションでも A/B テストを行えるのです。

 

proctor-pipet に加えて django-proctor と呼ばれる Python のパッケージも利用可能になりました。これは Django Web アプリ上で、 Proctor グループの使い勝手を良くしてくれるものです。

Ruby on Rails や .NET MVC などの、ご自分の好きなパッケージを実装する人が出てくるのを待っています。

ちなみに、これらのパッケージは 2014 年夏にやってきた優秀なインターンの一人の成果です。

仕組み

Web アプリは proctor-pipet を介して、Proctor に対するHTTPリクエストを作成します。

そして Proctor は、グループの割り当てを返し、その割り当てを使って Web アプリは、ユーザーのブラウザに返すコンテンツを決定するのです。

data flow for proctor-pipet

proctor-pipet を使用して Proctor を遠隔でデプロイすることで、以下に挙げた Proctor ライブラリの全機能をご利用いただけます。

  • テストグループにユーザーを割り当て
  • 識別子を使用して異なるテストタイプにマップ
  • 機能の切替(トグル)、または新機能を徐々にロールアウトするよう実装
  • コードとは独立して、テストアロケーションを変更
  • 任意のコンテキスト変数を使うルール (例 モバイルデバイスをターゲットにするため) に基づくグループへの所属を決定

Proctor のドキュメンテーションはこちらでご覧いただけます。

どちらのツールも GitHub からダウンロード可能です:

また、両ページにドキュメンテーションと例が掲載されています。

ご質問は Proctor Q&A  フォーラムよりお尋ねください。