モバイルアプリケーションのテストに最適な7つのデバイスファーム

遠い昔、ノキアとマイクロソフトがスマートフォンのショーを開催していたとき、モバイル開発の特徴の1つ、つまりオペレーティングシステムの特性と変更に応じたデバイスの多様性が生じました。 OSの異なるバージョンだけでなく、異なる物理デバイスでもアプリケーションをテストする必要がありました。 iOSのリリース後、電話モデル自体は常に少数であったため、問題はありませんでした。 しかし、Androidの世界では、断片化の問題が完全に高まっています。 市場には何千ものモデルがあり、常に新しいモデルが登場します。アプリケーションまたはゲームは、それぞれで動作することが保証されている必要があります。 これらのモデルには、さらに異なるバージョンのファームウェアを追加します...そして、各リリースを確認するには、手作業で大量の工数が必要になることを理解します。













注: Hacker誌の記事の完全版の出版物シリーズを継続します。 著者のスペルと句読点が保存されました。







デバイスファーム



デバイス群の多様性に関する問題が古代に発生したため、すでにノキアは開発者にスマートフォンをレンタルするサービスを提供し始めました。 デバイスにアプリケーションを配置し、リモートコントロールモードで主要なシナリオを確認することができました。 無料で、一部のデバイスは長時間待たなければなりませんでしたが、そのようなテストにより、開発者はソフトウェアがさまざまなスマートフォンで正常に動作し、ユーザーに苦情がないことを望みました。 スタートは良好で、デバイスファームはさらに開発されました。OS自体がユーザーアクションをシミュレートするツールを提供し始めました。 つまり、テスターまたは開発者が人間のふりをしてスクリプトを作成します。 便利なDevOpsツールを追加して、ここでこれらのスクリプトをビルドし、自動的に実行します。各リリースの膨大な工数で、この悲観的な状況を忘れることができます。







前回の記事(まだ読んでいない場合は1回目2回目 )では、モバイルDevOpsパイプラインの使用を既に検討しているため、個別のクラウドデバイスファームの選択に集中できます。







今日は、人気のあるクラウドデバイスファームについて説明します。FirebaseTest Lab、Samsung Remote Test Lab、AWS Device Farm、Sauce Labs、Xamarin Test Cloud、Perfecto。







仕組み



UIテストの組み込み自動化が比較的最近登場しました。iOS9.0(XCTest UI)とAndroid 4.3(UI Automator、EspressoはAndroid 2.2で動作しました)。







下位レベルでは、すべてが非常に簡単に実装されます。アプリケーションで特別なスクリプトが起動され、OSに実際のユーザーの作業をシミュレートさせます。指でタッチ、ストローク、ジェスチャー、デバイスのボタンを押します。







スクリプトを実行するためのいくつかの一般的なサブシステムがあります:Appium、Calabash、Espresso、Robotium、AndroidのUI Automator、iOSのXCTestは、Ruby、C#、Java、Python、Swiftなどの1つ以上のプログラミング言語をサポートします。







無料で怒っています



デバイス群の不均一性の問題は主にAndroidに関連しているため、GoogleとSamsungのファームとの関係を開始します。













サムスンリモートテストラボ



最初のラインは、 Samsung Remote Test Labサービスです。 このサービスは技術的に時代遅れであり、私たちの記事で言及する価値はありません。 サムスンはAndroidスマートフォン市場のリーダーであり、議員の1人です。そのため、フラッグシップアップデートへの早期アクセスにより、デバイスの販売前でもアプリケーションの動作を確認できます。 さらに、Tizenベースのデバイス(ZラインのスマートフォンとGearスマートウォッチ)にアクセスできます。













サービスの操作は次のとおりです。デバイスを予約し、画面および入力デバイス(タッチスクリーン、ボタン)へのリモートアクセスを提供する特別なJavaアプリケーションを実行します。 現在、スマートフォンとタブレットの25のモデルが利用可能で、それぞれのモデルにはいくつかのコピーと修正があります。 自動化は一連のイベントを手動で記録するレベルで行われるため、アプリケーションを手動でインストールする必要があります。 一般的に、どのような機会はあまり暑くはありませんが、完全に無料です。 そして最もおいしい-サムスンリモートテストラボは便利なリモートデバッグモードをサポートしています! したがって、Samsungデバイスでの手動テスト用の追加ファームとしてこのサービスを安全に推奨できます。







Android用Firebaseテストラボ









次のサービスはGoogleの壁の中で開発されたもので、 Firebase Test Lab for Androidと呼ばれます 。 一般的に、FirebaseはAndroidの開発を専門とするチームに適しています。デバイスファームはツールの1つにすぎません。 現時点では、利用できるデバイスモデルは多くありません(約30、スクリーンショットのリストは下にあります)が、エミュレーターで起動する可能性もあります。 テストラボは、Firebaseサービスの単一のサブスクリプションに含まれており、完全に無料で開始できます。













Firebase Test Labは、Samsungサービスとは異なり、DevOpsパイプラインに簡単に統合できます。 テストシナリオは、 Espresso、Robotium、UI Automator 2.0、およびRoboツールを使用して実装できます。 スクリーンショットは、スクリプトの実行中に取得されます。 一般に、これはネイティブツールを使用した小規模プロジェクトのAndroid開発に適したソリューションです。 安い(無料!)そして陽気。







専門の専門農場



Android開発者はSamsungと一緒に住んでいないので、iOSをサポートし、多くのモデルを持ち、お金を必要とする大規模ファームでレビューを続けたいと思います。







AWSデバイスファーム









AWSデバイスファームでは約400個のデバイス(約100モデル)が利用可能で、1分あたり0.17ドルからの価格、anlim(!)があり、最初の1000分は無料です。 サービスの質が高く、DevOpsパイプラインに統合できることは注目に値します。 スクリプトを作成するには、Appium(iOS + Android)、Calabash(iOS + Android)、Espresso(Android)、Robotium(Android)、UI Automation(iOS)およびXCTest(iOS)などを使用できます。







Xamarin Test Cloud









次のプロフェッショナルサービスはXamarin Test Cloudです。 2500以上(誤字なし)の実際のデバイス! IOS、Android、およびすべての機能がサポートされています(スクリーンショット、自動化されたスクリプト、ビデオ。将来的にはリモートデバッグと記録も約束されます)。 すべてについて-すべて99ドルから。 このサービスは、クロスプラットフォームソリューション(Xamarin、React Native)の開発者と、幅広いユーザーを対象とするプロジェクト(結果として、モデル範囲の高いカバレッジ)の両方に理想的です。 CalabashおよびXamarin.UITestに基づいた自動スクリプトをサポートします。







老人



そして、今日のレビューは、モバイルおよびハイブリッドアプリケーション、およびWebサイトという幅広いソフトウェアをテストするための包括的なサービスとサービスを提供する2つの多機能サービスで終わります。







ソースラボ









このSauce Labsをご覧ください 。 自動テスト市場の昔からの人の一人。 Seleniumの開発者であるJason Hugginsが作成に携わりました。 Sauce Labsは、アダルトチーム向けのアダルトサービスです。 月額149ドルからの価格で、iOSおよびAndroid向けのネイティブおよびハイブリッドアプリケーションがあり、独自のプライベートクラウドを整理したり、手動でテストしたりすることができます。 DevOpsパイプラインとの統合およびエミュレーター/シミュレーターでの起動がサポートされていますが、デバイスモデル自体は20を超えて発表されていません。 言い換えれば、Seleniumファンが1つです。







パーフェクト









そして、 Perfectoの最も古いデバイスファームの1つについてのレビューを終了します。 SymbianとWindows Mobileの時代に、この会社はデバイスをレンタルで提供し始めました。 価格は高かったが、試用版では、アプリケーションをすばやく実行し、動作する(または動作しない)ことを確認できました。 iOSでは約20種類、Androidでは50種類以上のモデルを使用できますが、フレームワークとしてAppiumを使用することをお勧めします。 手動テストは無料ですが、自動化の費用は月額299ドルからです。







合計



手動テストのかゆみを取り除くことができる最も興味深いデバイスファームを調べました。 どこから始めるべきかまだ決定していない場合は、次のことに集中できます。









いずれにせよ、市場には技術スタックやウォレットに十分な数の農場があるため、適切な農場を簡単に見つけることができます。 これで、疲れたテスターを地下から解放し、パスポートを返却できます。 自動化する時が来ました。







接続へ!







著者について



Vyacheslav ChernikovはBinwell 、Microsoft MVP、およびXamarin認定開発者の開発責任者です。 過去には、Nokia ChampionおよびQt認定スペシャリストの1人で、現在はXamarinおよびAzureプラットフォームのスペシャリストです。 彼は2005年にモバイル分野に参入し、2008年からモバイルアプリケーションを開発しています。Symbian、Maemo、Meego、Windows Mobileから始め、その後iOS、Android、Windows Phoneに切り替えました。 Mediumブログで Vyacheslavの記事読むこともできます。







著者の他の記事:









これはハッカー誌の記事の完全バージョンであることを思い出します。








All Articles