使用 Firebase 測試實驗室在 Android 應用程式上執行測試的方法有多種,包括命令列介面、 Android Studio 、Firebase 控制台中的測試實驗室 UI以及測試 API 。無論您選擇如何開始測試,結果都會儲存在您指定的 Firebase 專案中。除了上述任何工具之外,您還可以使用ToolResults API探索結果。本頁說明如何檢視和分析這些測試結果。
關鍵概念
若要查看先前所有測試運行的結果,請在 Firebase 控制台中專案的左側導覽面板中選擇「測試實驗室」 。此頁面顯示您使用測試實驗室在專案中測試過的應用程式的所有測試運行。
要查看測試結果,您首先需要了解三個概念:
當您針對所選的設備和配置執行測試或一組測試案例時,測試實驗室會針對您的應用程式批次執行測試,然後將結果顯示為測試矩陣。
設備 × 測試執行 = 測試矩陣
- 裝置
- 您執行測試的實體或虛擬裝置(僅限 Android),例如手機、平板電腦或穿戴式裝置。測試矩陣中的裝置透過裝置型號、作業系統版本、螢幕方向和區域設定(也稱為地理位置和語言設定)進行識別。
- 測試、測試執行
- 要在設備上執行的測試(或一組測試案例)。您可以為每台裝置執行一個測試,也可以選擇對測試進行分片並在不同的裝置上執行其測試案例。
- 測試矩陣
- 包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行失敗,則整個矩陣都會失敗。
以下部分說明如何導航測試結果。
解釋測試歷史結果
當您透過選擇測試實驗室導航到測試結果時,您會看到迄今為止運行的測試的結果。
測試歷史記錄按應用程式分組。每個應用程式僅顯示最近的五個測試矩陣;如果有更多可用,您可以單擊應用程式測試列表底部的“所有矩陣”連結以查看該應用程式的完整列表。
解釋測試矩陣結果
透過測試實驗室 UI開始測試時,您將被重定向到一個頁面,您可以在其中查看測試矩陣並點擊特定的測試執行以查看測試結果。 Android Studio和gcloud 指令也提供測試矩陣結果頁面的 URL。
在典型的測試矩陣中,您可能會在十幾個不同的裝置上執行測試。每次測試執行都會有不同的結果。測試矩陣中任何測試執行的可能結果包括以下內容:
- 透過
: 沒有遇到任何故障。
- 失敗的
:至少遇到一處故障。
- 目前尚無定論
:測試結果不確定,可能是測試實驗室錯誤造成的。
- 跳過
:矩陣中某些測試執行的選定維度值不相容。當您選擇的裝置與您選擇的一個或多個 Android API 等級不相容時,就會發生這種情況。
若要查看 Firebase 專案中給定應用程式的所有測試矩陣的聚合測試結果,請按一下該應用程式的名稱,如以下範例所示:
僅包含四次測試執行的範例測試矩陣結果頁面
這將帶您進入應用程式的測試矩陣列表,您可以在其中單擊任何測試矩陣的名稱以查看測試矩陣結果,並且您可以在其中單擊應用程式的名稱(如下面的紅色框中所示)來查看與您的 Firebase 專案關聯的其他應用程式的測試矩陣清單。
測試矩陣列表頁面範例
測試矩陣可以通過、失敗或不確定。如果矩陣中的任何測試執行失敗或不確定,則該測試矩陣將顯示為失敗或不確定。
解釋 Robo 測試結果
如果您使用 Robo 運行測試,除了通常的測試指標之外,您的結果還包括 Robo 爬行您的 UI 的影片和螢幕截圖。這些影片和螢幕截圖包括 Robo 在爬行過程中所採取的動作的視覺指示,類似於 Android 中的「顯示觸控」功能。您可以使用這些指示來幫助您追蹤 Robo 的進度,並重現它可能發現的任何錯誤。
Robo 測試結果影片範例
解釋單一測試執行的結果
在測試矩陣結果頁面中,按一下其中一項測試執行以查看該特定測試執行的結果。
測試執行結果頁面範例
在此頁面上,您可以看到每次測試執行所需的時間。您還可以查看與測試 APK(用於儀器測試)中的方法相對應的特定測試案例的結果以及詳細的測試結果,包括測試日誌、螢幕截圖和影片。對於Robo 測試,詳細的測試結果還包括一個活動圖,以圖形方式顯示 Robo 測試訪問的 UI 路徑。
分區儀器測試結果
為了幫助您解釋儀器測試結果,測試實驗室將每個測試分為自己的詳細報告頁面,其中包含堆疊追蹤、日誌和影片。無論您是否使用 Android Orchestrator,此功能都有效。
範例測試用例結果頁面
解釋可訪問性結果
Robo 測試使用 Android Accessibility Scanner 來偵測應用程式中的輔助功能問題(請注意,您也可以在裝置上本機執行掃描)。有關如何檢視和解釋 Robo 測試的輔助功能結果的說明,請造訪輔助使用掃描器入門。
有關如何提高應用程式的輔助功能的一般信息,請訪問Android 開發人員輔助功能文件。
性能指標
在實體設備上執行的測試也會返回效能指標:
公制 | 所需設備配置 |
---|---|
應用程式啟動時間 | API 19+ |
CPU使用率 | API 21+ |
記憶體使用情況 | |
網路活動 | |
每秒影格數 | API 21+ 並包含SurfaceView |
圖形效能 | API 23+ |
圖形效能細節
圖形效能報告包含幾個關鍵圖形指標的統計資料:
- 錯過的垂直同步:錯過的垂直同步事件數除以渲染時間超過 16 毫秒的幀數。
- 高輸入延遲:花費超過 24 毫秒的輸入事件數除以渲染花費超過 16 毫秒的幀數。
- 緩慢的 UI 執行緒: UI 執行緒完成時間超過 8 毫秒的次數除以渲染時間超過 16 毫秒的幀數。
- 緩慢繪製指令:向 GPU 發送繪製指令花費時間超過 12 毫秒的次數除以渲染花費時間超過 16 毫秒的影格數。
- 點陣圖上傳速度慢:點陣圖上傳到 GPU 的時間超過 3.2 毫秒的次數除以渲染時間超過 16 毫秒的幀數。
- 渲染時間:測試運行的每一幀的渲染時間分佈。渲染時間超過 32 毫秒會導致 UI 明顯變慢。渲染時間超過 700 表示幀凍結。渲染資料是從
dumpsys graphicsstats
收集的。
詳細測試結果
詳細的測試結果在執行測試後 90 天內可用,並儲存在 Google Cloud Storage 儲存桶中(但也可以在 Firebase 控制台中看到)。在測試執行結果頁面點選測試結果,您可以在 Cloud Storage 儲存桶中查看詳細的測試結果。當詳細的測試結果不再可用時,您仍然可以查看哪些測試通過或失敗。
要保留詳細的測試結果超過 90 天,您需要使用--results-bucket gcloud 命令列選項將這些測試結果傳送到您擁有的 Cloud Storage 儲存分割區。然後,您可以設定「期限」設定來確定結果在 Cloud Storage 儲存分區中的儲存時間。有關如何變更年齡設定的信息,請參閱生命週期條件。