2017-06-26 11 views
0

私は最近、本質的にユーザープロファイルを組み立てる私の会社のWebサイトのクラスのリファクタリングに取り組んでいました。古いクラスがUser::Profile::OldImplと呼ばれ、リファクタリングされたバージョンがUser::Profile::NewImplであるとします。 2つのクラスはまったく同じパブリックインターフェイスを持ち、同じように動作することが期待されます。新しいクラスは、はるかに読みやすく、より効率的です。それは私の意図です。これに...コントローラメソッドのA/Bテスト?

profile = User::Profile::OldImpl.new(...) 

私はプロファイラは、このからインスタンス化された場所を変更したコードレビューの間

profile = User::Profile::NewImpl.new(...) 

、私のレビューアは、この行をフラグを付け追加する私に言いましたA/Bテストはこちら。これにより、時には古いクラスを使用し、時には新しいクラスを使用することを意味すると思います。

私は大いに混乱しています。私は「A/Bテスト」とは、Webページのさまざまなバージョンをエンドユーザーに表示し、どのバージョンが最良のレスポンスを生成するかを追跡することを意味しますが、私のコードはエンドユーザーには見えないようになっています。すべて。私は検索し、私のようなバックエンドコードに関連するA/Bテストの議論を見つけることができませんでした。なぜ私の変更がA/Bテストのメリットであるのか想像できません。 't。

レビューは明日末日にレビュー担当者とチャットしていますが、まずA/Bテストが正当なものかどうかをSOコミュニティから学びたいと考えていました私のような変更に適用され、もしそうなら、どのように。

+0

ええ、これは少し奇妙に聞こえます。査読者は、この変更がユーザーに表示される部分に影響を与えたと考えたのかもしれませんか? –

答えて

0

あなたは目に見える変更がなくても実装がいくつかの重要なビジネス指標に影響するかもしれないと心配しています。彼があなたがしたいのは、実際にはユーザーの視点から変化がない、つまりA/Bテストが実際にA/Aテストであることを経験的に証明することです。私はKPIが何を持っているかを彼に尋ねるでしょう。

関連する問題