由開發人員提供的 CTS

本頁面概述開發人員提供的 CTS (CTS-D) 使用規範。

測試涵蓋範圍

CTS-D,例如 CTS &CTS 驗證器只能強制執行下列項目:

  • 開發人員 SDK 中說明的所有公用 API 的特定 API 級別 (developer.android.com)。
  • Android 相容性的所有必要條件 特定 API 級別的定義文件 (CDD)。

非強制規定包括「強烈推薦」、「應」、「可能」等非必要條件 因此無法使用 CTS 進行測試

所有 API 和 CDD 要求都與特定 API 級別相關聯,因此所有 CTS 測試 (CTS、CTS-D 和 CTS Verifier) 與 相關的 API 或需求如果特定 API 已淘汰或有所變更 其對應的測試必須已淘汰或更新。

CTS 測試建立規則

  • 測試必須持續產生相同的目標結果。
  • 測試必須根據測試判斷裝置是否通過 推出。
  • 測試創作者必須移除所有可能影響測試結果的因素。
  • 如果裝置需要特定的硬體條件/環境/設定, 必須在修訂版本訊息中明確定義。舉例來說,設定操作說明 請參閱設定 CTS
  • 測試一次不得超過 6 小時。如果應用程式需要執行 請在您的測試提案中註明原因,以便我們進行審查。

以下範例是測試應用程式的一組測試條件 限制:

  • Wi-Fi 穩定 (使用連上 Wi-Fi 的測試)。
  • 裝置在測試期間會保持靜止不動 (視測試而定)。
  • 裝置已拔除電量 X% 的電源。
  • 除非應用程式、前景服務或背景服務處於執行中狀態,以下情況: CTS:
  • 執行 CTS 時螢幕關閉。
  • 裝置「不是」isLowRamDevice
  • 省電模式 / 應用程式限制未從 「開箱即用」狀態

測試資格條件

我們接受的新測試會強制執行不受現有 CTS 測試的行為。 CTS Verifier,又稱 CTS-D 測試。任何檢查範圍外行為的測試 我們的測試涵蓋範圍將遭到拒絕。

CTS 提交程序

  1. 撰寫測試提案:應用程式開發人員提交測試提案時採用的 Google Issue Tracker, 說明已經發現的問題,並建議進行檢查 。提案必須包含相關的 CDD 規定 ID。 Android 團隊會審核提案。
  2. 開發 CTS 測試:提案獲得核准後,提交者會建立 CTS 在主要 (AOSP/main) 分支版本上透過 Android 開放原始碼計畫進行測試。Android 團隊會審查程式碼。
  3. 發布測試:AOSP/main 上提交 CL,然後將 CL 選入 最新的 androidx-tests-dev 分支版本。測驗現已公開發布。

CTS-D 測試撰寫指南

  • 遵循 Java 程式碼樣式指南
  • 請按照 CTS 開發中所述的所有步驟操作。
  • 將測試新增至適當的測試計畫:
    • 使用 include-filters 將新測試新增至 CTS-D 測試計畫:platform/cts/tools/cts-tradefed/res/config/cts-developer.xml
    • 使用 exclude-filters 將新測試從主要 CTS 測試計畫中排除:platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml
  • 處理 build_error.log 中的所有 errorprone 警告和建議。
  • 將變更還原為「head」。這包括 cts-developer.xmlcts-developer-exclude.xml 個測試計畫。
  • 請與 Google 工程聯絡人合作,判斷是否要採用測試案例 可包含在現有的 CTS 模組中如果還是無法解決,他們會協助你 建立新模組
  • 針對每個新建立的測試模組,在新的測試模組中建立 OWNERS 檔案 目錄。
    • 您的 OWNERS 檔案應包含從 與您合作的 Google 測試擁有者:
    • # Bug component: xxx
    • Google 測試擁有者 LDAP
  • AndroidTest.xml 中指定下列參數。詳情請參閱 樣本檔案 (12)。 範例:
    • Instant_appnot_instant_app
    • secondary_usernot_secondary_user
    • all_foldable_statesno_foldable_states
  • 如要指定正確的 minSDK,請參閱 <uses-sdk>說明文件
  • 檢查新的測試方法、類別或模組時,請將這些內容新增至 CTS-D 然後將其從主要 CTS 測試計畫中排除 新的測試。

執行 CTS-D 測試

透過指令列執行 CTS-D 測試計畫 使用 run cts --plan cts-developer

如要執行特定測試案例,請使用 run cts --include-filter "test_module_name test_name"

如要瞭解如何執行完整的 CTS,請參閱「執行 CTS 測試」。

接受並撤銷

您提出測試申請後,內部團隊會進行審查,確保 測試是否符合 CDD 要求或記錄的 API 行為。如果測試 未確認有沒有有效的要求或行為 會將這個測試案例轉給 Google 工程師做進一步審查。Google 工程人員會與您聯絡,提供改善測試的寶貴意見 才能接受至 CTS

詳情請見 發布時間表和分支版本資訊