Catch up on everthing we announced at this year's Firebase Summit. Learn more

分析 Firebase 測試實驗室結果

有多種方式使用火力地堡測試實驗室對Android應用運行測試,包括命令行界面Android的工作室,在測試實驗室UI在火力地堡控制台和測試API 。無論您選擇開始測試,結果都會存儲在您指定的 Firebase 項目中。您可以探索使用效果ToolResults API除了上述任何工具。本頁介紹如何查看和分析這些測試結果。

關鍵概念

要看到你以前所有的測試運行的結果,在火力地堡控制台項目的左側導航面板中選擇測試實驗室。此頁面顯示您使用測試實驗室對項目進行測試的應用程序的所有測試運行。

要查看測試結果,首先需要了解三個概念:

當你運行一個測試或一組測試案例對設備和您所選擇的配置,測試實驗室對運行在一個批處理您的應用程序測試,然後顯示結果作為測試矩陣

設備 × 測試執行 = 測試矩陣

設備
您運行測試的物理或虛擬設備(僅限 Android),例如手機、平板電腦或可穿戴設備。測試矩陣中的設備由設備型號、操作系統版本、屏幕方向和區域設置(也稱為地理和語言設置)標識。
測試,測試執行
要在設備上運行的測試(或一組測試用例)。您可以為每個設備運行一個測試,也可以選擇將測試分片並在不同的設備上運行其測試用例。
測試矩陣
包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行失敗,則整個矩陣都會失敗。

以下部分說明如何瀏覽測試結果。

解釋測試歷史結果

當你選擇測試實驗室瀏覽到您的測試結果,你看你都跑這麼遠的測試結果。

測試歷史按應用分組。每個應用只顯示最近的五個測試矩陣;如果有更多的可用,您可以點擊所有矩陣鏈接的應用程序測試列表的底部看到該應用的完整列表。

解釋測試矩陣結果

當開始通過試驗測試實驗室UI ,會被重定向到一個頁面,在這裡你可以看到你的測試矩陣,然後點擊一個特定的測試執行查看測試結果。 Android的工作室,並在gcloud指令提供測試矩陣結果頁面的URL為好。

在典型的測試矩陣中,您可能會在十幾種不同的設備上運行測試。每個測試執行可以有不同的結果。測試矩陣中任何測試執行的可能結果包括:

  • 通過通過測試: 沒有遇到失敗。
  • 失敗的測試失敗: 至少遇到了一個失敗。
  • 無定論通過測試:測試結果不確定,可能是由於測試實驗室錯誤。
  • 跳過通過測試:矩陣中某些測試執行的選定維度值不兼容。當您選擇的設備與您選擇的一個或多個 Android API 級別不兼容時,就會發生這種情況。

要查看 Firebase 項目中給定應用的所有測試矩陣的匯總測試結果,請點擊應用名稱,如下例所示:

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

這會將您帶到您的應用程序的測試矩陣列表,您可以在其中單擊任何測試矩陣的名稱以查看測試矩陣結果,並且您可以在其中單擊應用程序的名稱(顯示在下面的紅色框中)查看與您的 Firebase 項目關聯的其他應用的測試矩陣列表。

示例測試矩陣列表頁面測試矩陣列表

測試矩陣可以通過、失敗或不確定。如果該矩陣中的任何測試執行失敗或不確定,則該測試矩陣將顯示為失敗或不確定。

解讀 Robo 測試結果

如果您使用 Robo 運行測試,除了通常的測試指標之外,您的結果還包括 Robo 抓取您的 UI 的視頻和屏幕截圖。這些視頻和屏幕截圖包括 Robo 在爬行期間採取的操作的視覺指示,類似於 Android 中的“顯示觸摸”功能。您可以使用這些指示來幫助您了解 Robo 的進度,並重現它可能發現的任何錯誤。

示例 Robo 測試結果視頻

機器人測試結果

解釋單個測試執行的結果

在測試矩陣結果頁面中,單擊其中一個測試執行以查看該特定測試執行的結果。

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

在此頁面上,您可以看到每次測試執行所需的時間。您還可以查看與您的測試 APK(用於儀器測試)中的方法相對應的特定測試用例的結果以及詳細的測試結果,包括測試日誌、屏幕截圖和視頻。對於機器人試驗,詳細的測試結果還包括活動圖,以圖形方式示出了由機器人測試訪問過的UI路徑。

分區儀器測試結果

為幫助您解釋儀器測試結果,測試實驗室將每個測試分成自己的詳細報告頁面,包括堆棧跟踪、日誌和視頻。無論您是否使用 Android Orchestrator,此功能都有效。

示例測試用例結果頁面測試用例結果

解釋可訪問性結果

Robo 測試使用 Android Accessibility Scanner 來檢測您的應用程序中的可訪問性問題(請注意,您也可以在設備上本地運行掃描)。有關如何審查和解釋你的機器人測試的結果可訪問指令,訪問開始使用輔助掃描儀

有關如何提高應用程序的可訪問性的一般信息,請訪問Android開發者輔助文檔

性能指標

在物理設備上運行的測試也會返回性能指標:

公制所需的設備配置
應用啟動時間API 19+
CPU使用率API 21+
內存使用情況
網絡活動
每秒幀數API 21+並且包括SurfaceView
圖形性能API 23+

圖形性能細節

圖形性能報告包含幾個關鍵圖形指標的統計信息:

  • 錯過了垂直同步:錯過了垂直同步事件,通過時間超過16毫秒的渲染幀數所得的值。
  • 高輸入延遲:即超過24毫秒需要較長的時間輸入事件,通過時間比16毫秒更長的時間來渲染的幀數所得的值。
  • 慢UI線程:的次數UI線程花了超過8毫秒內完成,通過時間超過16毫秒的渲染幀數分。
  • 慢繪製命令:的倍發送繪圖命令到GPU花了超過12毫秒,通過時間比16毫秒更長的時間來呈現的幀的數量除以數。
  • 慢位圖上傳:次,位圖時間超過3.2毫秒上傳到GPU通過時間比16毫秒更長的時間來渲染的幀數除以數量。
  • 渲染時間:分佈渲染時間測試運行的每個幀。渲染時間超過 32 毫秒會導致 UI 明顯變慢。 700+ 的渲染時間表示凍結幀。渲染數據從收集dumpsys graphicsstats

詳細測試結果

詳細的測試結果在您運行測試後的 90 天內可用,並存儲在 Google Cloud Storage 存儲分區中(但也可以在 Firebase 控制台中看到)。當您單擊測試執行結果頁面上查看源文件,您可以查看在雲端存儲詳細的測試結果。當詳細的測試結果不再可用時,您仍然可以看到哪些測試通過或失敗。

要保留超過90天詳細的測試結果,你需要發送這些測試結果到雲存儲桶,你自己使用--results桶gcloud指令行選項。然後,您可以設置年齡設定來決定結果多長時間都存儲在你的雲端存儲。見生命週期條件有關如何更改年齡設定信息。