解讀 CTS 結果

CTS 測試結果會放在以下檔案中:

CTS_ROOT/android-cts/results/start_time.zip

如果您自行建構 CTS,CTS_ROOT 會類似 out/host/linux-x86/cts,但會因平台而異。這會反映您從本網站下載的預先建構官方 CTS 時,未壓縮的路徑。

在 ZIP 檔案中,test_result.xml 檔案包含實際結果。

顯示 Android 10 以上版本的結果

ZIP 封存檔中有一個 test_result.html 檔案,您可以直接使用 任何與 HTML5 相容的網路瀏覽器開啟檔案

顯示 Android 10 以下版本的結果

在任何支援 HTML5 的網路瀏覽器中開啟 test_result.xml 檔案,即可查看測試結果

如果這個檔案在使用 Chrome 瀏覽器時顯示空白頁面,請變更瀏覽器設定,啟用 --allow-file-access-from-files 指令列標記。

讀取測試結果

測試結果的詳細資料會因您使用的 CTS 版本而異:

  • Android 6.0 以下版本適用的 CTS 1.0
  • Android 7.0 以上版本適用的 CTS v2

裝置資訊

在 CTS 1.0 以下版本中,選取「裝置資訊」(位於「測試摘要」上方的連結),即可查看裝置、韌體 (製造商、型號、韌體版本、平台) 和裝置硬體 (螢幕解析度、按鍵盤、螢幕類型) 的詳細資料。CTS v2 不會顯示裝置資訊。

測試摘要

「Test Summary」部分會提供執行的測試計畫詳細資料,例如 CTS 計畫名稱和執行的開始和結束時間。並提供通過、失敗、逾時或無法執行的測試數量的匯總摘要。

Android 10 CTS 範例測試摘要

Android 10 CTS 測試摘要

圖 1:Android 10 CTS 範例測試摘要

CTS v2 測試摘要

CTS v2 測試摘要

圖 2:CTS 第 2 版樣本測試摘要

CTS 第 1 版範例測試摘要

CTS v1 測試摘要

圖 3:CTS 第 1 版樣本測試摘要

測試報告

下一節是 CTS 測試報告,其中會列出每個套件通過的測試。

接著是實際執行的測試詳細資料。報表會列出測試套件、測試套件、測試案例和已執行的測試。這項指標會顯示測試執行結果,包括通過、失敗、逾時或未執行。在測試失敗的情況下,系統會提供詳細資料,協助您診斷原因。

此外,失敗的堆疊追蹤資訊會顯示在 XML 檔案中,但為了簡化報告,這些資訊不會列入報告中。您可以使用文字編輯器查看 XML 檔案,以取得測試失敗的詳細資料 (請搜尋與失敗測試相對應的 [Test] 標記,然後在其中尋找 [StackTrace] 標記)。

顯示 CTS 2.0 範例測試報告

CTS 第 2 版測試報告

圖 4:CTS v2 測試報告範例

顯示 CTS 第 1 版範例測試報告

CTS 第 1 版測試報告

圖 5:CTS 第 1 版範例測試報告

檢查 test_result.xml 是否有未完成的測試模組

如要判斷特定測試工作階段中未完成的模組數量,請執行「list results」指令。系統會針對先前的工作階段列出已完成的模組數量和模組總數。如要判斷哪些模組已完成,哪些模組未完成,請開啟 test_result.xml 檔案,然後讀取結果報表中每個模組的「done」屬性值。值為 done = "false" 的模組尚未執行完畢。

分類處理測試失敗

請參考下列建議,將測試失敗情形分類。

  • 如果測試因不正確的先決條件而失敗,請確認您的 CTS 環境是否正確設定。包括實體環境、桌上型電腦設定和 Android 裝置設定。
  • 如果測試出現過度不穩定的情況,請確認裝置穩定性、測試設定或環境問題。
  • 如果仍失敗,請重試該測試。
  • 檢查導致測試失敗的外部因素,例如:
    • 環境設定。舉例來說,如果電腦設定錯誤,可能會導致所有測試裝置 (包括參考裝置) 發生測試失敗。
    • 外部依附元件。舉例來說,如果從特定時間點開始,在多個網站的所有裝置上都無法進行測試,則可能發生無效網址錯誤。
    • 如果 DUT 未納入安全性修補程式,則安全性測試會失敗。
  • 驗證及分析通過和失敗裝置之間的差異。
  • 分析斷言、記錄、錯誤報告和 CTS 來源。對 HostTest 而言,斷言和記錄可能非常通用,因此一併檢查及附加裝置 Logcat 會很有幫助。
  • 提交測試改善修補程式,以減少測試失敗。

儲存部分結果

在測試叫用失敗時,Tradefed 不會儲存部分測試結果。

如果 Tradefed 未產生任何測試結果,表示測試執行期間發生重大問題,因此測試結果不可靠。對裝置問題進行調查時,這項結果並未提供任何價值,因此系統會將部分結果視為不實用。