本頁面概略說明開發人員輔助 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 提交程序
- 撰寫測試提案:應用程式開發人員使用 Google Issue Tracker 提交測試提案,說明已識別的問題,並提出測試來檢查該問題。提案必須包含相關的 CDD 需求 ID。Android 團隊會審查提案。
- 開發 CTS 測試:提案獲得核准後,其提交者會在主要 (AOSP/main) 分支版本上透過 Android 開放原始碼計畫建立 CTS 測試。Android 團隊會審查程式碼。
- 發布測試:在
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.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 測試
使用 run cts --plan cts-developer
從指令列執行 CTS-D 測試計畫。
如要執行特定測試案例,請使用 run cts --include-filter "test_module_name test_name"
。
如要瞭解如何執行完整的 CTS,請參閱「執行 CTS 測試」。
接受和發布
提交測試要求後,內部團隊會審查該要求,確保測試的是 CDD 規定或已記錄的 API 行為。如果系統判定測試是檢查有效的規定或行為,團隊會將此測試案例轉交給 Google 工程師進一步審查。Google 工程師會與您聯絡,提供意見回饋,說明如何改善測試,以便接受 CTS 認證。
如要進一步瞭解 CTS 發布時程,請參閱發布時程和分支資訊。