Firebase Test Lab for Android の結果を分析する

Firebase Test Lab for Android を使って Android アプリでテストを実行する場合は、コマンドライン インターフェースAndroid Studio、Firebase コンソールの Test Lab UI など、複数の方法を使用できます。どの方法でテストを開始しても、結果は指定した Firebase プロジェクトに保存されます。このページでは、テストの結果を確認し、分析する方法について説明します。

基本概念

これまでに実行したすべてのテストの結果を参照するには、Firebase コンソールでプロジェクトの左側にあるナビゲーション パネルから [Test Lab] を選択します。このページには、Test Lab を使用してプロジェクトでテストしたアプリのすべてのテスト結果が表示されます。

テスト結果を確認するには、まず次の 3 つの概念を理解する必要があります。

  • テスト ディメンション。 テスト ディメンションは関連する端末属性のセットです。Test Lab で使用されるディメンションは、モデル、Android API レベル、ロケール、画面の向きです。

  • テスト実行。テスト実行とは、テスト マトリックス用に選択したテスト ディメンションの有効な各組み合わせのことを指します。Test Lab では、一度に最大 200 の一意の組み合わせでアプリをテストできます。アプリのテストを行うとき、対象とする特定のモデルと Android API のレベルの組み合わせを選択できます。これは、バグ修正を確認する場合などに有用です。各テスト実行の結果は成功または失敗のいずれかになります。1 つのテスト実行が失敗すると、テスト マトリックス全体が失敗になります。

  • テスト マトリックス。 テスト マトリックスは、選択したテスト実行のセットです。テスト マトリックスに対してアプリテストを実行すると、テスト ディメンション属性を組み合わせて作成した有効なテスト実行ごとにテスト結果が得られます。

以下のセクションでは、テスト結果に移動する方法について説明します。

テスト結果の履歴の見方

[Test Lab] を選択してテスト結果に移動すると、それまでに実行したテストの結果が表示されます。

テスト結果の履歴はアプリごとに分類され、アプリごとに直近の 5 つのテスト マトリックスのみが表示されます。6 つ以上ある場合は、アプリテスト リストの下部にある [すべてのマトリックス] リンクをクリックすると、そのアプリの一覧を表示できます。

テスト マトリックスの結果の見方

Test Lab UI からテストを開始すると、リダイレクトされたページにテスト マトリックスが表示され、特定のテスト実行をクリックしてテスト結果を表示することができます。Android Studiogcloud コマンドにもテスト マトリックス結果ページの URL が表示されます。

一般的なテスト マトリックスでは、十数種の端末に対してテストを実行できます。テスト実行ごとに異なる結果が得られます。テスト マトリックス内のテスト実行の結果には、次のものがあります。

  • 成功 テスト成功: エラーは発生しませんでした。
  • 失敗 テスト失敗: 1 つ以上のエラーが発生しました。
  • 不確定 テスト成功: テスト結果が不確定です。Test Lab エラーの可能性があります。
  • スキップ テスト成功: マトリックス内の一部のテスト実行に対して選択したディメンション値に互換性がありません。選択した端末が、選択した Android API レベルの 1 つ以上と互換性がない場合に発生します。

Firebase プロジェクト内の特定のアプリに関するすべてのテスト マトリックスについて集計されたテスト結果を確認するには、次の例に示すようにアプリの名前をクリックします。

テスト実行が 4 回のみのテスト マトリックス結果ページの例 テスト マトリックスの結果

アプリのテスト マトリックス リストが表示され、テスト マトリックスの名前をクリックすると、テスト マトリックスの結果が表示されます。アプリの名前(下の赤いボックス)をクリックすると、Firebase プロジェクトに関連する他のアプリのテスト マトリックス リストが表示されます。

テスト マトリックス リストページの例 テスト マトリックスのリスト

テスト マトリックスの結果は、成功、失敗、不確定のいずれかです。テスト マトリックス内のテスト実行が失敗した場合、または不確定の場合、そのテスト マトリックスは失敗または不確定と表示されます。

Robo テストの結果を解釈する

Robo でテストを実行した場合、結果には通常のテスト指標に加えて、UI をクロールした Robo の動画とスクリーンショットが表示されます。このような動画とスクリーンショットでは、Android の「Show touches」機能と同様に、Robo によってクロール中に行われた操作が視覚的に示されます。Robo による操作の進行を追跡し、判明したバグを再現するためにこの表示を役立てることができます。

Robo テストの結果動画の例

Robo テストの結果

1 回のテスト実行結果の解釈

テスト マトリックス結果ページでいずれかのテスト実行をクリックすると、そのテスト実行の結果が表示されます。

テスト実行結果ページの例 テスト実行の結果

このページでは、各テストの実行に要した時間を確認できます。また、テスト APK(インストゥルメンテーション テスト用)のメソッドに対応する特定のテストケースの結果に加え、テストログ、スクリーンショット、動画で構成された詳細なテスト結果も表示できます。Robo テストの場合は、詳細なテスト結果に、Robo テストで使用した UI パスをグラフィカルに表示するアクティビティ マップも含まれます。

パフォーマンス指標

API レベルが 21 以上の物理端末で実行されるテスト実行については、次のパフォーマンス指標を表示することもできます。

  • すべてのアプリについて表示可能: CPU 使用率、メモリ使用量、ネットワーク アクティビティ(送信と受信)
  • SurfaceView クラスを使用するゲームアプリについて表示可能: フレーム/秒(FPS)

テスト実行のパフォーマンス指標の例 テスト実行の結果

詳細なテスト結果

詳細なテスト結果は、テストを実行してから 90 日間使用でき、Google Cloud Storage(GCS)バケットに保存されます(ただし、Firebase コンソールにも表示されます)。GCS バケットの詳細なテスト結果を表示するには、テスト実行結果ページで [ソースファイルを表示] をクリックします。詳細なテスト結果を表示できなくなった後も、テストの成功または失敗を確認することはできます。

詳細なテスト結果を 90 日間より長く保持するには、--results-bucket gcloud コマンドライン オプションを使用して、ご自身で所有する GCS バケットにそのテスト結果を送信する必要があります。その後、保存期間の設定を行って、結果を GCS バケットに保存する期間を設定します。保存期間の設定を変更する方法については、ライフサイクルの条件をご覧ください。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。