Persyaratan pengujian

Pengujian GTS (GtsSafetyCenterTestCases)

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

Batasannya adalah sebagai berikut:

  • Harus ada setidaknya tujuh grup sumber Pusat Keamanan yang harus tetap dalam status tidak diubah atau default. Beberapa kolom tertentu seperti judul sumber, status tampilan awal, dan ringkasan terkadang didukung oleh string yang dapat ditempatkan dan dapat diubah.
  • Untuk GoogleAppSecuritySources:

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

    • Instance summary grup diperlukan dan Anda dapat mengubahnya, termasuk dengan overlay string.
    • Harus ada minimal satu sumber keselamatan.
    • Sumber keamanan pertama dimaksudkan sebagai sumber yang mengontrol setelan layar kunci dan tidak boleh dapat mendorong 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 dalam 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 mengubahnya dengan overlay string.
    • Jangan ubah GooglePlaySystemUpdate.
  • Untuk AndroidPrivacySources:

    • Anda dapat menambahkan, menghapus, atau mengubah beberapa sumber, selama sumber tersebut issue-only.
    • Mereka harus mempertahankan packageName="com.google.android.permissioncontroller".
    • Jangan ubah sisa sumber AndroidPrivacySources.
  • Untuk grup sumber keamanan 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 bersifat statis atau memiliki maxSeverityLevel="0", misalnya, diizinkan untuk mengirim entri abu-abu atau hijau, tetapi tidak ada masalah.

Pengujian CTS (CtsSafetyCenterTestCases)

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

Pengujian file konfigurasi (XmlConfigTest)

Pengujian ini memastikan:

  • File konfigurasi XML yang diuraikan cocok dengan konfigurasi yang diuraikan dan ditampilkan oleh Pusat Keamanan dan penguraian ini berhasil.
  • Jika tindakan intent android.settings.PRIVACY_ADVANCED_SETTINGS ada dalam file XML, tindakan ini harus diselesaikan.
  • Jika tindakan intent android.settings.PRIVACY_CONTROLS ada dalam file XML, tindakan ini harus diselesaikan.

Pengujian UI (SafetyCenterActivityTest)

Pengujian ini memastikan:

  • Tindakan intent android.intent.action.SAFETY_CENTER me-resolve dan membuka layar setelan Keamanan & privasi saat Pusat Keselamatan diaktifkan, dan layar Setelan saat Pusat Keselamatan dinonaktifkan.

Pengujian API (SafetyCenterManagerTest)

Tujuan pengujian SafetyCenterManagerTest API adalah untuk memastikan bahwa Safety Center API berfungsi sebagaimana mestinya.

Pengujian ini memastikan hal berikut:

  • SafetyCenterManager.isSafetyCenterEnabled dikontrol oleh flag DeviceConfig terkait.
  • Jika dinonaktifkan, Safety Center API tidak akan berfungsi.
  • API Pusat Keselamatan hanya dapat digunakan jika izin terkait dimiliki.
  • Data hanya dapat diberikan ke Pusat Keselamatan sesuai dengan konfigurasi yang mendasarinya.
  • Saat data diberikan ke Pusat Keamanan, data tersebut akan ditampilkan.
  • API ini cocok dengan spesifikasi yang dijelaskan dalam Menggunakan API sumber Safety Center, misalnya, perilaku muat ulang atau pemindaian ulang, menyetel atau menghapus data, dan melaporkan error.
  • API internal yang ditampilkan ke UI berfungsi dengan baik, misalnya, data digabungkan dengan benar oleh Safety Center dan data dapat dimuat ulang.

Pengujian yang tidak didukung Pusat Keselamatan (SafetyCenterUnsupportedTest)

Pengujian ini memastikan bahwa Pusat Keamanan dinonaktifkan saat perangkat tidak mendukungnya saat dukungan dinonaktifkan dalam file konfigurasi XML framework.

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

Pengujian ini memastikan hal berikut:

  • Tindakan intent android.intent.action.SAFETY_CENTER akan membuka layar Setelan.
  • SafetyCenterManager.isSafetyCenterEnabled menampilkan false.
  • Sebagian besar Safety Center API tidak merespons saat dipanggil.

Pengujian class data (SafetySourceDataTest, SafetySourceIssueTest, dll.)

Pengujian class data seperti SafetySourceDataTest dan SafetySourceIssueTest memastikan class data yang ditampilkan oleh Safety Center berfungsi sebagaimana mestinya, misalnya, SafetySourceData, SafetySourceIssue, dan class internal terkait lainnya.

Pengujian MTS (SafetyCenterFunctionalTestCases dan lainnya)

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

Pengujian API (SafetyCenterManagerTest)

Pengujian ini mirip dengan pengujian CTS SafetyCenterManagerTest, tetapi menguji persyaratan yang dapat berubah di seluruh update utama, misalnya:

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

Pengujian UI (SafetyCenterActivityTest, SafetyCenterStatusCardTest, SafetyCenterQsActivityTest, dll.)

Pengujian 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 yang mendasarinya dengan benar.
  • UI memungkinkan navigasi ke layar terpisah.
  • UI memungkinkan penyelesaian masalah keamanan langsung dari layar Pusat Keamanan saat ditentukan oleh SafetySourceIssue.
  • UI menciutkan beberapa kartu peringatan dalam satu item dan memungkinkan untuk memperluasnya kembali menjadi beberapa kartu peringatan.
  • Data akan diperbarui saat halaman Pusat Keamanan dibuka untuk sumber Pusat Keamanan yang relevan.
  • Tombol pindai ulang hanya muncul dalam situasi tertentu.
  • Mengetuk tombol pindai ulang akan mengambil data baru.
  • Pengujian serupa dilakukan untuk Pusat Keselamatan. Lihat Membuat kartu Setelan Cepat kustom untuk aplikasi Anda

  • Kasus ekstrem tambahan seperti status error dan status tertunda.

Pengujian multi-pengguna (SafetyCenterMultiUsersTest)

Tujuan pengujian ini adalah untuk memastikan bahwa API berfungsi dengan semestinya saat data disediakan untuk beberapa pengguna atau profil. Lihat Menyediakan data untuk beberapa pengguna dan profil. Penyiapan ini dilakukan dengan menggunakan library internal yang memfasilitasi penyiapan pengguna dan profil terpisah di perangkat menggunakan Bedstead.

Pengujian ini memastikan hal berikut:

  • Data milik pengguna digabungkan dengan profil terkelola terkait jika ada.
  • Hanya sumber yang ditandai dengan profile="all_profiles" yang dapat memberikan 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.