Firebase Test Lab の結果を分析する

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

基本概念

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

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

テスト ディメンション × テスト実行 = テスト マトリックス

  • テスト ディメンション: デバイスの機種、OS バージョン、ロケール、画面の向きなど、アプリをテストするデバイス属性。

  • テスト実行: テスト対象として選択したテスト ディメンションの組み合わせがそれぞれ異なる個々のテスト実行。

  • テスト マトリックス: 選択したテスト ディメンションに対してテストを実行した結果。マトリックス内のいずれかのテストが失敗した場合、Test Lab ではマトリックス全体に失敗のマークが表示されます。

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

テスト結果の履歴の見方

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

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

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

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

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

  • 成功 テスト成功: 正常に終了しました。
  • 失敗 テスト失敗: 1 つ以上のエラーが発生しました。
  • 不確定 テスト成功: テスト結果が不確定です。Test Lab エラーが原因である可能性があります。
  • スキップ テスト成功: マトリックス内の一部のテスト実行に対して選択されたディメンション値が適合していません。これは、選択したデバイスが、選択した Android API レベルに対応していない場合に発生します。

Firebase プロジェクト内の特定のアプリに対するすべてのテスト マトリックスのテスト結果をまとめた一覧を表示するには、次の例に示すようにアプリの名前をクリックします。

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

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

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

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

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

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

Robo テストの結果動画の例

Robo テストの結果

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

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

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

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

パフォーマンス指標

物理端末で実行されるテストについても、パフォーマンス指標が返されます。

指標必要な端末構成
アプリ起動時間API 19 以上
CPU 使用率API 21 以上
メモリ使用量
ネットワーク アクティビティ
フレーム / 秒API 21 以上、SurfaceView を含む
グラフィックに関する統計情報API 23 以上

詳細なテスト結果

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

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

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

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