Persyaratan tes

Tes GTS ( GtsSafetyCenterTestCases )

Pengujian GTS memberikan batasan pada file konfigurasi. Lihat Memperbarui file konfigurasi . Perangkat dikecualikan dari pengujian ini jika perangkat tersebut tidak mendukung Pusat Keamanan.

Kendalanya adalah sebagai berikut:

  • Setidaknya harus ada tujuh grup sumber Pusat Keamanan, yang harus tetap dalam keadaan tidak dimodifikasi atau default. Beberapa bidang tertentu seperti judul sumber, status tampilan awal, dan ringkasan terkadang didukung oleh string yang dapat dihamparkan dan dapat dimodifikasi.
  • Untuk GoogleAppSecuritySources :

    • Jangan menghapus atau mengubah sumber keamanan GooglePlayProtect .
    • Anda dapat menghapus atau mengubah sumber keamanan GoogleAppProtectionService . Jika ada:
      • Itu harus mendukung logging.
      • Jika nama paket tidak berubah, paket tersebut harus memiliki initialDisplayState="hidden" di Android 13; di Android 14, ini harus menjadi issue-only-safety-source dan deduplicationGroup harus tetap tidak berubah.
      • Jika nama paket diubah, maka harus memegang peran "android.app.role.SYSTEM_APP_PROTECTION_SERVICE" ; selain itu di Android 14 tidak boleh ada deduplicationGroup .
  • Untuk AndroidLockScreenSources :

    • Contoh summary grup diperlukan dan Anda dapat memodifikasinya, termasuk dengan overlay string.
    • Setidaknya harus ada satu sumber keamanan.
    • Sumber keamanan pertama dimaksudkan sebagai sumber yang mengontrol pengaturan layar kunci dan tidak boleh menyebabkan masalah atau entri yang lebih parah daripada SEVERITY_LEVEL_RECOMMENDATION ( maxSeverityLevel="300" atau hingga entri kuning atau kartu peringatan). Di Android 14, deduplicationGroup harus tetap tidak berubah.
    • Sumber keamanan lainnya dimaksudkan sebagai sumber yang terkait dengan mekanisme buka kunci biometrik dan harus memiliki maxSeverityLevel="0" .
  • Di Android 13, jangan ubah GoogleAccountSources , GoogleDeviceFinderSources , atau AndroidAdvancedSources . Di Android 14, Anda dapat menghapus beberapa sumber baru yang diperkenalkan di grup ini (misalnya pencadangan & pemulihan), Anda juga dapat menambahkan sumber statis baru ke grup AndroidAdvancedSources .

  • Untuk GoogleUpdateSources :

    • Anda dapat mengubah intentAction untuk GoogleSecurityUpdates dan dapat memodifikasinya dengan hamparan string.
    • Jangan ubah GooglePlaySystemUpdate .
  • Untuk AndroidPrivacySources :

    • Anda dapat menambah, menghapus, atau mengubah beberapa sumber, selama sumber tersebut issue-only .
    • Mereka harus menyimpan packageName="com.google.android.permissioncontroller" .
    • Jangan ubah sumber AndroidPrivacySources lainnya.
  • Untuk kelompok sumber keselamatan lainnya (jika ada):

    • Grup tidak boleh memiliki summary atau statelessIconType , yang menghasilkan grup SAFETY_SOURCES_GROUP_TYPE_RIGID ( SAFETY_SOURCES_GROUP_TYPE_STATELESS di Android 14).
    • Setiap sumber dalam setiap grup harus statis atau memiliki maxSeverityLevel="0" , misalnya, diizinkan mengirim entri abu-abu atau hijau tetapi tidak ada masalah.

Tes CTS ( CtsSafetyCenterTestCases )

Mulai Android 13, pengujian CTS berlaku untuk semua OEM yang mendukung PermissionController .

Tes file konfigurasi ( XmlConfigTest )

Tes-tes ini memastikan:

  • File konfigurasi XML yang diurai cocok dengan konfigurasi yang diurai dan diekspos oleh Pusat Keamanan dan penguraian ini berhasil.
  • Jika tindakan maksud android.settings.PRIVACY_ADVANCED_SETTINGS ada dalam file XML, maka tindakan ini harus diselesaikan.
  • Jika tindakan maksud android.settings.PRIVACY_CONTROLS ada dalam file XML, maka tindakan ini harus diselesaikan.

Tes UI ( SafetyCenterActivityTest )

Tes-tes ini memastikan:

  • Tindakan maksud android.intent.action.SAFETY_CENTER menyelesaikan dan membuka layar setelan Keamanan & privasi saat Pusat Keamanan diaktifkan, dan layar Setelan saat Pusat Keamanan dinonaktifkan.

Tes API ( SafetyCenterManagerTest )

Tujuan pengujian API SafetyCenterManagerTest adalah untuk memastikan bahwa API Pusat Keamanan berfungsi sebagaimana mestinya.

Tes-tes ini memastikan hal-hal berikut:

  • SafetyCenterManager.isSafetyCenterEnabled dikontrol oleh tanda DeviceConfig terkait.
  • Jika dinonaktifkan, API Pusat Keamanan tidak akan beroperasi.
  • API Pusat Keamanan hanya dapat digunakan jika izin terkait dimiliki.
  • Data hanya dapat diberikan ke Pusat Keamanan sesuai dengan konfigurasi yang mendasarinya.
  • Ketika data diberikan ke Pusat Keamanan, data tersebut akan muncul sesuai dengan itu.
  • API tersebut cocok dengan spesifikasi yang dijelaskan dalam Menggunakan API sumber Pusat Keamanan , misalnya, menyegarkan atau memindai ulang perilaku, mengatur atau menghapus data, dan melaporkan kesalahan.
  • API internal yang diekspos ke UI berfungsi dengan baik, misalnya, data digabungkan dengan tepat oleh Pusat Keamanan dan data dapat di-refresh.

Tes Pusat Keamanan tidak didukung ( SafetyCenterUnsupportedTest )

Pengujian ini memastikan bahwa Pusat Keamanan dinonaktifkan ketika perangkat tidak mendukungnya ketika dukungan dinonaktifkan dalam file konfigurasi XML kerangka kerja.

Jika perangkat mendukung Pusat Keamanan, pengujian ini tidak akan berjalan. Jika perangkat tidak mendukung Pusat Keamanan, hanya pengujian ini dan pengujian kelas data yang dijalankan.

Tes ini memastikan hal berikut:

  • Tindakan maksud android.intent.action.SAFETY_CENTER membuka layar Pengaturan.
  • SafetyCenterManager.isSafetyCenterEnabled mengembalikan false .
  • Sebagian besar API Pusat Keamanan tidak merespons saat dipanggil.

Tes kelas data ( SafetySourceDataTest , SafetySourceIssueTest , dll)

Pengujian kelas data seperti SafetySourceDataTest dan SafetySourceIssueTest memastikan bahwa kelas data yang diekspos oleh Pusat Keamanan berfungsi sebagaimana mestinya, misalnya, SafetySourceData , SafetySourceIssue , dan kelas internal terkait lainnya.

Tes MTS ( SafetyCenterFunctionalTestCases dan lainnya)

Pengujian ini dijalankan di seluruh pembaruan jalur utama dan berlaku untuk semua OEM yang mendukung PermissionController . Persyaratan yang diberlakukan oleh pengujian ini dapat berubah di seluruh pembaruan jalur utama.

Tes API ( SafetyCenterManagerTest )

Pengujian ini mirip dengan pengujian CTS SafetyCenterManagerTest , namun pengujian ini menguji persyaratan yang dapat berubah di seluruh pembaruan jalur utama, misalnya:

  • Memeriksa konten sebenarnya dari data yang dikembalikan oleh API internal yang diekspos ke UI

Tes UI ( SafetyCenterActivityTest , SafetyCenterStatusCardTest , SafetyCenterQsActivityTest , dll)

Tes-tes ini memastikan:

  • Pengalihan ke Pusat Keamanan dengan parameter tertentu berfungsi sebagaimana mestinya, misalnya, pengalihan ke masalah tertentu. Lihat Pengalihan ke Pusat Keamanan .
  • UI menampilkan status keamanan mendasar yang benar.
  • UI memungkinkan navigasi ke layar terpisah.
  • UI memungkinkan penyelesaian masalah keamanan langsung dari layar Pusat Keamanan ketika ditentukan oleh SafetySourceIssue .
  • UI menciutkan beberapa kartu peringatan dalam satu item dan memungkinkan perluasannya kembali menjadi beberapa kartu peringatan.
  • Data disegarkan ketika halaman Pusat Keamanan dibuka untuk sumber Pusat Keamanan yang relevan.
  • Tombol pindai ulang hanya muncul dalam keadaan tertentu.
  • Mengetuk tombol pindai ulang akan mengambil data baru.
  • Tes serupa dilakukan untuk Pusat Keamanan. Lihat Membuat ubin Pengaturan Cepat khusus untuk aplikasi Anda

  • Kasus tepi tambahan seperti status kesalahan dan status tertunda.

Tes multi-pengguna ( SafetyCenterMultiUsersTest )

Tujuan dari pengujian ini adalah untuk memastikan bahwa API berfungsi dengan baik ketika data disediakan untuk beberapa pengguna atau profil. Lihat Menyediakan data untuk beberapa pengguna dan profil . Pengaturan ini dicapai dengan menggunakan perpustakaan internal yang memfasilitasi pengaturan pengguna dan profil terpisah pada perangkat menggunakan Bedstead.

Tes ini memastikan hal berikut:

  • Data milik pengguna digabungkan dengan profil terkelola terkait jika ada.
  • Hanya sumber yang ditandai dengan profile="all_profiles" yang dapat menyediakan data di profil terkelola pengguna.
  • Entri baru dibuat untuk setiap profil terkelola yang terkait dengan pengguna.
  • Data milik satu pengguna tidak bocor ke pengguna lain yang tidak terkait.