Test gereksinimleri

GTS testleri ( GtsSafetyCenterTestCases )

GTS testleri, yapılandırma dosyasına kısıtlamalar getirir. Bkz. Yapılandırma dosyasını güncelleme . Cihaz Güvenlik Merkezi'ni desteklemiyorsa cihaz bu testlerden muaf tutulur.

Kısıtlamalar aşağıdaki gibidir:

  • Değiştirilmemiş veya varsayılan durumda kalması gereken en az yedi Güvenlik Merkezi kaynak grubu bulunmalıdır. Kaynak başlıkları, ilk görüntüleme durumu ve özet gibi bazı spesifik alanlar bazen yerleştirilebilir dizelerle desteklenir ve değiştirilebilir.
  • GoogleAppSecuritySources için:

    • GooglePlayProtect güvenlik kaynağını kaldırmayın veya değiştirmeyin.
    • GoogleAppProtectionService güvenlik kaynağını kaldırabilir veya değiştirebilirsiniz. Eğer mevcutsa:
      • Günlüğe kaydetmeyi desteklemelidir.
      • Paket adı değişmediyse Android 13'te initialDisplayState="hidden" olmalıdır; Android 14'te bunun yerine issue-only-safety-source olması ve deduplicationGroup değişmeden kalması gerekir.
      • Paket adı değiştirilirse "android.app.role.SYSTEM_APP_PROTECTION_SERVICE" rolünü taşımalıdır; ek olarak Android 14'te bir deduplicationGroup sahip olmamalıdır.
  • AndroidLockScreenSources için:

    • Grubun summary örneği gereklidir ve bunu bir dize katmanı da dahil olmak üzere değiştirebilirsiniz.
    • En az bir güvenlik kaynağı bulunmalıdır.
    • İlk güvenlik kaynağının, kilit ekranı ayarlarını kontrol eden kaynak olması amaçlanmaktadır ve SEVERITY_LEVEL_RECOMMENDATION ( maxSeverityLevel="300" veya sarı giriş veya uyarı kartlarına kadar) daha ciddi sorunları veya girişleri iletememelidir. Android 14'te deduplicationGroup değişmeden kalmalıdır.
    • Diğer güvenlik kaynaklarının biyometrik kilit açma mekanizmalarıyla ilgili kaynaklar olması amaçlanmaktadır ve maxSeverityLevel="0" sahip olmalıdırlar.
  • Android 13'te GoogleAccountSources , GoogleDeviceFinderSources veya AndroidAdvancedSources değiştirmeyin. Android 14'te, bu gruplarda tanıtılan yeni kaynaklardan bazılarını kaldırabilirsiniz (örn. yedekleme ve geri yükleme), ayrıca AndroidAdvancedSources grubuna yeni statik kaynaklar da ekleyebilirsiniz.

  • GoogleUpdateSources için:

    • GoogleSecurityUpdates için intentAction değiştirebilir ve bir dize yer paylaşımıyla değiştirebilirsiniz.
    • GooglePlaySystemUpdate değiştirmeyin.
  • AndroidPrivacySources için:

    • issue-only oldukları sürece bazı kaynakları ekleyebilir, kaldırabilir veya değiştirebilirsiniz.
    • packageName="com.google.android.permissioncontroller" saklamaları gerekir.
    • AndroidPrivacySources kaynaklarının geri kalanını değiştirmeyin.
  • Güvenlik kaynağı gruplarının geri kalanı için (varsa):

    • Gruplarda, SAFETY_SOURCES_GROUP_TYPE_RIGID grubu (Android 14'te SAFETY_SOURCES_GROUP_TYPE_STATELESS ) ile sonuçlanan summary veya statelessIconType bulunmamalıdır.
    • Her gruptaki her kaynak ya statik olmalı ya da maxSeverityLevel="0" sahip olmalı, örneğin gri veya yeşil girişler göndermesine izin verilmeli ancak sorun olmamalıdır.

CTS testleri ( CtsSafetyCenterTestCases )

Android 13'ten itibaren CTS testleri PermissionController destekleyen tüm OEM'ler için geçerlidir.

Yapılandırma dosyası testleri ( XmlConfigTest )

Bu testler şunları sağlar:

  • Ayrıştırılan XML yapılandırma dosyası, Güvenlik Merkezi tarafından ayrıştırılan ve kullanıma sunulan yapılandırmayla eşleşiyor ve bu ayrıştırma başarılı.
  • XML dosyasında android.settings.PRIVACY_ADVANCED_SETTINGS niyet eylemi mevcutsa bu eylemin çözümlenmesi gerekir.
  • XML dosyasında android.settings.PRIVACY_CONTROLS niyet eylemi mevcutsa bu eylemin çözümlenmesi gerekir.

Kullanıcı arayüzü testleri ( SafetyCenterActivityTest )

Bu testler şunları sağlar:

  • android.intent.action.SAFETY_CENTER niyet eylemi, Güvenlik Merkezi etkinleştirildiğinde Güvenlik ve gizlilik ayarları ekranını ve Güvenlik Merkezi devre dışı bırakıldığında Ayarlar ekranını çözer ve açar.

API testleri ( SafetyCenterManagerTest )

SafetyCenterManagerTest API testlerinin amacı, Güvenlik Merkezi API'lerinin amaçlandığı gibi çalıştığından emin olmaktır.

Bu testler aşağıdakileri sağlar:

  • SafetyCenterManager.isSafetyCenterEnabled , ilgili DeviceConfig bayrağı tarafından kontrol edilir.
  • Devre dışı bırakıldığında Güvenlik Merkezi API'leri çalışmaz.
  • Güvenlik Merkezi API'leri yalnızca ilgili izinlere sahip olunduğunda kullanılabilir.
  • Veriler Güvenlik Merkezi'ne yalnızca temel yapılandırmaya uygun olarak sağlanabilir.
  • Veriler Güvenlik Merkezi'ne sağlandığında buna göre ortaya çıkar.
  • API'ler, Güvenlik Merkezi kaynak API'lerini kullanma bölümünde açıklanan özelliklerle (örneğin, yenileme veya yeniden tarama davranışı, verileri ayarlama veya temizleme ve raporlama hataları) eşleşir.
  • Kullanıcı arayüzüne sunulan dahili API'ler düzgün çalışıyor; örneğin, veriler Güvenlik Merkezi tarafından uygun şekilde birleştirildi ve veriler yenilenebiliyor.

Güvenlik Merkezi desteklenmeyen testi ( SafetyCenterUnsupportedTest )

Bu test, çerçeve XML yapılandırma dosyasında destek devre dışı bırakıldığında cihaz desteklemediğinde Güvenlik Merkezi'nin devre dışı bırakılmasını sağlar.

Cihaz Güvenlik Merkezi'ni destekliyorsa bu test çalışmaz. Cihaz Güvenlik Merkezi'ni desteklemiyorsa yalnızca bu test ve veri sınıfları testleri çalıştırılır.

Bu test aşağıdakileri sağlar:

  • android.intent.action.SAFETY_CENTER niyet eylemi Ayarlar ekranını açar.
  • SafetyCenterManager.isSafetyCenterEnabled false değerini döndürür.
  • Çoğu Güvenlik Merkezi API'si çağrıldığında yanıt vermez.

Veri sınıfları testleri ( SafetySourceDataTest , SafetySourceIssueTest , vb.)

SafetySourceDataTest ve SafetySourceIssueTest gibi veri sınıfı testleri, SafetySourceData , SafetySourceIssue ve diğer ilgili dahili sınıflar gibi Güvenlik Merkezi tarafından kullanıma sunulan veri sınıflarının amaçlandığı gibi çalışmasını sağlar.

MTS testleri ( SafetyCenterFunctionalTestCases ve diğerleri)

Bu testler ana hat güncellemelerinde gerçekleştirilir ve PermissionController destekleyen tüm OEM'lere uygulanır. Bu testlerin zorunlu kıldığı gereksinimler ana hat güncellemeleri arasında değişebilir.

API testleri ( SafetyCenterManagerTest )

Bu testler CTS testi SafetyCenterManagerTest benzer ancak ana hat güncellemeleri boyunca değişebilecek gereksinimleri test ederler, örneğin:

  • Kullanıcı arayüzüne sunulan dahili API'ler tarafından döndürülen verilerin gerçek içeriğini kontrol etme

Kullanıcı arayüzü testleri ( SafetyCenterActivityTest , SafetyCenterStatusCardTest , SafetyCenterQsActivityTest vb.)

Bu testler şunları sağlar:

  • Belirli parametrelerle Güvenlik Merkezi'ne yönlendirme, amaçlandığı gibi çalışır; örneğin, belirli bir soruna yönlendirme. Bkz . Güvenlik Merkezine Yönlendirme .
  • Kullanıcı arayüzü, temeldeki doğru güvenlik durumunu görüntüler.
  • Kullanıcı arayüzü ayrı ekranlarda gezinmeye izin verir.
  • Kullanıcı arayüzü, SafetySourceIssue tarafından belirtildiğinde güvenlik sorunlarının doğrudan Güvenlik Merkezi ekranından çözülmesine olanak tanır.
  • Kullanıcı arayüzü birden fazla uyarı kartını tek bir öğede daraltır ve bunun birden fazla uyarı kartına genişletilmesine olanak tanır.
  • İlgili Güvenlik Merkezi kaynakları için Güvenlik Merkezi sayfası açıldığında veriler yenilenir.
  • Yeniden tarama düğmesi yalnızca belirli koşullar altında görünür.
  • Yeniden tarama düğmesine dokunulduğunda yeni veriler getirilir.
  • Güvenlik Merkezi için de benzer testler yapılıyor. Uygulamanız için özel Hızlı Ayarlar kutucukları oluşturma konusuna bakın

  • Hata durumları ve bekleme durumları gibi ek uç durumlar.

Çoklu kullanıcı testleri ( SafetyCenterMultiUsersTest )

Bu testlerin amacı, birden fazla kullanıcı veya profil için veri sağlandığında API'nin uygun şekilde çalışmasını sağlamaktır. Birden fazla kullanıcı ve profil için veri sağlama konusuna bakın. Bu kurulum, Bedstead kullanılarak cihazda ayrı kullanıcıların ve profillerin kurulmasını kolaylaştıran dahili bir kütüphane kullanılarak gerçekleştirilir.

Bu test aşağıdakileri sağlar:

  • Bir kullanıcıya ait veriler, varsa ilişkili yönetilen profiliyle birleştirilir.
  • Yalnızca profile="all_profiles" ile işaretlenen kaynaklar, kullanıcının yönetilen profilinde veri sağlayabilir.
  • Bir kullanıcıyla ilişkilendirilen her yönetilen profil için yeni bir giriş oluşturulur.
  • Bir kullanıcıya ait veriler ilgisiz başka bir kullanıcıya sızmaz.