Требования к испытаниям

Тесты GTS ( GtsSafetyCenterTestCases )

Тесты GTS накладывают ограничения на файл конфигурации. См. Обновление файла конфигурации . Устройство освобождается от этих тестов, если оно не поддерживает Центр безопасности.

Ограничения заключаются в следующем:

  • Должно быть не менее семи групп источников Центра безопасности, которые должны оставаться в неизмененном состоянии или состоянии по умолчанию. Некоторые конкретные поля, такие как названия источников, исходное состояние отображения и сводка, иногда поддерживаются накладываемыми строками и могут быть изменены.
  • Для GoogleAppSecuritySources :

    • Не удаляйте и не изменяйте источник безопасности GooglePlayProtect .
    • Вы можете удалить или изменить источник безопасности GoogleAppProtectionService . Если он присутствует:
      • Он должен поддерживать ведение журнала.
      • Если имя пакета не изменилось, в Android 13 оно должно иметь initialDisplayState="hidden" ; в 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 не изменяйте GoogleAccountSources , GoogleDeviceFinderSources или AndroidAdvancedSources . В Android 14 вы можете удалить некоторые новые источники, представленные в этих группах (например, резервное копирование и восстановление), а также добавить новые статические источники в группу AndroidAdvancedSources .

  • Для GoogleUpdateSources :

    • Вы можете изменить intentAction для GoogleSecurityUpdates и изменить его с помощью наложения строки.
    • Не изменяйте GooglePlaySystemUpdate .
  • Для AndroidPrivacySources :

    • Вы можете добавлять, удалять или изменять некоторые источники, если они предназначены issue-only .
    • Они должны сохранить packageName="com.google.android.permissioncontroller" .
    • Не изменяйте остальную часть источников AndroidPrivacySources .
  • Для остальных групп источников безопасности (если таковые имеются):

    • Группы не должны иметь summary или statelessIconType , что приводит к созданию группы SAFETY_SOURCES_GROUP_TYPE_RIGID ( SAFETY_SOURCES_GROUP_TYPE_STATELESS в Android 14).
    • Каждый источник в каждой группе должен быть либо статическим, либо иметь maxSeverityLevel="0" , например, ему разрешено отправлять серые или зеленые записи, но без проблем.

CTS-тесты ( CtsSafetyCenterTestCases )

Начиная с Android 13, тесты CTS применяются ко всем OEM-производителям, поддерживающим PermissionController .

Тесты файла конфигурации ( XmlConfigTest )

Эти тесты гарантируют:

  • Проанализированный XML-файл конфигурации соответствует конфигурации, проанализированной и предоставленной Центром безопасности, и что этот анализ прошел успешно.
  • Если в XML-файле присутствует намеренное действие android.settings.PRIVACY_ADVANCED_SETTINGS , то это действие должно быть разрешено.
  • Если в XML-файле присутствует намеренное действие android.settings.PRIVACY_CONTROLS , то это действие должно быть разрешено.

Тесты пользовательского интерфейса ( SafetyCenterActivityTest )

Эти тесты гарантируют:

  • Действие намерения android.intent.action.SAFETY_CENTER разрешается и открывает экран настроек безопасности и конфиденциальности , когда Центр безопасности включен, и экран настроек, когда Центр безопасности отключен.

Тесты API ( SafetyCenterManagerTest )

Цель тестов API SafetyCenterManagerTest — убедиться, что API-интерфейсы Центра безопасности работают должным образом.

Эти тесты гарантируют следующее:

  • SafetyCenterManager.isSafetyCenterEnabled управляется соответствующим флагом DeviceConfig .
  • Если этот параметр отключен, API-интерфейсы Центра безопасности не работают.
  • API-интерфейсы Центра безопасности можно использовать только при наличии соответствующих разрешений.
  • Данные могут быть предоставлены в Центр безопасности только в соответствии с базовой конфигурацией.
  • Когда данные передаются в Центр безопасности, они отображаются соответствующим образом.
  • API-интерфейсы соответствуют спецификациям, описанным в разделе Использование исходных API-интерфейсов Центра безопасности , например, поведение обновления или повторного сканирования, настройка или очистка данных, а также отчеты об ошибках.
  • Внутренние API-интерфейсы, доступные для пользовательского интерфейса, работают правильно, например, данные правильно объединяются Центром безопасности, и данные можно обновить.

Неподдерживаемый тест Центра безопасности ( SafetyCenterUnsupportedTest )

Этот тест гарантирует, что Центр безопасности отключен, если устройство его не поддерживает, когда поддержка отключена в XML-файле конфигурации платформы.

Если устройство поддерживает Центр безопасности, этот тест не запускается. Если устройство не поддерживает Центр безопасности, запускаются только этот тест и тесты классов данных.

Этот тест гарантирует следующее:

  • Действие намерения android.intent.action.SAFETY_CENTER открывает экран настроек.
  • SafetyCenterManager.isSafetyCenterEnabled возвращает false .
  • Большинство API-интерфейсов Центра безопасности не отвечают при вызове.

Тесты классов данных ( SafetySourceDataTest , SafetySourceIssueTest и т. д.)

Тесты классов данных, такие как SafetySourceDataTest и SafetySourceIssueTest гарантируют, что классы данных, предоставляемые Центром безопасности, работают должным образом, например SafetySourceData , SafetySourceIssue и другие связанные внутренние классы.

MTS-тесты ( SafetyCenterFunctionalTestCases и другие)

Эти тесты выполняются для основных обновлений и применяются ко всем OEM-производителям, поддерживающим PermissionController . Требования, предъявляемые этими тестами, могут меняться в зависимости от основных обновлений.

Тесты API ( SafetyCenterManagerTest )

Эти тесты аналогичны тесту CTS SafetyCenterManagerTest , однако они проверяют требования, которые могут меняться в зависимости от основных обновлений, например:

  • Проверка фактического содержимого данных, возвращаемых внутренними API, доступными к пользовательскому интерфейсу.

Тесты пользовательского интерфейса ( SafetyCenterActivityTest , SafetyCenterStatusCardTest , SafetyCenterQsActivityTest и т. д.)

Эти тесты гарантируют:

  • Перенаправление в Центр безопасности с определенными параметрами работает по назначению, например, перенаправление на конкретную проблему. См. Перенаправление в Центр безопасности .
  • Пользовательский интерфейс отображает правильное базовое состояние безопасности.
  • Пользовательский интерфейс позволяет переходить на отдельные экраны.
  • Пользовательский интерфейс позволяет решать проблемы безопасности непосредственно с экрана Центра безопасности, если это указано в SafetySourceIssue .
  • Пользовательский интерфейс сворачивает несколько карточек с предупреждениями в один элемент и позволяет развернуть его обратно на несколько карточек с предупреждениями.
  • Данные обновляются при открытии страницы Центра безопасности для соответствующих источников Центра безопасности.
  • Кнопка повторного сканирования появляется только при определенных обстоятельствах.
  • Нажатие кнопки повторного сканирования позволяет получить новые данные.
  • Аналогичные испытания проводятся и для Центра безопасности. См. раздел Создание пользовательских плиток быстрых настроек для вашего приложения.

  • Дополнительные пограничные случаи, такие как состояния ошибки и состояния ожидания.

Многопользовательские тесты ( SafetyCenterMultiUsersTest )

Цель этих тестов — убедиться, что API работает надлежащим образом, когда данные предоставляются нескольким пользователям или профилям. См. раздел Предоставление данных для нескольких пользователей и профилей . Эта настройка достигается за счет использования внутренней библиотеки, которая упрощает настройку отдельных пользователей и профилей на устройстве с помощью Bedstead.

Этот тест гарантирует следующее:

  • Данные, принадлежащие пользователю, объединяются со связанным с ним управляемым профилем, если он существует.
  • Только источники, помеченные profile="all_profiles" могут предоставлять данные в управляемый профиль пользователя.
  • Новая запись создается для каждого управляемого профиля, связанного с пользователем.
  • Данные, принадлежащие одному пользователю, не передаются другому несвязанному пользователю.