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 podsumowanie, są czasami obsługiwane przez nakładane ciągi tekstowe i można je modyfikować.
GoogleAppSecuritySources
:- Nie usuwaj ani nie modyfikuj źródła bezpieczeństwa
GooglePlayProtect
. - Możesz usunąć lub zmienić
GoogleAppProtectionService
źródło zabezpieczeń. Jeśli jest dostępny:- Musi obsługiwać rejestrowanie.
- Jeśli nazwa pakietu nie ulegnie zmianie, w Androidzie 13 musi zawierać
initialDisplayState="hidden"
. W Androidzie 14 musi to byćissue-only-safety-source
, a wartośćdeduplicationGroup
musi pozostać niezmieniona. - W przypadku zmiany nazwy pakietu musi on pełnić rolę
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
. Dodatkowo w Androidzie 14 pakiet nie może mieć rolideduplicationGroup
.
- Nie usuwaj ani nie modyfikuj źródła bezpieczeństwa
AndroidLockScreenSources
:- Instancja
summary
grupy jest wymagana. Możesz ją zmodyfikować, w tym z użyciem nakładki ciągu znaków. - Musi być co najmniej 1 źródło bezpieczeństwa.
- Pierwsze źródło zabezpieczeń ma być źródłem, które kontroluje ustawienia ekranu blokady i nie powinno być w stanie przekazywać problemów lub wpisów o większym znaczeniu niż
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
lub żółte karty z ostrzeżeniem). W Androidzie 14 wartośćdeduplicationGroup
musi pozostać niezmieniona. - Pozostałe źródła bezpieczeństwa powinny być źródłami informacji związanych z mechanizmami odblokowywania biometrycznego i powinny mieć parametr
maxSeverityLevel="0"
.
- Instancja
W Androidzie 13 nie modyfikuj elementów
GoogleAccountSources
,GoogleDeviceFinderSources
aniAndroidAdvancedSources
. W Androidzie 14 możesz usunąć niektóre nowe źródła, które zostały wprowadzone w tych grupach (np. tworzenie i przywracanie kopii zapasowych), a także dołączać nowe źródła statyczne do grupyAndroidAdvancedSources
.GoogleUpdateSources
:- Możesz zastąpić
intentAction
wartościąGoogleSecurityUpdates
i zmodyfikować ją za pomocą nakładki tekstu. - Nie zmieniaj wartości
GooglePlaySystemUpdate
.
- Możesz zastąpić
Do witryn
AndroidPrivacySources
:- Możesz dodawać, usuwać lub modyfikować niektóre źródła, o ile mają status
issue-only
. - Musi zachować
packageName="com.google.android.permissioncontroller"
. - Nie zmieniaj pozostałych źródeł
AndroidPrivacySources
.
- Możesz dodawać, usuwać lub modyfikować niektóre źródła, o ile mają status
W przypadku pozostałych grup źródeł zabezpieczeń (jeśli takie istnieją):
- Grupy nie mogą zawierać
summary
anistatelessIconType
, ponieważ spowoduje to utworzenie grupySAFETY_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ć atrybut
maxSeverityLevel="0"
, np. może wysyłać szare lub zielone znaki, ale nie może powodować problemów.
- Grupy nie mogą zawierać
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ą:
- Zanalizowany plik konfiguracji XML jest zgodny z konfiguracją przeanalizowaną i ujawnioną przez Centrum bezpieczeństwa, co oznacza, że analiza się powiodła.
- Jeśli w pliku XML występuje działanie oparte na intencjach
android.settings.PRIVACY_ADVANCED_SETTINGS
, musi ono zostać wykonane. - 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
)
Testy te zapewniają:
- Działanie intencji
android.intent.action.SAFETY_CENTER
rozwiązuje 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ą:
- Do kontroli
SafetyCenterManager.isSafetyCenterEnabled
steruje powiązana flagaDeviceConfig
. - 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ła Centrum bezpieczeństwa, np. zachowanie odświeżania lub ponownego skanowania, ustawianie lub usuwanie danych oraz zgłaszanie błędów.
- Wewnętrzne interfejsy API udostępnione interfejsowi 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 frameworku.
Jeśli urządzenie obsługuje Centrum bezpieczeństwa, ten test nie jest wykonywany. Jeśli urządzenie nie obsługuje Centrum bezpieczeństwa, uruchamiany jest tylko ten test oraz testy klas danych.
Ten test zapewnia:
- Działanie o intencji
android.intent.action.SAFETY_CENTER
otwiera ekran Ustawienia. SafetyCenterManager.isSafetyCenterEnabled
zwracafalse
.- Większość interfejsów API Centrum bezpieczeństwa nie odpowiada na wywołania.
testy klas danych (SafetySourceDataTest
, SafetySourceIssueTest
itp.);
Dzięki testom klas danych, np. SafetySourceDataTest
i SafetySourceIssueTest
, można sprawdzić, czy klasy danych udostępniane przez Centrum bezpieczeństwa działają zgodnie z oczekiwaniami, np. SafetySourceData
, SafetySourceIssue
i inne powiązane klasy wewnętrzne.
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 przez te testy 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 interfejsu użytkownika (SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
itp.);
Te testy zapewniają:
- Przekierowanie do Centrum bezpieczeństwa z określonymi parametrami działa zgodnie z oczekiwaniami, np. przekierowanie 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, gdy określisz je przez
SafetySourceIssue
. - Interfejs składa wiele kart z ostrzeżeniem w jeden element i umożliwia rozwinięcie tego elementu z powrotem na 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 kafelków Szybkich ustawień 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. Przeczytaj artykuł Przesyłanie danych dla 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ą udostępniane innemu, niezwiązanemu użytkownikowi.