Pengujian Platform Android

Konten ini ditujukan untuk pengembang platform Android. Sebelum memahami bagaimana pengujian dilakukan pada platform Android, silakan merujuk ke arsitektur platform Android untuk gambaran umum.

Kemudian pelajari teknologi tepat yang tersedia untuk Anda di bagian ini, seperti Vendor Test Suite (VTS) dan berbagai video serta tutorial codelabnya .

Perhatikan juga mekanisme pengujian khusus keamanan yang tersedia untuk mendeteksi dan memperkuat perangkat Anda terhadap kerentanan.

Untuk pengujian aplikasi, mulailah dengan Dasar-dasar Pengujian dan lakukan Android Testing Codelab menggunakan sampel yang disediakan.

Terakhir, perhatikan bahwa pengujian prapengiriman dasar tersedia untuk Anda melalui Repo Hooks yang dapat menjalankan linter, memeriksa pemformatan, dan memicu pengujian unit sebelum melanjutkan, seperti mengunggah komit. Perhatikan bahwa kait ini dinonaktifkan secara default. Lihat pengantar Repo Hooks untuk lebih jelasnya.

Apa dan bagaimana cara mengujinya?

Pengujian platform biasanya berinteraksi dengan satu atau beberapa layanan sistem Android, atau lapisan Hardware Abstraction Layer (HAL), melatih fungsionalitas subjek yang diuji, dan menegaskan kebenaran hasil pengujian.

Dengan demikian, pengujian platform dapat:

  1. melatih API kerangka kerja melalui kerangka kerja aplikasi; API tertentu yang dijalankan dapat mencakup:
    • API publik yang ditujukan untuk aplikasi pihak ketiga
    • API tersembunyi yang ditujukan untuk aplikasi istimewa, yaitu API sistem
    • API pribadi (@sembunyikan, atau dilindungi, paket pribadi)
  2. memanggil layanan sistem Android melalui pengikat mentah/proksi IPC secara langsung
  3. berinteraksi langsung dengan HAL melalui API tingkat rendah atau antarmuka IPC

Tipe 1 dan 2 biasanya ditulis sebagai tes instrumentasi , sedangkan tipe 3 biasanya ditulis sebagai GTests .

Untuk mempelajari lebih lanjut, lihat contoh ujung ke ujung kami:

Pahami alat-alat ini, karena alat ini bersifat intrinsik untuk pengujian di Android.

Suite Uji Kompatibilitas (CTS)

Android Compatibility Test Suite adalah rangkaian dari berbagai jenis pengujian, yang digunakan untuk memastikan kompatibilitas implementasi framework Android di seluruh partner OEM, dan di seluruh rilis platform. Suite ini juga mencakup tes instrumentasi dan kerangka kerja GTest.

CTS dan pengujian platform tidak saling eksklusif, dan berikut adalah beberapa panduan umum:

  • jika tes menegaskan kebenaran fungsi/perilaku kerangka kerja API, dan itu harus diterapkan di seluruh mitra OEM, itu harus di CTS
  • jika pengujian dimaksudkan untuk menangkap regresi selama siklus pengembangan platform, dan mungkin memerlukan izin istimewa untuk melaksanakannya, dan mungkin bergantung pada detail implementasi (seperti yang dirilis di AOSP), pengujian tersebut seharusnya hanya pengujian platform

Vendor Test Suite (VTS)

Vendor Test Suite (VTS) mengotomatiskan pengujian kernel HAL dan OS. Untuk menggunakan VTS guna menguji implementasi sistem Android bawaan, siapkan lingkungan pengujian lalu uji tambalan menggunakan paket VTS.

Infrastruktur Pengujian Federasi Perdagangan

Trade Federation (diperdagangkan atau disingkat TF) adalah kerangka kerja pengujian berkelanjutan yang dirancang untuk menjalankan pengujian pada perangkat Android. TF dapat menjalankan tes fungsional secara lokal, di meja Anda, di dalam platform checkout Anda. Ada dua file yang diperlukan untuk menjalankan pengujian di TF, sumber pengujian java dan konfigurasi XML. Lihat RebootTest.java dan reboot.xml untuk contoh.

Men-debug

Bagian Debugging merangkum alat yang berguna dan perintah terkait untuk men-debug, melacak, dan membuat profil kode platform Android bawaan saat mengembangkan fitur tingkat platform.