開發人員支持的 CTS

本頁概述了開發人員支援的 CTS (CTS-D) 的使用指南。

測試覆蓋率

CTS-D 與 CTS 和 CTS Verifier 一樣,只能強制執行以下內容:

  • 開發者 SDK (developer.android.com) 中針對特定 API 層級所描述的所有公開 API。
  • Android 相容性定義文件 (CDD) 中包含的所有針對特定 API 等級的必須要求。

非必須要求(例如“強烈建議”、“應該”、“可以”)是可選的,無法使用 CTS 進行測試。

由於所有 API 和 CDD 要求都與特定的 API 等級相關聯,因此所有 CTS 測試(CTS、CTS-D 和 CTS Verifier)都與與其關聯的 API 或要求相同的 API 等級相關聯。如果特定 API 被棄用或更改,則必須棄用或更新其相應的測試。

CTS測試建立規則

  • 測試必須始終如一地產生相同的客觀結果。
  • 測試必須透過開箱即用的一次測試來確定設備是否通過。
  • 測試創建者必須消除所有可能影響測試結果的因素。
  • 如果設備需要特定的硬體條件/環境/設置,則必須在提交訊息中明確定義該設置。有關範例設定說明,請參閱設定 CTS
  • 測試每次運轉時間不得超過 6 小時。如果需要運行更長時間,請在您的測試提案中包含推理,以便我們對其進行審核。

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

  • Wifi 穩定性(針對依賴 Wifi 的測試)。
  • 設備在測試期間保持靜止(或不靜止,取決於測試)。
  • 設備已從電池電量為 X% 的任何電源上拔下。
  • 除 CTS 外,沒有任何應用程式、前台服務或後台服務正在運行。
  • 執行 CTS 時螢幕關閉。
  • 該設備不是isLowRamDevice
  • 省電模式/應用程式限制尚未從「開箱即用」狀態改變。

測試資格

我們接受新的測試,這些測試強制執行現有 CTS、CTS 驗證程序或 CTS-D 測試未測試的行為。任何檢查超出我們測試覆蓋範圍的行為的測試都將被拒絕。

CTS提交流程

  1. 編寫測試提案:應用程式開發人員使用Google Issue Tracker提交測試提案,描述已識別的問題並提出測試來檢查問題。該提案必須包含關聯的CDD 要求 ID 。 Android 團隊審核該提案。
  2. 開發 CTS 測試:提案獲得批准後,其提交者在主(AOSP/主)分支上的 AOSP 上建立 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中,指定下列參數。請參閱範例文件 ( 1 , 2 ) 作為範例:
    • 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 發布計劃的詳細信息,請參閱發布計劃和分支資訊