本頁面概述開發人員提供的 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 提交程序
- 撰寫測試提案:應用程式開發人員提交測試提案時採用的 Google Issue Tracker, 說明已經發現的問題,並建議進行檢查 。提案必須包含相關的 CDD 規定 ID。 Android 團隊會審核提案。
- 開發 CTS 測試:提案獲得核准後,提交者會建立 CTS 在主要 (AOSP/main) 分支版本上透過 Android 開放原始碼計畫進行測試。Android 團隊會審查程式碼。
- 發布測試:在
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.xml
和cts-developer-exclude.xml
個測試計畫。 - 請與 Google 工程聯絡人合作,判斷是否要採用測試案例 可包含在現有的 CTS 模組中如果還是無法解決,他們會協助你 建立新模組
- 針對每個新建立的測試模組,在新的測試模組中建立 OWNERS 檔案
目錄。
- 您的 OWNERS 檔案應包含從 與您合作的 Google 測試擁有者:
# Bug component: xxx
- Google 測試擁有者 LDAP
- 在
AndroidTest.xml
中指定下列參數。詳情請參閱 樣本檔案 (1、 2)。 範例:Instant_app
或not_instant_app
secondary_user
或not_secondary_user
all_foldable_states
或no_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
詳情請見 發布時間表和分支版本資訊 。