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 レベルの 1 つ以上と互換性がない場合に発生します。

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

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

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

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

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

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 のサポートページをご覧ください。