分析 Firebase Test Lab 結果

Firebase Test Lab 有多種方法,可讓您在 Android 應用程式上執行測試,包括指令列介面Android Studio、Firebase 控制台中的 Test Lab UI,以及 Testing API。但您選擇開始測試時,結果會儲存在您指定的 Firebase 專案中。除了上述任一工具之外,您可以使用 ToolResults API 探索結果。本頁面說明如何查看及分析這些測試結果。

基本概念

如要查看先前所有測試執行的結果,請前往 Firebase 主控台,在專案的左側導覽面板中選取「Test Lab」。這個頁面會顯示您已使用 Test Lab 在專案中測試的應用程式的所有測試執行作業。

如要查看測試結果,您必須先瞭解以下三個概念:

針對您選取的裝置和設定執行測試或一組測試案例時,Test Lab 會批次對應用程式執行測試,然後以「測試矩陣」顯示結果。

裝置 × 測試執行 = 測試矩陣

裝置
用來執行測試的實體或虛擬裝置 (僅限 Android),例如手機、平板電腦或穿戴式裝置。測試矩陣中的裝置會依裝置型號、OS 版本、螢幕方向和語言代碼 (也稱為地理位置和語言設定) 識別。
測試、測試執行
要在裝置上執行的測試 (或一組測試案例)。您可以對每部裝置執行一項測試,或選擇對測試進行資料分割,並在不同的裝置上執行測試案例。
測試矩陣
包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行失敗,整個矩陣就會失敗。

以下各節說明如何瀏覽測試結果。

解讀測試結果

選取「Test Lab」前往測試結果時,您會看到到目前為止的測試結果。

測試記錄會依應用程式分組。每個應用程式只會顯示最近五個測試矩陣。如果還有更多指標,您可以按一下應用程式測試清單底部的「All Matrices」連結,查看該應用程式的完整清單。

解讀測試矩陣結果

透過 Test Lab UI 啟動測試時,系統會將您重新導向至一個頁面,您可以在其中查看測試矩陣,然後按一下特定測試執行作業來查看測試結果。Android Studiogcloud 指令也會提供測試矩陣結果頁面的網址。

在一般測試矩陣中,您可能會在十二或多部不同的裝置上執行測試。每項測試執行作業可能都有不同的結果。在測試矩陣中,任何測試執行作業的可能結果如下:

  • 已通過 已通過測試:未發生任何錯誤。
  • 測試失敗 失敗:至少遇到一次失敗。
  • 無法判定的 已通過測試:測試結果不明確,這可能是因為 Test Lab 錯誤。
  • 已略過 已通過測試:矩陣中某些測試執行作業選取的維度值不相容。當所選裝置與所選一或多個 Android API 級別不相容時,就會發生這種情況。

如要查看 Firebase 專案中特定應用程式所有測試矩陣的匯總測試結果,請按一下應用程式名稱,如以下範例所示:

只有四個測試執行作業的測試矩陣結果頁面範例 測試矩陣結果

系統會將您導向應用程式的測試矩陣清單,您可以在其中點選任何測試矩陣的名稱,查看測試矩陣結果,並在其中按一下應用程式名稱 (如下方紅色方塊所示),即可查看與 Firebase 專案相關聯的其他應用程式的測試矩陣清單。

測試矩陣清單頁面範例 測試矩陣清單

測試矩陣可以通過、失敗或無法確定性。如果該矩陣中的任何測試執行作業失敗或無法確定,測試矩陣就會顯示為失敗或不確定性。

解讀 Robo 測試結果

使用 Robo 執行測試時,除了一般的測試指標以外,測試結果會包括 Robo 檢索 UI 的影片和螢幕截圖。這些影片和螢幕截圖包含視覺指標,呈現 Robo 在檢索期間採取的動作,類似 Android 中的「顯示接觸點」功能。您可以使用這些指示瞭解 Robo 的進度,並重現可能找到的任何錯誤。

Robo 測試結果範例影片

Robo 測試結果

解讀單一測試執行作業的結果

在測試矩陣結果頁面中,按一下其中一項測試執行作業,即可查看該特定測試執行作業的結果。

測試執行結果頁面範例 測試執行結果

本頁面會顯示每次測試執行作業所需的時間。您還可以查看與特定測試 APK 中方法對應的結果 (用於檢測設備測試) 和詳細測試結果,包括測試記錄、螢幕截圖和影片。如果是 Robo 測試,詳細的測試結果還包含活動地圖,以圖表方式顯示 Robo 測試造訪過的 UI 路徑。

分區檢測設備測試結果

為協助您解讀檢測設備測試結果,Test Lab 會將每項測試分成專屬的詳細報告頁面,並附上堆疊追蹤、記錄和影片。無論您是否使用 Android Orchestrator,都可以使用這項功能。

測試案例結果頁面範例 測試結果

解讀無障礙結果

Robo 測試會使用 Android 無障礙功能檢查工具偵測應用程式中的無障礙功能問題 (請注意,您也可以在裝置本機執行掃描作業)。想瞭解如何查看及解讀 Robo 測試的無障礙功能結果,請參閱「開始使用無障礙功能檢查工具」一文。

如需如何改善應用程式無障礙功能的一般資訊,請參閱 Android 開發人員無障礙功能說明文件

成效指標

在實體裝置上執行的測試也會傳回成效指標:

指標必要的裝置設定
應用程式啟動時間API 19 以上
CPU 使用率API 21 以上
記憶體用量
網路活動
每秒畫格數API 21 以上,並包含 SurfaceView
顯示卡效能API 23 以上

圖形效能詳細資料

圖像成效報表包含幾個重要圖像指標的統計資料:

  • 錯過的 Vsync:錯過的 Vsync 事件數,除以轉譯時間超過 16 毫秒的影格數。
  • 高輸入延遲時間: 超過 24 毫秒的輸入事件數,除以轉譯時間超過 16 毫秒的影格數量。
  • UI 執行緒速度緩慢:UI 執行緒完成時間超過 8 毫秒的次數,除以轉譯時間超過 16 毫秒的影格數。
  • 繪圖指令速度緩慢:向 GPU 傳送繪圖指令超過 12 毫秒的次數,除以轉譯時間超過 16 毫秒的影格數。
  • 點陣圖上傳速度緩慢:點陣圖上傳至 GPU 的時間超過 3.2 毫秒的次數,除以轉譯時間超過 16 毫秒的影格數。
  • 轉譯時間:每個測試執行作業影格的轉譯時間分佈情形。算繪時間超過 32 毫秒,會導致 UI 速度變慢。700+ 的顯示時間表示凍結影格。轉譯資料是從 dumpsys graphicsstats 收集。

詳細測試結果

執行測試後,系統會在 90 天內提供詳細的測試結果,並儲存在 Google Cloud Storage 值區中 (但也會顯示在 Firebase 控制台中)。按一下測試執行結果頁面中的「Test results」(測試結果),即可在 Cloud Storage 值區中查看詳細的測試結果。詳細測試結果不再提供時,您還是可以查看通過或失敗的測試。

如果希望測試結果保留時間超過 90 天,您必須使用 --results-bucket gcloud 指令列選項將這些測試結果傳送到您擁有的 Cloud Storage 值區。之後,您可以設定「Age」設定,決定結果會在 Cloud Storage 值區中儲存多久時間。如要瞭解如何變更「Age」設定,請參閱生命週期條件