您可以透過多種方式使用 Firebase Test Lab 在 Android 應用程式上執行測試,包括指令列介面、Android Studio、Firebase 控制台中的 Test Lab UI,以及 Testing API。無論您選擇如何開始測試,結果都會儲存在您指定的 Firebase 專案中。除了上述任何工具外,您也可以使用 ToolResults API 探索結果。本頁說明如何查看及分析這些測試結果。
基本概念
在 Firebase 控制台中,您可以依序前往「DevOps & Engagement」>「 Test Lab」,查看先前所有測試執行的結果。這個頁面會顯示所有詳細結果,包括您使用 Test Lab 測試專案時,測試過的應用程式執行結果。
查看測試結果前,請先瞭解以下三個概念:
當您針對所選裝置和設定執行測試或一組測試案例時,Test Lab 會批次對應用程式執行測試,然後以測試矩陣的形式顯示結果。
裝置 × 測試執行 = 測試矩陣
- 裝置
- 執行測試的實體或虛擬裝置 (僅限 Android),例如手機、平板電腦或穿戴式裝置。測試矩陣中的裝置會依裝置型號、OS 版本、螢幕方向和語言代碼 (也稱為地理位置和語言設定) 識別。
- 測試、測試執行
- 在裝置上執行的測試 (或一組測試案例)。您可以在每部裝置上執行一項測試,也可以選擇將測試分區,並在不同裝置上執行測試案例。
- 測試矩陣
- 包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行失敗,整個矩陣都會失敗。
以下各節將說明如何瀏覽測試結果。
解讀測試記錄結果
選取 Test Lab 前往測試結果,即可查看目前執行的測試結果。
測試記錄會依應用程式分組。每個應用程式只會顯示最近五個測試矩陣;如果還有更多,可以點選應用程式測試清單底部的「All Matrices」(所有矩陣) 連結,查看該應用程式的完整清單。
解讀測試矩陣結果
透過 Test Lab UI 啟動測試時,系統會將您重新導向至可查看測試矩陣的頁面,您只要點選特定測試執行,即可查看測試結果。Android Studio 和 gcloud 指令也會提供測試矩陣結果頁面的網址。
在一般測試矩陣中,您可能會在十幾部不同的裝置上執行測試。每次測試執行的結果可能不同。測試矩陣中任何測試執行的可能結果包括:
- 通過
:未發生失敗。 - 失敗
:至少發生一項失敗。 - 無法確定
:測試結果無法確定,可能是因為 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 |
詳細測試結果
執行測試後,詳細測試結果會保留 90 天,並儲存在 Google Cloud Storage bucket 中 (但也可在 Firebase 控制台查看)。在測試執行結果頁面中,按一下「Test results」(測試結果),即可在 Cloud Storage bucket 中查看詳細測試結果。即使無法再查看詳細測試結果,您仍可查看哪些測試通過或失敗。
如要保留詳細測試結果超過 90 天,可以使用 --results-bucket gcloud 指令列選項,將這些測試結果傳送至您擁有的 Cloud Storage bucket。接著,您可以調整「Age」(存在時間) 設定,決定結果要儲存在 Cloud Storage bucket 中多久。如要瞭解如何變更「Age」(存在時間) 設定,請參閱「生命週期條件」。
執行測試時,如果收到 does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. 錯誤,表示執行測試的主體可能沒有專案的正確權限。根據預設,Firebase 會在 Google Cloud Storage 中為您建立 bucket,但執行測試的主體必須具備「roles/editor」這個權限寬鬆的角色。如果無法將該角色授予主體,可以使用 --results-bucket gcloud 指令列選項。