Firebase Test Lab は、Android アプリをテストするためのクラウドベースのインフラストラクチャを提供します。このドキュメントでは、Firebase コンソールを使用して Test Lab を開始する方法について説明します。
Test Lab では、以下の種類のテストを実行できます。
- インストルメンテーション テスト: 指定したアクションでアプリの UI を駆動するために作成するテスト。インストルメンテーション テストでは、アプリの状態を明示的にアサートし、AndroidJUnitRunnerAPIs を使用してアプリの正常な機能を検証することもできます。Test Lab は、Espresso と UI Automator のインストルメンテーション テスト フレームワークをサポートしています。 
- Robo テスト: アプリのインターフェースを分析してから、ユーザー アクティビティをシミュレートしてインターフェースを自動的に調査するテスト。 
- ゲームループ テスト: 「デモモード」を使用して、ゲームアプリでのプレーヤーの操作をシミュレートするテスト。 
始める前に
Firebase プロジェクトが 従量課金制の Blaze のお支払いプランに登録されている、つまり、プロジェクトが Cloud Billing アカウントにリンクされている必要があります。Firebase コンソールで Blaze のお支払いプランにアップグレードできます。Cloud Billing アカウントをリンクするには、プロジェクトのオーナーまたは編集者である必要があります。
ステップ 1. Firebase プロジェクトを作成する
プロジェクトをまだ作成していない場合は、Firebase コンソールに移動して、新しい Firebase プロジェクトを作成します。
ステップ 2. テストを実行する
インストルメンテーション テスト
- Firebase コンソールのナビゲーション バーで Test Lab をクリックし、[使ってみる] -> [インストルメンテーション テストの実行] をクリックします。 
- [参照] をクリックしてアプリの APK または AAB を選択し、APK または AAB をテストしてから [続行] をクリックします。 
- アプリでテストするデバイス、Android API レベル、画面の向き、言語と地域を選択してテスト マトリックスを定義します。テストの対象とするデバイスと Android API レベルの組み合わせのみを選択できます。 
- (省略可)[詳細設定を表示] をクリックして、各テストの最長実行時間を決定する [テストのタイムアウト] を変更します。 
- (省略可)Firebase コンソールでテスト マトリックスを見つけやすくするために、テスト マトリックスにラベルを追加するには、[テスト マトリックス ラベル(省略可)] フィールドにラベル名を追加します。 
- [N 件のテストを開始] をクリックします。N は、この画面で定義するテスト マトリックスで有効なテスト構成の数を表します。実行を保留中のテストには青い時計のアイコンが表示され、テストが完了すると緑のチェックマーク アイコンに変わります。 
- 各テストの実行が終了したら、[テスト実行] 列に表示されているデバイスをクリックしてテスト結果(テストケース、ログ、スクリーンショット、動画など)を確認します。 
Robo テスト
- Firebase コンソールのナビゲーション バーで Test Lab をクリックし、[使ってみる] -> [Robo テストの実行] をクリックします。 
- [参照] をクリックしてアプリの APK を選択し、[続行] をクリックします。 
- アプリでテストするデバイス、Android API レベル、画面の向き、言語と地域を選択してテスト マトリックスを定義します。 
- (省略可)[詳細設定を表示] をクリックして次の設定を変更します。 - テストのタイムアウト: 各テストの最長実行時間を決定します。
- テスト アカウント認証情報: テスト アカウントの認証情報を指定するために使用します。
 - その他のフィールド: アプリの他のテキスト フィールドのテキスト入力に使用します。
 
- (省略可)Firebase コンソールでテスト マトリックスを見つけやすくするために、テスト マトリックスにラベルを追加するには、[テスト マトリックス ラベル(省略可)] フィールドにラベル名を入力します。 
- [N 件のテストを開始] をクリックします。N は、この画面で定義するテスト マトリックスで有効なテスト構成の数を表します。実行を保留中のテストには青い時計のアイコンが表示され、テストが完了すると緑のチェックマーク アイコンに変わります。 
- 各テストの実行が終了したら、[テスト実行] 列に表示されているデバイスをクリックしてテスト結果(テストケース、ログ、スクリーンショット、動画など)を確認します。 
Robo テストのガイドとなるスクリプトを作成する場合は、Android Studio で Test Lab を使用して Robo スクリプトを記録するをご覧ください。
ゲームループ テスト
- Firebase コンソールの [Test Lab] ページで、[最初のテストの実行] > [Android ゲームループ テストの実行] をクリックします。 
- [アプリのアップロード] セクションで [参照] をクリックし、アプリの APK ファイルを選択します(アプリの APK ファイルをまだ生成していない場合は生成してください)。 
- (省略可)Firebase コンソールでテスト マトリックスを見つけやすくするために、テスト マトリックスにラベルを追加するには、[テスト マトリックス ラベル(省略可)] フィールドにラベル名を入力します。 
- (省略可)一度に複数のループ(シナリオ)を実行する場合や、特定のループを選択して実行する場合は、[Scenarios] フィールドにループ番号を入力します。 - たとえば、「1-3, 5」と入力すると、Test Lab はループ 1、2、3、5 を実行します。デフォルト([Scenarios] フィールドに何も入力しない場合)では、Test Lab はループ 1 のみを実行します。 
- [デバイス] セクションで、アプリをテストする物理デバイスを 1 つ以上選択し、[テストを開始] をクリックします。 
ステップ 3. テスト結果を調査する
テストが開始されると、テスト結果ページに自動的にリダイレクトされます。選択した構成の数と、テストに対して設定されているテスト タイムアウト時間によっては、テストの実行に数分かかることがあります。テストが完了すると、テスト結果を確認できます。テスト結果の見方については、Firebase Test Lab の結果の分析をご覧ください。