Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Firebase TestLabでAndroidのテストを開始する

Firebase Test Labを使用すると、さまざまなデバイスと構成でアプリをテストできます。このスタートガイドでは、従うべき実装パスと、TestLabのAndroid製品の概要を説明しています。

テストラボのクォータと料金プランの詳細については、参照使用法、クォータ、および価格設定を

重要な概念

あなたが選択したテストまたはデバイスと構成に対するテストケースのセットを実行すると、テストラボは、テストマトリックスとして結果を表示し、一括でアプリに対してテストを実行します。

デバイス×テスト実行=テストマトリックス

端末
電話、タブレット、ウェアラブルデバイスなど、テストを実行する物理デバイスまたは仮想デバイス(Androidのみ)。テストマトリックス内のデバイスは、デバイスモデル、OSバージョン、画面の向き、およびロケール(地理および言語設定とも呼ばれます)によって識別されます。
テスト、テスト実行
デバイスで実行されるテスト(または一連のテストケース)。デバイスごとに1つのテストを実行することも、オプションでテストをシャーディングして別のデバイスでテストケースを実行することもできます。
テストマトリックス
テスト実行のステータスとテスト結果が含まれます。マトリックスでのテストの実行が失敗すると、マトリックス全体が失敗します。

ステップ1:テストラボへのアップロードのためのあなたのテストを準備します

利用可能なテストタイプ

Test Labを使用して、次のテストを実行できます。すべてのテストタイプは、物理デバイスで45分、仮想デバイスで60分に制限されていることに注意してください。キャッチされない例外があると、テストが失敗します。

  • 計装テストインストルメントユニットテスト:あなたが使用して書いたテストエスプレッソUI Automatorの2.0フレームワークを。このテストでは、あなたが使用して正しい機能を検証するために、あなたのアプリの状態についての明確な表明を行うことができますAndroidJUnitRunnerAPIsを

  • ロボテスト:あなたのアプリのUIを分析し、任意のコードを書くためにあなたを必要とせずに、ユーザのアクティビティをシミュレートすることにより、系統的にそれを探る自動テスト。訪問ロボ・テストについて詳しくは。

  • ゲームループテスト:アプリのゲーミングでシミュレートプレイヤーのアクションに「デモモード」を使用するテスト。これは、ゲームがユーザーにとって適切に機能することを確認するための高速でスケーラブルな方法です。ゲームループテストの実行を選択すると、次のことができます。

    • ゲームエンジンにネイティブなテストを作成する

    • 異なるUIやテストフレームワークに同じコードを書くことは避けてください

    • (訪問を必要に応じて、単一のテスト実行で実行する複数のループを作成し、ゲームループテストについてもっと学ぶこと)。ラベルを使用してループを整理することもできるため、ループを追跡して特定のループを再実行できます。

    参照ファイル名を指定して実行にゲームループテストテストラボでこのテストを実行する手順については、を。

テストを実行するためのツール

次のツールを選択して、テストを実行できます。

  • 初めてのユーザーに推奨:Firebaseコンソールを使用すると、アプリケーションをアップロードし、Webブラウザからテストを開始できます。参照してくださいFirebaseコンソールでのテストを、このツールを使用してテストを実行する手順について。

  • アンドロイドStudioの統合は、あなたの開発環境を離れることなく、あなたのアプリケーションをテストすることができます。参照のAndroid Studioでのテストを、このツールを使用してテストを実行する方法については。

  • gcloudコマンドラインインターフェースは、対話的にコマンドラインからテストを実行することができますし、また、同様にあなたの自動ビルドの一部およびテストプロセスなどのスクリプトに適しています。参照のgcloud CLIでのテストを、このツールを使用してテストを実行する方法については。

アルファチャネルまたはベータチャネルのいずれかを使用してアプリのAPKファイルをPlayストアにアップロードして公開するときに、TestLabでアプリを無料でテストすることもできます。詳細については、問題の識別に使用するプレ打ち上げ報告ロボテストを

ステップ2:あなたの試験装置を選択します。

Test Labは、Googleデータセンターにインストールおよび実行されているAndroidデバイスのいくつかのメーカーとモデルでのテストをサポートしています。 Test Labのデバイスでのテストは、AndroidStudioのエミュレーターを使用してアプリをテストするときに発生しない可能性のある問題を検出するのに役立ちます。より多くを学ぶために、参照可能なデバイスを。

ステップ3:レビュー、テスト結果

テストの開始方法に関係なく、すべてのテスト結果はTest Labによって管理され、オンラインで表示できます。

試験結果の要約を自動的に保存され、Firebaseコンソールで表示することができます。これには、テストケース固有のビデオ、スクリーンショット、合格、不合格、または不安定な結果が得られたテストの数など、テストに最も関連するデータが含まれています。

生のテスト結果は、テストログやアプリの失敗の詳細が含まれており、自動的にGoogleクラウドバケットに格納されます。バケットを指定する場合は、ストレージのコストを負担する必要があります。バケットを指定しない場合、TestLabは無料でバケットを作成します。

詳細については、参照Firebaseテストラボの結果を分析します。

あなたがからテストを開始するとAndroidのメーカー、また、あなたの開発環境内からテスト結果を確認することができます。

デバイスのクリーンアップ

Googleは、アプリデータのセキュリティを非常に重要視しています。業界標準のベストプラクティスに従って、テストを実行するたびにアプリデータを削除し、物理デバイスのシステム設定をリセットして、新しいテストを実行する準備ができていることを確認します。カスタムリカバリイメージでフラッシュできるデバイスの場合、テスト実行の間にこれらのデバイスをフラッシュすることで、さらに一歩進んでいます。

Test Labで使用される仮想デバイスの場合、デバイスインスタンスは使用後に削除されるため、各テスト実行で新しい仮想デバイスインスタンスが使用されます。


テストラボとGooglePlayサービス

Test Labデバイスは通常、最新バージョンのGoogle PlayサービスSDKで実行されますが、新しいバージョンのSDKがリリースされてから更新するのに数日かかる場合があります。一部のデバイスでは互換性の問題が発生する可能性があることに注意してください。

テストデバイスがプライベートバックエンドサーバーにアクセスできるようにする

一部のモバイルアプリは、テスト中に正しく機能するためにプライベートバックエンドサービスと通信する必要があります。バックエンドサーバがファイアウォールルールで保護されている場合は、使用してテストラボの物理および仮想デバイスへのアクセスを許可することができ、以下のIPアドレスブロックを、あなたのファイアウォールを介してオープンルートに。

モバイル広告

Test Labは、アプリのテストを自動化するスケーラブルなインフラストラクチャを提供します。残念ながら、この機能は、不正な広告収入を生み出すように設計された悪意のあるアプリによって悪用される可能性があります。

この問題を軽減するには:

  • サードパーティのデジタル広告プロバイダー(広告ネットワークやデマンドサイドプラットフォームなど)を使用または使用している場合は、アプリの開発とテスト中に実際の広告ではなくテスト広告を使用することをお勧めします。

  • あなたのテストで実際の広告を使用する必要がある場合は、あなたが収入と使用してテストラボから生成され、対応するすべてのトラフィックをフィルタリングするために動作するデジタル広告プロバイダに通知の下のIPアドレスブロックを。 Googleが所有する広告プロバイダーに通知する必要はありません。 TestLabがあなたに代わってそれを処理します。

TestLabデバイスで使用されるIPアドレス

テストラボデバイスによって生成されたすべてのネットワークトラフィックは、以下に由来するIPアドレスブロック。あなたも使って、このリストにアクセスできることを注意gcloud beta firebase test ip-blocks listのgcloud CLIでコマンドを。リストは定期的に更新されます(平均して年に1回)。

プラットフォームとデバイスタイプCIDRIPアドレスブロック
AndroidおよびiOSの物理デバイス

108.177.6.0/23

70.32.147.112/28(2020年 3月に追加)

74.125.122.32/29(2020年 4月に追加)

108.177.29.80 / 28(2020年4月に追加)

216.239.44.24/29(2020年 4月に追加)

Android仮想デバイス

34.68.194.64/29(2019年 11月追加)

34.69.234.64/29(2019年 11月追加)

34.73.34.72 / 29(2019年11月追加)

34.73.178.72/29(2019年 11月追加)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0 / 28

35.234.176.160 / 28

35.243.2.0/27(2019年 7月追加)

199.192.115.0 / 30

199.192.115.8/30

199.192.115.16/29