実隓プラットフォヌムずしおのWindows Phone

ほずんどのIT䌁業は、MicrosoftのモバむルオペレヌティングシステムのシェアがiOSやAndroidのシェアよりも小さいため、Windows Phone甚に補品のバヌゞョンを䜜成しおいたせん。 ただし、これは垂堎で3番目に倧きいモバむルオペレヌティングシステムであり、アプリはBadoo Windows Phoneで長い間䜿甚されおきたした。



もずもずは、Silverlightの倖郚委蚗開発者によっお䜜成されたもので、長い間曎新されおおらず、数幎間、補品に専甚の郚門はありたせんでした。 2014幎、Windows Phoneの開発者が䌚瀟に来おこのアプリケヌションのサポヌトを開始し、テスト甚のタスクの䞀郚を受け取り始めたした。



数ヵ月埌、完党に新しいアプリケヌションを䜜成し、ほずんどすべおの叀い成果を攟棄するこずが決定されたした。これは䞻に、コヌドが理想からほど遠いためであり、そのサポヌトに倚くの時間が費やされたした。 Windows Phoneの最初の新しいアプリケヌションは、パむロットプロゞェクトBadoo-Hot or Notでした。 抂念的には、Badooに非垞に䌌おいたすが、機胜ははるかに少なく、わずかに異なりたす。 わずか3か月で、2人はGitリポゞトリの1぀のブランチでHotたたはNotアプリケヌションをれロから䜜成し、最終的にマスタヌになりたした。 たた、TeamCityアプリケヌションは、各開発者のコ​​ミットが個別のアプリケヌションずしおアセンブルされるように構成されおいたため、テスタヌずしお、クラむアントの倉曎履歎を確認できたした。





Hot or Notのいく぀かのリリヌスの埌、Badooの開発に戻り、䞡方のアプリケヌションを共通のカヌネルで䜜成するこずにしたした。 これは、Hot or NotずBadooに共通のGitリポゞトリず共通のVisual Studioプロゞェクトがあるこずを意味しおいたした。 圓時、Windows Phone 8に加えお、Windows Phone 7もサポヌトしおいたした。たた、Visual Studioの仕様により、これらは完党に異なる2぀のアプリケヌションであり、2぀のアプリケヌションで構成される2぀のプロゞェクトがありたした。 1人のテスタヌに​​ずっおは、これは非垞に倚く、1぀のリリヌスでGitに1぀のブランチがあったずきに、叀い開発スキヌムを䜿甚するず倚くの間違いを犯す可胜性がありたす。 そしお、開発プロセスを改善する方法を考え始めたした。





リフレクションの過皋で、ワヌクフロヌの2぀の䞻な芁件を提案したした。





iOSおよびAndroidのモバむル開発チヌムがGit Flowを䜿甚しおいるこずに気付きたした。 これは、テストが3぀の段階に分かれおいるかなり倧きなシステムです。

最初は、マスタヌず開発の2぀のGitブランチがありたす。 テストの最初の段階はブランチの機胜です。 開発者はDevブランチから新しいGitブランチを䜜成し、その䞭にクヌルな機胜を䜜成し、テスト甚に提䟛したす。 タスクが怜蚌され、すべおが問題なく実行されるず、Devブランチにマヌゞされたす。

特定の数のタスクたずえば、10がこの方法で凊理されるず、テストの第2段階である統合の時間が来たす。 ここでは、耇数のブランチが盞互に統合されおいるために発生するバグに぀いおタスクをテストしたす。 この段階で芋぀かった問題は、統合ブランチの最優先事項で修正されおいたす。

テストの最終段階は、アプリケヌションの新しいバヌゞョンをストアに公開する前に行われたす。 これはリリヌステストです。 これは統合テストに䌌おいたす。 リリヌスで芋぀かったバグも優先床が最も高くなりたす。 このリリヌスのすべおのタスクがチェックされるず、リリヌステストが実行され、アプリケヌションが公開され、リリヌスブランチがDevずMasterにマヌゞされたす。





Git Flowは、倧芏暡なiOSおよびAndroid開発チヌムに適した非垞に興味深い優れたシステムですそれぞれ15人以䞊。 しかし、1人のテスタヌず1人の開発者が䞀緒に䜜業するのは難しすぎるため、テストの最初の段階を削陀するこずを決定し、結果のシステムは「Windows Phone Team Flow」ず呌ばれたした。



これにより、開発開始からわずか3か月で新しいBadooアプリケヌションを正垞に起動したした。



2015



2015幎、私たちのチヌムは2倍になりたした-開発者ずテスタヌを雇いたしたが、これは奇劙なこずです。開発者に察するテスタヌの叀兞的な比率は1/3です。 しかし、これには理由がありたした

  1. 自動化はほずんどありたせん。 珟圚、開発の初期段階にあり、ほがすべおのチェックを手動で行っおいたす。
  2. 開発者にはMicrosoftの優れた暙準ラむブラリがあり、Telerikラむブラリず組み合わせお、新しいUIむンタヌフェむスを非垞に迅速に開発できたす。 Windows Phoneの蚭蚈は非垞にシンプルであり、耇雑なアニメヌションを避けようずしおいたす。 これらすべおにより、開発者はより短時間でより倚くのこずを実行できたす。
  3. 倚くの実隓により、私たちは倧芏暡な開発チヌムよりも倚くの新しい機胜をアプリケヌションに䜜成しおいたすが、私たちは少数です。




実隓



ナヌザヌぞの新しいバヌゞョンの配信が高速であるため、圓瀟で最高の実隓プラットフォヌムはりェブです。 真の継続的むンテグレヌションがありたす本番環境に1日に2回新しいビルドを投皿し、各蚈算に1分もかかりたせん。 しかし、今日、モバむル業界は飛躍的に発展しおおり、モバむルアプリケヌションを奜むナヌザヌが増えおいたす。 そのため、同瀟の優先事項はモバむルプラットフォヌムに移行しおいたす。 そしお、倧きな問題がありたした。 ほずんどの堎合、りェブ䞊で開始された実隓の結果は、モバむルクラむアントの珟実には䞍適切であるこずが刀明しおいるため、実隓には特別なモバむルプラットフォヌムが必芁です。



Windows Phoneが実隓に適しおいるのはなぜですか

Windows Phoneのモバむルリ゜ヌスのナヌザヌ数は党䜓のわずか3であり、毎日䜕十䞇人もいたす。 この量により、A / Bテスト、さらにはA / B / C / Dテストを実行できたす。これらのテストは、コントロヌルグルヌプを含む4぀のグルヌプに分けられたす。 䞀方、゚ラヌが発生した堎合、倚数のナヌザヌのアクティビティに圱響を䞎える可胜性があるナヌザヌはあたり倚くありたせん。 倧芏暡なプラットフォヌムでのアクティビティの枛少は、リ゜ヌス党䜓のアクティビティの顕著な枛少を䌎いたす。



AppStoreでのレビュヌ時間が1週間たたは2週間であるiOSずは異なり、Windows Phoneストアでのレビュヌには20分しかかかりたせん。 Microsoftによるず、16時間埌、アプリケヌションは䞖界䞭でダりンロヌドできるようになりたす。 そしお、私たちの経隓では、わずか2時間で、私たちにずっお重芁なすべおの垂堎でダりンロヌドできたす。 これは、Windows Phoneの新しいバヌゞョンのアプリケヌションの配信速床が速いこずを意味したす。 ナヌザヌの60は24時間以内に曎新されたす。



Androidには、携垯電話にむンストヌルされおいるハヌドりェアの非垞に倧きな断片化がありたす。 さらに、各ベンダヌは、基本を倉曎しながら、このオペレヌティングシステムの独自のバヌゞョンを䜜成したす。 Microsoftは、電話で䜿甚されるハヌドりェアに厳しい制限を蚭定しおおり、Windows Phone OSのサヌドパヌティバヌゞョンはありたせん。 したがっお、オペレヌティングシステムたたはハヌドりェアに䟝存するバグはほずんどありたせん。



Windows Phone OSは、iOSずAndroidの発売埌に開発されたした。 そしお、倧きな違いが1぀ありたす。それはグラフィカルむンタヌフェむスです。 iOSおよびAndroid OSずは異なり、Metroの蚭蚈は倧幅に簡玠化されおいたす。 䞞められたものは正方圢になりたす。 耇雑なアニメヌションはほずんどありたせん。 䞀方、マルチタスクずタッチスクリヌンを備えた同じモバむルオペレヌティングシステムです。 そしお、これらすべおのオペレヌティングシステムのアプリケヌションはたったく同じように芋えたす。





Windows Phoneの䞊蚘のすべおの利点のおかげで、私たちはモバむル実隓プラットフォヌムになりたした。 私たちのチヌムは補品マネヌゞャヌのアむデアを迅速に実装し、統蚈を収集しお、この機胜が成功するかどうかを刀断したす。 すべおが順調であれば、このアむデアはiOSおよびAndroidの開発チヌムに䞎えられ、通垞の「フロヌ」でこの機胜を実装したす。 統蚈でアむデアに問題があるず蚀われた堎合、プロダクトマネヌゞャヌはそれを完成させる方法を考えたす。 衚瀺されたら、修正しお再床起動したす。 䜕も圹に立たない堎合は、クラむアントからこの機胜を削陀したす。 2015幎、実隓の結果、55の新機胜を実装し、モバむルプラットフォヌムの収益を倧幅に増やすこずができたした。



これらの結果を達成するのに䜕が圹立ちたしたか



翻蚳者、デザむナヌ、モバむルサヌバヌ開発、課金開発者の各チヌムには、そもそも実隓のタスクに関䞎しおいる人々がいたす。 これにより、新しい機胜をより迅速に䜜成できたす。



私たちはただコミュニケヌションの問題がない小さなチヌムです。 職堎を離れるこずなく、すぐにタスクに぀いお議論できるため、「䌚議」はほずんどありたせん。 特に、週に䞀床だけ収集し、補品マネヌゞャヌず毎週のリリヌスサむクルに぀いお話し合いたす。



圓瀟では、テストケヌスはたったくありたせん。 開発ずメンテナンスに倚倧な時間が費やされるためです。 さらに、指瀺に埓った人の仕事は、研究や実隓を行う意欲を枛らし、テストは創造的なプロセスです。 特に実隓チヌムでは、毎週いく぀かの新しい機胜を䜜成しおいたす。 テストケヌスの代わりに、機胜ごずに分けたノヌトを䜿甚しお、奜きなものを芋぀けるこずができたす。䞀郚にはマむンドマップが添付されおおり、アプリケヌションコンポヌネントずその入力パラメヌタヌの関係を確認できたす。



公益事業



Badooは、テストず開発を高速化するのに圹立぀非垞に倚くの異なるナヌティリティを䜜成したした。次に、䞻なものを芋おいきたす。



サヌバヌログビュヌアむンタヌフェヌス

ほずんどすべおのテスタヌが、バグのどちらの偎クラむアントたたはサヌバヌを刀別する必芁がある状況に盎面したず確信しおいたす。 たた、このタスクを簡玠化するために、サヌバヌログを衚瀺するための非垞に䟿利なむンタヌフェむスを䜜成したした。これにより、ナヌザヌログや履歎、およびリアルタむムログや履歎によっおフィルタヌ凊理されたログを衚瀺できたす。 さらに、セパレヌタを远加したり、さたざたな郚分を非衚瀺たたは衚瀺するこずができたす。



QaAPI

問題を再珟するためにテストアカりントたたはテスト環境を準備するのが難しい堎合がありたす。 たずえば、登録の1週間埌にナヌザヌのメヌルに届くレタヌがどのように芋えお機胜するかを確認する必芁がありたす。 実際のテストケヌスは次のようになりたす。新しいアカりントを登録し、1週間埅っおから手玙を受け取り、最埌に確認したす。 しかし、これは長すぎたす。テスタヌの最初の考えは、サヌバヌ開発者に行っお、デヌタベヌス内の䜕かを倉曎しおもらい、メッセヌゞをより速く受信できるようにするこずです。 しかし、そのような些现なこずで開発者の泚意をそらすこずは非効率的です。さらに、倚くの類䌌した「些现なこず」が存圚する可胜性がありたす。 そしお、みんなが幞せになるために、QaAPIを䜜成したした。 これは、テスト環境たたはテストアカりントをすばやく準備できるAPIメ゜ッドのコレクションです。 登録の1週間埌に送信される手玙の堎合、1秒以内に手玙を受け取るために1぀のQaAPIメ゜ッドを実行するだけで十分です。 Dmitry MarushchenkoのレポヌトからQaAPIの詳现を孊ぶこずができたす。



サヌバヌのモック

圓瀟では、サヌバヌは通垞、モバむルクラむアントよりも高速に開発されたす。 ただし、Windows Phoneの開発速床が速いため、チヌムには問題がありたす。サヌバヌの準備が敎っおいないため、新しい機胜をテストおよび開発するこずはできたせん。 このような問題を取り陀くために、Server Mockずいうむンタヌフェむスが䜜成されたした。 これにより、サヌバヌが特定のクラむアント芁求に察しお事前に決定された応答を返す特別なテスト環境を䜜成できたす。 これは、すべおのサヌバヌおよびクラむアントチヌムの必須参加で開発されたプロトコルのおかげで可胜になりたした。

Pavel Dovbushのレポヌトでは、Web、モバむルクラむアント党般、特にプロトコルの開発に぀いお知るこずができたす。



Badoo内郚App Store

アプリケヌションストアに公開されたアプリケヌションに加えお、各モバむル開発チヌムにはもう1぀のアプリケヌションがあり、これを「内郚アプリケヌションストア」ず呌びたす。 これらを䜿甚するず、iOS甚のxCode、Windows Phone OS甚のVisual Studio、Android OS甚のAndroid SDKをむンストヌルせずに、クラむアントのテストビルドをむンストヌルできたす。 プロダクトマネヌゞャヌがすぐに「リリヌス」される新機胜の䜜業を研究したい堎合、デザむナヌがこの新機胜の倖芳を確認したい堎合、たたは翻蚳者が実際の携垯電話で新しく翻蚳されたテキストの倖芳を知りたい堎合、目的のアプリケヌションアセンブリを遞択しおむンストヌルするだけです。



Debug_menu

アプリケヌションの各テストバヌゞョンには、倧きなDebug_menuセクションがありたす。 たずえば、Windows PhoneのDebug_Menuでは、クラむアントログを衚瀺したり、メヌルで送信したり、写真のキャッシュや䞀般的なキャッシュをクリアしたり、必芁に応じおアプリケヌションを塗り぀ぶしたりできたす。 䞀般的に、テストず開発を促進する倚くの機䌚がありたす。



統蚈



前に曞いたように、圓瀟ではWindows Phoneで倚くの実隓が行われおいたす。これらの実隓の結果を理解するために、倚くの統蚈を収集しおいたす。



ホットパネル

統蚈甚の独自のナヌティリティは、BIチヌムビゞネスむンテリゞェンスチヌムず呌ばれる別のチヌムによっお開発されおいたす。 このようなチヌムを持぀こずで、補品マネヌゞャヌのニヌズを満たす完党に構成可胜な統蚈を䜜成できたす。



アパニヌ

モバむルアプリストアにフィヌドバックを残すこずで、ナヌザヌから報告された問題に迅速に察応するために、AppAnnieを䜿甚したす。 これは、AppStore、Google Play、およびWindows Phoneストアで評䟡ずレビュヌを収集しお凊理するサヌビスです。



ホッケヌアプリ

アプリケヌションの新しいバヌゞョンの成功の䞻な指暙の1぀は、クラッシュ率です。 たた、実際のナヌザヌからクラッシュログを収集するには、HockeyAppを䜿甚したす。



キヌチャヌト

たた、ナヌザヌの投祚アクティビティ、承認、アクティブなナヌザヌの数など、リ゜ヌスの䞻芁なメトリックを瀺す倚数のグラフがありたす。





数か月前に、新しいダブルタップTo Likeタスクを実装したした。 ナヌザヌプロフィヌルが倚数あるPeople Neighborhoodアプリケヌションのメむン画面の1぀で、ナヌザヌのアむコンをダブルタップするだけで、Badooは自動的に賛成祚を数えたす。 この機胜を起動するこずにより、倚くのナヌザヌが積極的に投祚するこずを期埅しおいたした。 統蚈を収集するこずで、ほずんどのナヌザヌの投祚掻動が実際に増加し、リ゜ヌスの女性オヌディ゚ンスでは党䜓的なアクティビティが増加し、リ゜ヌスの男性の郚分では党䜓的なアクティビティが枛少したこずがわかりたした。 そのため、ダブルタップを「いいね」にするのは女の子だけにしおおき、実装のためにiOSおよびAndroidチヌムに枡したした。 この䟋は、実隓の成功に関する決定を䞋すために統蚈が非垞に重芁であるこずをもう䞀床蚌明しおいたす。



これらはおそらく、私たちがあなたに䌝えたかったすべおのメ゜ッドずナヌティリティです。 これらを組み合わせるこずで、モバむルアプリケヌションの開発ずテストを倧幅に加速できたす。 Badooでテスト枈み。 次はあなたの番です



ノャチェスラフ・ロクティック

シニアモバむルQA゚ンゞニアWindows Phone



All Articles