Wymagania dotyczące testów

Testy GTS (GtsSafetyCenterTestCases)

Testy GTS narzucają ograniczenia na plik konfiguracji. Zobacz Zaktualizuj plik konfiguracji. Urządzenie jest zwolnione z tych testów, jeśli nie obsługuje Centrum bezpieczeństwa.

Ograniczenia te przedstawiają się następująco:

  • Powinna istnieć co najmniej 7 grup źródeł Centrum bezpieczeństwa, które powinny pozostać w stanie niezmodyfikowanym lub domyślnym. Niektóre pola, takie jak tytuły źródeł, początkowy stan wyświetlania i streszczenie, są czasami obsługiwane przez nakładane ciągi znaków i można je modyfikować.
  • Dotyczy: GoogleAppSecuritySources

    • Nie usuwaj ani nie modyfikuj źródła bezpieczeństwa GooglePlayProtect.
    • Możesz usunąć lub zmienić GoogleAppProtectionService źródło bezpieczeństwa. Jeśli jest dostępny:
      • Musi obsługiwać rejestrowanie.
      • Jeśli nazwa pakietu nie ulegnie zmianie, musi zawierać initialDisplayState="hidden" w Androidzie 13. W Androidzie 14 i 15 musi być to issue-only-safety-source, a deduplicationGroup musi pozostać bez zmian. W Androidzie 16 musi to być dynamic-safety-source, a initialDisplayState="hidden" musi pozostać bez zmian.deduplicationGroup
      • Jeśli nazwa pakietu zostanie zmieniona, musi mieć rolę "android.app.role.SYSTEM_APP_PROTECTION_SERVICE". Dodatkowo w Androidzie 14 nie może ona zawierać elementu deduplicationGroup.
  • Dotyczy: AndroidLockScreenSources

    • Wymagane jest wystąpienie summary grupy, które możesz modyfikować, w tym za pomocą nakładki ciągu znaków.
    • Musi być co najmniej 1 źródło bezpieczeństwa.
    • Pierwsze źródło bezpieczeństwa to źródło, które kontroluje ustawienia ekranu blokady. Nie powinno ono mieć możliwości przesyłania problemów ani wpisów o większym priorytecie niż SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" lub karty z żółtymi wpisami lub karty ostrzegawcze). W Androidzie 14 wartość deduplicationGroup musi pozostać niezmieniona.
    • Inne źródła zabezpieczeń to źródła związane z mechanizmami odblokowania biometrycznego, które powinny mieć wartość maxSeverityLevel="0".
  • W Androidzie 13 nie modyfikuj elementów GoogleAccountSources, GoogleDeviceFinderSources ani AndroidAdvancedSources. W Androidzie 14 możesz usunąć niektóre nowe źródła wprowadzone w tych grupach (np.kopia zapasowa i przywracanie). Możesz też dodać nowe źródła statyczne do grupy AndroidAdvancedSources.

  • Dotyczy: GoogleUpdateSources

    • Możesz zastąpić intentAction wartością GoogleSecurityUpdates i zmodyfikować ją za pomocą nakładki tekstu.
    • Nie zmieniaj wartości GooglePlaySystemUpdate.
  • Dotyczy: AndroidPrivacySources

    • Niektóre źródła możesz dodawać, usuwać i modyfikować, o ile są one dostępne w Twoim kraju.issue-only
    • Muszą zachować packageName="com.google.android.permissioncontroller".
    • Nie zmieniaj pozostałych AndroidPrivacySources źródeł.
  • W przypadku pozostałych grup źródeł zabezpieczeń (jeśli takie istnieją):

    • Grupy nie mogą zawierać summary ani statelessIconType, ponieważ spowoduje to utworzenie grupy SAFETY_SOURCES_GROUP_TYPE_RIGID (SAFETY_SOURCES_GROUP_TYPE_STATELESS w Androidzie 14).
    • Każde źródło w każdej grupie powinno być statyczne lub mieć maxSeverityLevel="0", na przykład zezwalać na przesyłanie wpisów w kolorze szarym lub zielonym, ale bez problemów.

Testy CTS (CtsSafetyCenterTestCases)

Od Androida 13 testy CTS są stosowane do wszystkich OEM-ów, które obsługują PermissionController.

Testy pliku konfiguracji (XmlConfigTest)

Te testy zapewniają:

  • Przeanalizowany plik konfiguracji XML musi być zgodny z konfiguracją przeanalizowaną i wyeksponowaną przez Safety Center, a przeanalizowanie musi się udać.
  • Jeśli w pliku XML występuje działanie oparte na intencjach android.settings.PRIVACY_ADVANCED_SETTINGS, musi ono zostać rozwiązane.
  • Jeśli w pliku XML występuje działanie oparte na intencjach android.settings.PRIVACY_CONTROLS, musi ono zostać rozwiązane.

Testy interfejsu użytkownika (SafetyCenterActivityTest)

Te testy zapewniają:

  • Akcja intencji android.intent.action.SAFETY_CENTER jest rozwiązywana i otwiera ekran ustawień Bezpieczeństwo i prywatność, gdy Centrum bezpieczeństwa jest włączone, oraz ekran Ustawienia, gdy Centrum bezpieczeństwa jest wyłączone.

Testy interfejsu API (SafetyCenterManagerTest)

Celem testów interfejsu API SafetyCenterManagerTest jest sprawdzenie, czy interfejsy API SafetyCenter działają zgodnie z oczekiwaniami.

Te testy zapewniają:

  • SafetyCenterManager.isSafetyCenterEnabled jest kontrolowany przez powiązany z nim parametr DeviceConfig.
  • Gdy są wyłączone, interfejsy API Centrum bezpieczeństwa nie działają.
  • Interfejsy API Centrum bezpieczeństwa są dostępne tylko wtedy, gdy powiązane z nimi uprawnienia są zablokowane.
  • Dane mogą być przekazywane do Centrum bezpieczeństwa tylko zgodnie z podstawową konfiguracją.
  • Gdy dane są przekazywane do Centrum bezpieczeństwa, są one odpowiednio wyświetlane.
  • Interfejsy API odpowiadają specyfikacji opisanej w artykule Korzystanie z interfejsów API źródłowych Centrum bezpieczeństwa, np. zachowanie odświeżania lub ponownego skanowania, ustawianie lub usuwanie danych oraz zgłaszanie błędów.
  • Interfejsy API wewnętrzne udostępnione w interfejsie użytkownika działają prawidłowo, np. dane są odpowiednio scalane przez Centrum bezpieczeństwa i można je odświeżać.

Test nieobsługiwany przez Centrum bezpieczeństwa (SafetyCenterUnsupportedTest)

Ten test zapewnia, że Centrum bezpieczeństwa jest wyłączone, gdy urządzenie go nie obsługuje, gdy obsługa jest wyłączona w pliku konfiguracji XML.

Jeśli urządzenie obsługuje Centrum bezpieczeństwa, ten test nie jest wykonywany. Jeśli urządzenie nie obsługuje Centrum bezpieczeństwa, tylko ten test i testy klas danych zostaną uruchomione.

Ten test zapewnia:

  • Działanie o intencji android.intent.action.SAFETY_CENTER powoduje otwarcie ekranu Ustawienia.
  • SafetyCenterManager.isSafetyCenterEnabled zwraca false.
  • Większość interfejsów API Centrum bezpieczeństwa nie odpowiada na wywołania.

Testy klas danych (SafetySourceDataTest, SafetySourceIssueTest itp.)

Testy klas danych, takie jak SafetySourceDataTestSafetySourceIssueTest, zapewniają, że klasy danych udostępniane przez Centrum bezpieczeństwa działają zgodnie z oczekiwaniami, np. SafetySourceData, SafetySourceIssue i inne powiązane wewnętrzne klasy.

Testy MTS (SafetyCenterFunctionalTestCases i inne)

Te testy są przeprowadzane w ramach aktualizacji głównych i dotyczą wszystkich OEM-ów, które obsługują PermissionController. Wymagania stosowane w ramach tych testów mogą się zmieniać w ramach aktualizacji głównych.

Testy interfejsu API (SafetyCenterManagerTest)

Te testy są podobne do testu CTS SafetyCenterManagerTest, ale sprawdzają wymagania, które mogą się zmieniać w ramach aktualizacji głównej, na przykład:

  • sprawdzanie rzeczywistej zawartości danych zwróconych przez wewnętrzne interfejsy API udostępnione w interfejsie użytkownika;

testy UI (SafetyCenterActivityTest, SafetyCenterStatusCardTest, SafetyCenterQsActivityTest itp.);

Te testy zapewniają:

  • Przekierowanie do Centrum bezpieczeństwa z określonymi parametrami działa zgodnie z oczekiwaniami, na przykład przekierowuje do konkretnego problemu. Zobacz Przekierowanie do Centrum bezpieczeństwa.
  • Interfejs wyświetla prawidłowy stan bezpieczeństwa.
  • Interfejs umożliwia przechodzenie do poszczególnych ekranów.
  • Interfejs umożliwia rozwiązywanie problemów z bezpieczeństwem bezpośrednio na ekranie Centrum bezpieczeństwa, jeśli jest to określone przez SafetySourceIssue.
  • Interfejs składa wiele kart z ostrzeżeniem w jeden element i umożliwia rozwinięcie tego elementu w wiele kart z ostrzeżeniem.
  • Dane są odświeżane, gdy otwierasz stronę Centrum bezpieczeństwa dla odpowiednich źródeł Centrum bezpieczeństwa.
  • Przycisk ponownego skanowania pojawia się tylko w określonych okolicznościach.
  • Kliknięcie przycisku ponownego skanowania powoduje pobranie nowych danych.
  • Podobne testy są przeprowadzane w przypadku Centrum Bezpieczeństwa. Zobacz Tworzenie niestandardowych kart Szybkie ustawienia w aplikacji.

  • Dodatkowe przypadki skrajne, takie jak stany błędu i stany oczekujące.

Testy z udziałem wielu użytkowników (SafetyCenterMultiUsersTest)

Celem tych testów jest sprawdzenie, czy interfejs API działa prawidłowo, gdy dane są dostarczane dla wielu użytkowników lub profili. Zobacz Przygotowanie danych wielu użytkowników i profili. Ta konfiguracja jest osiągana dzięki wewnętrznej bibliotece, która ułatwia konfigurowanie oddzielnych użytkowników i profili na urządzeniu za pomocą Bedstead.

Ten test zapewnia:

  • Dane należące do użytkownika są łączone z powiązanym profilem zarządzanym, jeśli taki istnieje.
  • Tylko źródła oznaczone symbolem profile="all_profiles" mogą przesyłać dane na zarządzanym profilu użytkownika.
  • Dla każdego profilu zarządzanego powiązanego z użytkownikiem tworzony jest nowy wpis.
  • Dane należące do jednego użytkownika nie są przekazywane innemu, niezwiązanemu użytkownikowi.