実皌働環境でのAzure Webサむトのテスト



*この蚘事に蚘茉されおいるものはすべお開発䞭であり、ただ公には発衚されおいたせんほが排他的ので、動䜜が異なる堎合やたったく動䜜しない堎合がありたす



こんにちは



今日は、ただ公衚されおいないが、Testing In ProductionTiPず呌ばれるMicrosoft Azure Webサむトで既に䜿甚可胜なサヌビスに぀いおお話したす。 これにより、クラりドWebアプリケヌションのテストをより埮劙か぀正確に開始し、ごく䞀郚のナヌザヌの新機胜を衚瀺しお、ほずんどの蚪問者を安党に保぀こずができたす。 TiPを䜿甚する1぀の方法は、さたざたなシナリオで䜿甚できるA / Bテストを䜿甚するこずです。 芁点を説明する前に、たずそれが䜕であり、䜕のためであるかを説明する必芁がありたす。



A / Bテスト



方法論自䜓の名前に䟝存しおいる堎合、 A / Bテストは、補品のいく぀かの2぀のバヌゞョンAずBをテストしおいるずいう事実に぀いお掚枬できたす。 より具䜓的には、この手法スプリットテストたたは実皌働環境でのテストずも呌ばれたすを䜿甚するず、倉曎可胜ないく぀かの芁因に応じおWebサむトナヌザヌの行動を分析できたす。 たずえば、新しい機胜を導入したいが、それが忠誠心ずコンバヌゞョンにどのように圱響するか完党にはわかりたせん䜕かを販売する堎合。 個人的な刀断ず奜みに基づいお誀った仮定を立おないようにするために悲しいこずに、倚くの堎合、倚数意芋ずは関係ありたせん、サむトの以前のバヌゞョンず䞊行しお動䜜する新しい機胜を起動しお、あちこちのトラフィックの50を導くこずができたす。 次に、埗られた結果メトリックからのデヌタ-倉換、ペヌゞ遷移、コメント数などに応じお、新しい゜リュヌションが成功したかどうか、およびその将来の運呜を決定したす。 たたは完党に削陀されたした。



実際、A / Bテストははるかに耇雑なものです。 統蚈からの倚くの理論が含たれおいたす。なぜなら、新しい機胜の成功に関する決定はバランスが取れおいなければならず、非垞に具䜓的な理由があるためです。 たずえば、䜕かを販売しおいるオンラむンストアを所有しおいお、12月25日からクリスマスツリヌを販売するず決定した堎合ただし、これをA / Bテストの圢匏で入力、もちろん12月25日から12月31日たでオプションBは、単玔にプラスの倉換結果で茝きたす。 突然非垞に賢いビゞネスオヌナヌではないこずが刀明した堎合、結果が肯定的であるため、これらのツリヌを垞に販売甚に残しお、「ラむブの新機胜」を远加するこずを決定できたす。 ただし、明らかな理由により、クリスマスが終了する1月7日以降のどこかにひどい倱望を感じるでしょう。 そのため、新機胜の起動たたはロヌルバックに関する決定は統蚈的に正確である必芁があるこずを理解するこずが重芁であり、これには監芖に長い時間が必芁です。



A / Bテストずそれに関する統蚈調査の詳现に぀いおは、 むンタヌネットで芋぀けるこずができたす。あなたの良心に任せたす。 次に、Microsoft Azureでホストされおいるサむトのテストをどのように敎理できるかを怜蚎したす。



テクノロゞヌ



すでに理論的な郚分をマスタヌし、統蚈ずは䜕か、そしおどのように統蚈を理解しおいるず仮定したす 操䜜する 䜿甚する。 しかし、今疑問が生じたす-技術的な芳点からA / Bテストを実装する方法は あなたがりェブサむトを持っおいる堎合、どの特定のナヌザヌをどのオプションAたたはBに送信するかを圌たたはサヌバヌがどのように理解できたすか 誰がこれを行うべきか-盎接WebアプリケヌションたたはWebサヌバヌ さらに進むず、次の質問が発生したす。 新しい蚪問者をどうしたすか どういうわけか、蚪問者の合蚈数が同じたたになるように、オプションに埓っお配垃する必芁がありたす。 たた、サむトに戻っお、以前にサむトにアクセスし、既に実隓に参加したナヌザヌをどうすればよいでしょうか ランダムに再配垃するか、以前に所属しおいたグルヌプに送信できたす。 そしお、この党䜓を監芖する方法は 結局のずころ、䞀般的な条件付き倉換増加たたは枛少を分析するだけでは䞍十分であり、各オプションに応じおこの倉換がどのように動䜜するかを理解する必芁もありたす。



分割テスト甚の組み蟌み゜リュヌションは、たずえばMailChimpによっお提䟛されたす。 A / Bテストはマヌケティングツヌルずしお正確に䜿甚されるこずが倚いため、メヌリングリストでの䜿甚は正圓化されおいたす。 りェブサむト甚の同様のツヌルがありたす。 たずえば、 Optimizely 、 Visual Website Optimizer、 Google Analyticsなどです。 しかし、それらはすべおコンテンツのみを操䜜できるため、䞀郚の動䜜たたはたったく新しい機胜をテストおよび分析するこずはできたせん。 これらのツヌルは玔粋にマヌケティングであり、技術補品での䜿甚には適しおいたせん。 コメントの誰かが、最小限のコストでアプリケヌションのA / Bテストを実行できる他のサヌビスたたはWebサヌバヌ甚の既補の゜リュヌションを提䟛できるこずを願っおいたす。 そしお、このような問題を解決するためのMicrosoft Azureクラりドの新機胜に぀いお説明したす。



本番環境でのテスト



本番環境でのテストTiPの抂念は最近Azureに登堎し、珟圚も開発䞭です。 同瀟はこのサヌビスをただ公匏に発衚しおいたせんが、 新しいAzure管理ポヌタルで既に利甚可胜であり、実際に詊しおみるこずができたす。



実際、TiPは、次の実装の成功を評䟡するための統合アプロヌチずしおのA / Bテストではなく、A / Bテストではありたせん。 TiPプラットフォヌムには、いく぀かの基本的なテストタむプがありたす甚語が英語であるこずは残念ですが、間違った翻蚳を指定するリスクはありたせん。



これらのさたざたなテストアプロヌチはすべお、Azureの1぀の技術゜リュヌションを䞭心に構築されおいるため、倚くのドキュメントちなみに䞍圚、ちなみにを調べたり、さたざたなパラメヌタヌを構成したりする必芁はありたせん。 すべおが1か所で行われ、䜿甚方法を正確に決定するのはナヌザヌ次第です。 最埌に、実甚的な郚分に移りたしょう-Webアプリケヌションの新機胜をどのように取埗したすか。



準備する



Production in Testingのサヌビスの䜿甚を開始するには、サむトがたずMicrosoft Azureクラりドで動䜜しこれは明らかです、次に暙準構成レベルを持っおいる必芁がありたす。 この芁件は、テストのために、暙準レベルのみにある新しい展開スロットを䜜成する必芁があるずいう事実が原因です。





テストするサむトを遞択しおください



そのため、必芁なWebサむトを遞択し、蚭定パネルに移動したす。 䞀番䞋のどこかに、Testing in Productionず呌ばれる倧切なボタンがありたす。このボタンをクリックするず、新しいサヌビスを䜜成するためのりィザヌドが開きたす。





テスト䜜成リンク





テスト䜜成



新しいバヌゞョンを展開するためのスロットを䜜成するように求められたす。 必芁なスロットの数を自分で自由に決めるこずができるため、ここから創造性の範囲が始たりたす。 たた、テストに参加するためにも、これに関係なく、スロットを䜿甚できるこずを理解する必芁がありたす。 内郚テスト甚に個別のスロットたずえば、継続的むンテグレヌションを構成した堎合、個別のスロットサンドボックス、個別の特定の機胜などを蚭定できたす。 同時に、同じスロットに基づいお、A / Bテストを敎理するこずができたす以䞋に぀いお。



スロットを远加するには、その名前ず構成゜ヌスを指定する必芁がありたす。そこから別のスロットの蚭定をむンポヌトできたす。 ずころで、名前のプロダクションはアプリケヌションのメむンバヌゞョン甚に予玄されおいるため、Azureがこの名前を誓ったずしおも驚かないでください。





新しいスロットを远加する



必芁な数のスロットたずえば3぀を䜜成しお、意味のある名前を付けたしょう。





スロットリスト



実際、各スロットは独立したサむトであり、<メむンサむト名>-<スロット名> .azurewebsites.netずいう圢匏のリンクからアクセスできたす。 通垞のサむトず同様に、パブリッシュプロファむルを䜿甚するか、他の䜿い慣れた方法でコヌドをスロットにデプロむできたす。



すべおのスロットが特定され、必芁な機胜がスロットに存圚するず、テストの準備が敎いたす。



テストセットアップ



゜リュヌションのテストA / Bたたはカナリアテストを開始するには、ナヌザヌのどの郚分にどこにリダむレクトするかを指定する必芁がありたす。 [実皌働環境でのテスト]パネルに戻りたす。ここで、スロットごずのナヌザヌの分垃の割合を調敎できたす。





テストオプションの远加



テストに新しいスロットを远加するず、い぀でもメむンサむトにリダむレクトされるナヌザヌの数を確認できたす。 オプションがほずんどない堎合、それはそれほど重芁ではありたせんが、新しい機胜を積極的に䜿甚し、倚数のテストを実行し始めるず䟿利です幞運を祈りたす。



ずころで、各スロットは本栌的なWebアプリケヌションの䞀皮であるため、ツリヌテストテスト内のテストを䜿甚しお、より耇雑なスクリプトを敎理できたす。





ネストされたテスト



䞊蚘の䟋では、ネストされたテストのスクリプトでは、デヌタベヌスの圹割は本番スロットではなく、遞択されたテストこの堎合はtest-1が果たしおいるこずがわかりたす。 党䜓像を分析するず、次の結果が埗られたす-すべおのナヌザヌの10がtest-1に送られたす。 その埌、50がこのオプションに残り、さらに50最初の10のこずを忘れないでくださいが実皌働に送り返されたす。



テストのオプションが1぀しかない堎合は、統蚈ず特定の指暙に基づいお、50のナヌザヌをデヌタベヌスに送信し、50のナヌザヌをオプションに送信しお、均等な分垃を取埗し、成功に぀いお決定するだけです。 しかし、耇数のオプションを䞀床にテストする堎合はどうでしょうか たたは、蚪問者の50がすぐに新しい機胜にアクセスしたいのに、自分を10に制限したいのではないでしょうか この堎合、どちらの堎合も蚪問者の遞択絶察数が異なるため、オプションずデヌタベヌスの比范は正しくありたせん。 このようなシナリオでは、最初にテストバヌゞョンでナヌザヌの䞀郚のみを切断し、その内郚でデヌタベヌスに50を「戻す」ずきに、ツリヌベヌスのアプロヌチを䜿甚できたす。 この堎合、適切な監芖により、同じ倀に基づいお信頌できる結果を確認できたす。



この配垃はすべお、Webサむトの背埌で行われるため、ナヌザヌは必芁なペヌゞのURLを入力するだけです。 バヌゞョンの眮換は、リダむレクトや远加コヌドなしで、気付かれるこずなく行われたす。 ただし、開発者ずしお特定のオプションぞの盎接アクセスが必芁な堎合は、盎接リンクオプションsite.azurewebsites.netを䜿甚しおい぀でも参照できたす。



仕組み



これたでのずころ、これがどのように配眮されおいるかに぀いおはほずんど情報がありたせん。 ただし、開発者ずしおテストの正確性に぀いおあたり心配する必芁がないように、TiPが背埌で蚭蚈されおいるこずを知っおいたす幞いなこずに、これを共有するこずは犁じられおいたせん。 新しいナヌザヌが最初にサむトにアクセスするず、サヌビスはそれを決定するオプションを決定したす。 これがどのように起こるかはただ䞍明であり、すべおが単語に限定されおいたすが、興味があれば、詳现を調べるこずができたす。 サヌバヌがナヌザヌの正確な宛先を決定するず、察応するCookieがサヌバヌに割り圓おられたす。 その埌、サヌバヌはそれを䜿甚しお、蚪問者が戻っおくるこずを決めた堎合に、この蚪問者をどこで識別するかを決定したす。 これにより、ナヌザヌがCookieを削陀するこずを決定するたで、同じ人が同じオプションに接続されるこずが保蚌されたす。





クックを蚭眮



モニタリング



これたでのずころ、テスト結果を監芖するための既補の゜リュヌションはなく、適切なサヌビスを自由に遞択できたす。 Azureに組み蟌たれおいるアプリケヌションむンサむトサヌビスを䜿甚するず、蚪問などに関する統蚈情報を収集できたす。 GoogleアナリティクスたたはYandex.Metricaの構成を詊みるこずができたす。 しかし、いずれにせよ、Microsoftが䜕を思い぀いたずしおも、それぞれに独自のコンバヌゞョンがあるため、コンバヌゞョンを自分で远跡する必芁がありたす。 たずえば、誰かにずっおはコンバヌゞョンはクリックスルヌであり、誰かにずっおはむンストヌルされたアプリケヌションたたは肯定的なフィヌドバックです。 いずれにせよ、それはすべお特定の補品ずテストの目的に䟝存するので、普遍的なものを埅たないでください。 MicrosoftはTiP甚に特別に調敎された監芖ツヌルをすぐに衚瀺するでしょうが、それらはすべおの病気の䞇胜薬ではなく、これを明確に理解する必芁がありたす。



次は䜕ですか



この蚘事を読んだ埌に生じるかもしれない合理的な質問は、「そしお、私は生の補品で䜕をすべきですか」です。 この蚘事は、サヌビスの公開前に、ただ開発䞭であるずきに、意図的に䜜成したした。 私の目暙は、たず、Webアプリケヌションをテストするための非垞に䟿利なツヌルに぀いお話すこずですちなみに、A / BテストはFacebook、Booking.com、および他の倚くの䌁業で行われたす。あなたのフィヌドバックで、開発チヌムがサヌビスを改善するのを助けおください。 圌らは、ただやるべきこずがたくさんあり、倚くのチップがPowerShellからしか入手できないこずを正盎に認めおいたすが、䜜業は進行䞭であり、すぐにこのサヌビスは機胜し、利益をもたらしたす。 あなたが最前線にいるのが奜きなら、これは他の人の前に䜕かを詊す玠晎らしい機䌚です。



Azure Testing In Productionの動䜜䟋を瀺すラむブビデオ-http://channel9.msdn.com/Shows/Web+Camps+TV/Enabling-Testing-in-Production-in-Azure-Websitesがありたす 。



PS



本番環境のテストの新機胜を独自にテストし、゚ラヌ/問題が発生した堎合、たたは改善のための提案がある堎合は、このこずに぀いお私に連絡しおください。 このサヌビスを改善できるよう、すべおのフィヌドバックを開発チヌムに盎接送信するようにしたす。



All Articles