Firebase コンソールから Firebase Test Lab を使ってみる

Firebase Test Lab は、Android アプリをテストするためのクラウドベースのインフラストラクチャを提供します。このドキュメントでは、Firebase コンソールを使用して Test Lab を開始する方法について説明します。

Firebase プロジェクトを作成する

アプリの Firebase プロジェクトがない場合は、Firebase コンソールで [新規プロジェクトを作成] をクリックし、プロジェクトを作成します。テストを実行するには、プロジェクトの所有権または編集権限が必要です。

Spark プランと Flame プランをご利用の場合、Test Lab で 1 日あたり限られた数のテストを実施できます。1 日の割り当て上限なしで Test Lab を使用するには、Firebase Blaze プランにアップグレードする必要があります。

テストを実行する

Firebase Test Lab では、次のタイプのテストを実行できます。

  • インストゥルメンテーション テスト: 指定したアクションでアプリの UI を駆動するために作成するテスト。インストゥルメンテーション テストでは、アプリの状態を明示的にアサートし、AndroidJUnitRunnerAPIs を使用してアプリの正常な機能を検証することもできます。Test Lab は EspressoUI Automator 2.0 のインストゥルメンテーション テスト フレームワークをサポートしています。
  • Robo テスト: アプリのインターフェースを分析してから、ユーザー アクティビティをシミュレートしてインターフェースを自動的に調査するテスト。
  • ゲームループ テスト: 「デモモード」を使用して、ゲームアプリでのプレーヤーの操作をシミュレートするテスト。

テストを実行するには、Firebase Test Lab for Android を使用してテストを実行するをご覧ください。

新機能: Orchestrator を使用したインストゥルメンテーション テスト

Android Test Orchestrator は、アプリのインストゥルメンテーション テストをそれぞれ個別に実行します。これにはいくつかの利点がありますが、欠点も 1 つあります。

利点

  • 共有データがない: 各テストは独自のインストゥルメンテーション インスタンスで実行されるため、テストをまたいで共有データが蓄積されることはありません。

  • クラッシュが分離される: テストがクラッシュしても、ダウンするのはそのインストゥルメンテーション インスタンスのみであるため、テストスイートに含まれる他のテストは続行されます。

欠点

  • 実行時間が長くなる: 各テストが独自のインストゥルメンテーション インスタンスを実行するため、テストプロセス全体の時間は多少長くなります。これは割り当て使用量や課金される時間に影響を与える可能性があります。また、デバイスのタイムアウト制限に達する場合もあります。

Test Lab では常に Orchestrator の最新バージョンが使用されます。Orchestrator を有効にするには、インストゥルメンテーション テストの設定の [詳細オプション] 画面で [Orchestrator を使用して実行] を選択します。

テスト結果を調査する

テストが開始されると、テスト結果ページに自動的にリダイレクトされます。選択した構成の数と、テストに対して設定されているテスト タイムアウト時間によっては、テストの実行に数分かかることがあります。テストが完了すると、テスト結果を確認できます。テスト結果の見方について詳しくは、Firebase Test Lab の結果の分析をご覧ください。