由開發人員提供的 CTS

本頁面概略說明開發人員輔助 CTS (CTS-D) 的使用指南。

測試涵蓋率

與 CTS 和 CTS 驗證工具一樣,CTS-D 只能強制執行下列項目:

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

非必要規定 (例如強烈建議、應、可) 為選用規定,無法使用 CTS 進行測試。

由於所有 API 和 CDD 規定都與特定 API 級別相關聯,因此所有 CTS 測試 (CTS、CTS-D 和 CTS Verifier) 都與相關聯的 API 或規定綁定至相同的 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 測試:提案獲得核准後,其提交者會在主要 (AOSP/main) 分支版本上透過 Android 開放原始碼計畫建立 CTS 測試。Android 團隊會審查程式碼。
  3. 發布測試:AOSP/main 上提交 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 測試

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

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

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

接受和發布

提交測試要求後,內部團隊會審查該要求,確保測試的是 CDD 規定或已記錄的 API 行為。如果系統判定測試是檢查有效的規定或行為,團隊會將此測試案例轉交給 Google 工程師進一步審查。Google 工程師會與您聯絡,提供意見回饋,說明如何改善測試,以便接受 CTS 認證。

如要進一步瞭解 CTS 發布時程,請參閱發布時程和分支資訊