測試規定

GTS 測試 (GtsSafetyCenterTestCases)

GTS 測試會對設定檔強制套用限制。請參閱「更新設定檔」。如果裝置不支援 Safety Center,則可免除這些測試。

限制如下:

  • 至少應有七個 Safety Center 來源群組,且應保持在未修改或預設狀態。部分特定欄位 (例如來源標題、初始顯示狀態和摘要) 有時會使用可疊加字串做為支援,因此可以修改。
  • 針對 GoogleAppSecuritySources

    • 請勿移除或修改 GooglePlayProtect 安全來源。
    • 你可以移除或變更「GoogleAppProtectionService」安全來源。 檔案存在:
      • 必須支援記錄功能。
      • 如果套件名稱未變更,則必須要有 Android 中的 initialDisplayState="hidden" 13;在 Android 14 中, 則必須是 issue-only-safety-source,且 deduplicationGroup 必須維持不變。
      • 如果套件名稱已變更,則必須保留 "android.app.role.SYSTEM_APP_PROTECTION_SERVICE" 角色;此外,在 Android 14 中,套件名稱不得有 deduplicationGroup
  • 針對 AndroidLockScreenSources

    • 您必須使用群組的 summary 例項,並可修改該例項,包括使用字串重疊。
    • 至少必須有一個安全來源。
    • 第一個安全來源旨在確保鎖定來源 螢幕設定,且以致於無法進一步推送問題或項目 嚴重超過 SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" 或 最多黃色的項目或警告資訊卡)。在 Android 14 中,deduplicationGroup 必須保持不變。
    • 其他安全來源主要是與生物特徵辨識相關的來源 解鎖機制,應包含 maxSeverityLevel="0"
  • 在 Android 13 中,請勿修改 GoogleAccountSourcesGoogleDeviceFinderSourcesAndroidAdvancedSources。在 Android 14 中,您可以移除這些群組中引入的新來源 (例如備份與還原),也可以將新的靜態來源附加至 AndroidAdvancedSources 群組。

  • 針對 GoogleUpdateSources

    • 您可以將 intentAction 變更為 GoogleSecurityUpdates,並使用字串疊加層修改。
    • 請勿修改 GooglePlaySystemUpdate
  • 針對 AndroidPrivacySources

    • 您可以新增、移除或修改某些來源, issue-only
    • 必須保留 packageName="com.google.android.permissioncontroller"
    • 請勿修改 AndroidPrivacySources 來源的其餘部分。
  • 對於其他安全性來源群組 (如有):

    • 群組不應包含 summarystatelessIconType,否則會產生 SAFETY_SOURCES_GROUP_TYPE_RIGID 群組 (在 Android 14 中為 SAFETY_SOURCES_GROUP_TYPE_STATELESS)。
    • 每個群組中的每個來源都應為靜態來源,或具有 maxSeverityLevel="0",例如允許傳送灰色或綠色項目,但沒有任何問題。

CTS 測試 (CtsSafetyCenterTestCases)

自 Android 13 起,CTS 測試適用於所有原始設備製造商 (OEM) 且該程式支援 PermissionController

設定檔測試 (XmlConfigTest)

這些測試可確保:

  • 剖析的 XML 設定檔與 Safety Center 剖析及公開的設定相符,且剖析成功。
  • 如果 XML 檔案中含有意圖動作 android.settings.PRIVACY_ADVANCED_SETTINGS,則必須解析此動作。
  • 如果意圖動作 android.settings.PRIVACY_CONTROLS 出現在 XML 檔案,就必須解析此動作。

UI 測試 (SafetyCenterActivityTest)

這些測試可確保:

  • android.intent.action.SAFETY_CENTER 意圖動作會在安全中心啟用時解析並開啟「安全性與隱私權」設定畫面,在安全中心停用時則會開啟「設定」畫面。

API 測試 (SafetyCenterManagerTest)

SafetyCenterManagerTest API 測試的目標,是確保 Safety Center API 能正常運作。

這些測試可確保以下事項:

  • SafetyCenterManager.isSafetyCenterEnabled 是由相關聯的 DeviceConfig 標記。
  • 停用後,Safety Center API 將不會執行任何操作。
  • 必須具備相關權限,才能使用安全中心 API 的保留時間。
  • 資料只能依循基本原則向安全中心提供 此外還會從 0 自動調整資源配置 您完全不必調整資源調度設定
  • 當資料提供給 Safety Center 時,系統會據此顯示相關資訊。
  • 這些 API 符合「使用 Safety Center 來源 API」一文所述的規格,例如重新整理或重新掃描行為、設定或清除資料,以及回報錯誤。
  • 公開給使用者介面的內部 API 運作正常,例如 Safety Center 會適當合併資料,且資料可進行重新整理。

不支援的安全中心測試 (SafetyCenterUnsupportedTest)

這項測試可確保在裝置不支援 Safety Center 且架構 XML 設定檔中已停用支援功能時,Safety Center 會停用。

如果裝置支援安全中心,系統就不會執行這項測試。如果裝置不支援安全中心,則只會執行這項測試和資料類別測試。

這項測試可確保以下事項:

  • android.intent.action.SAFETY_CENTER 意圖動作會開啟「Settings」 。
  • SafetyCenterManager.isSafetyCenterEnabled 會傳回 false
  • 呼叫時,大多數安全中心 API 都不會回應。

資料類別測試 (SafetySourceDataTestSafetySourceIssueTest 等)

資料類別測試 (例如 SafetySourceDataTestSafetySourceIssueTest) 可確保 Safety Center 公開的資料類別正常運作,例如 SafetySourceDataSafetySourceIssue 和其他相關的內部類別。

MTS 測試 (SafetyCenterFunctionalTestCases 和其他)

這些測試會涵蓋主要更新項目,並適用於所有支援 PermissionController。這些測試強制執行的規定,可能會隨著主系列更新而變更。

API 測試 (SafetyCenterManagerTest)

這些測試類似於 CTS 測試 SafetyCenterManagerTest,但 可能隨主要更新而改變的測試要求,例如:

  • 檢查內部 API 傳回的資料實際內容 已暴露於 UI 中的

UI 測試 (SafetyCenterActivityTestSafetyCenterStatusCardTestSafetyCenterQsActivityTest 等)

這些測試可確保:

  • 使用特定參數將內容重新導向至安全中心的功能運作正常,例如重新導向至特定問題。請參閱重新導向至安全網站 中心
  • UI 會顯示正確的基礎安全狀態。
  • 使用者介面可讓您前往不同的畫面。
  • SafetySourceIssue 指定時,使用者介面可直接從安全中心畫面解決安全性問題。
  • UI 會在一個項目中收合多個警示資訊卡,並允許展開 重複顯示這些資訊卡
  • 每當有相關項目的安全中心頁面開啟時,系統就會重新整理資料 安全中心來源
  • 只有在特定情況下,系統才會顯示重新掃描按鈕。
  • 輕觸「重新掃描」按鈕可擷取新資料。
  • 我們為安全中心也會進行類似的測試。請參閱「為應用程式建立自訂「快速設定」方塊

  • 其他極端情況,例如錯誤狀態和待處理狀態。

多位使用者測試 (SafetyCenterMultiUsersTest)

這些測試旨在確保 API 在收到資料時能正常運作 可與多位使用者或設定檔搭配使用。請參閱「為多位使用者和設定檔提供資料」。這個 設定方法是使用內部程式庫來設定 使用 Bedstead 區隔裝置上的使用者和個人資料。

這項測試可確保以下事項:

  • 使用者擁有的資料會與相關聯的受管理資料合併 或個人資料 (如果有的話)。
  • 只有標示為 profile="all_profiles" 的來源,才能在使用者的受管理設定檔中提供資料。
  • 系統會針對與使用者相關聯的每個受管理設定檔建立新的項目。
  • 單一使用者的資料不會洩露給其他不相關的使用者。