Pengujian platform Android

Proyek Open Source Android (AOSP) menyediakan beberapa alat dan rangkaian pengujian untuk menguji berbagai bagian implementasi Anda. Sebelum menggunakan halaman di bagian ini, Anda harus memahami istilah berikut:

Perangkat yang kompatibel dengan Android
Perangkat yang dapat menjalankan aplikasi pihak ketiga yang ditulis oleh developer pihak ketiga menggunakan Android SDK dan NDK. Perangkat yang kompatibel dengan Android harus mematuhi persyaratan Compatibility Definition Document (CDD) dan lulus Compatibility Test Suite (CTS). Perangkat yang kompatibel dengan Android memenuhi syarat untuk berpartisipasi dalam ekosistem Android, yang mencakup potensi pemberian lisensi Google Play, potensi pemberian lisensi rangkaian aplikasi dan API Layanan Seluler Google (GMS), dan penggunaan merek dagang Android. Siapa pun boleh menggunakan kode sumber Android, tetapi agar dianggap sebagai bagian dari ekosistem Android, perangkat harus kompatibel dengan Android.
artefak
Log terkait build yang memungkinkan pemecahan masalah lokal.
Compatibility Definition Document (CDD)
Dokumen yang mencantumkan persyaratan software dan hardware untuk perangkat yang kompatibel dengan Android.
Compatibility Test Suite (CTS)

Kumpulan pengujian gratis tingkat komersial, tersedia untuk didownload sebagai biner atau sebagai sumber di AOSP. CTS adalah serangkaian pengujian unit yang dirancang untuk diintegrasikan ke dalam alur kerja harian Anda. Tujuan CTS adalah untuk mengungkapkan ketidakcocokan, dan memastikan software tetap kompatibel selama proses pengembangan.

Pengujian CTS dan platform tidak eksklusif terhadap satu sama lain. Berikut beberapa panduan umum:

  • Jika pengujian menegaskan kebenaran fungsi atau perilaku API framework, dan pengujian harus diterapkan di seluruh partner OEM, pengujian tersebut harus ada di CTS.
  • Jika pengujian dimaksudkan untuk mendeteksi regresi selama pengembangan platform, dan mungkin memerlukan izin istimewa untuk dilakukan, serta mungkin bergantung pada detail penerapan (seperti yang dirilis di AOSP), pengujian tersebut harus berupa pengujian platform.
Layanan Seluler Google (GMS)

Kumpulan aplikasi dan API Google yang dapat diinstal sebelumnya di perangkat.

GoogleTest (GTest)

Framework pengujian dan mocking C++. Biner GTest biasanya mengakses lapisan abstraksi tingkat bawah atau melakukan IPC mentah terhadap berbagai layanan sistem. Pendekatan pengujian untuk GTest biasanya terkait erat dengan layanan yang sedang diuji. CTS berisi framework GTest.

pengujian instrumentasi

Lingkungan eksekusi pengujian khusus yang diluncurkan oleh perintah am instrument, tempat proses aplikasi target dimulai ulang dan diinisialisasi dengan konteks aplikasi dasar, dan thread instrumentasi dimulai di dalam mesin virtual proses aplikasi. CTS berisi pengujian instrumentasi.

Logcat

Alat command line yang membuat log pesan sistem, termasuk pelacakan tumpukan saat perangkat menampilkan error dan pesan yang telah Anda tulis dari aplikasi dengan class Log.

logging

Menggunakan log untuk melacak peristiwa sistem komputer, seperti error. Logging di Android rumit karena campuran standar yang digunakan dan digabungkan dalam alat Logcat.

postsubmit test

Pengujian Android yang dilakukan saat patch baru di-commit ke cabang kernel umum. Dengan memasukkan aosp_kernel sebagai nama cabang parsial, Anda dapat melihat daftar cabang kernel dengan hasil yang tersedia. Misalnya, hasil untuk android-mainline dapat ditemukan di https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid.

uji prakirim

Pengujian yang digunakan untuk mencegah kegagalan dimasukkan ke dalam kernel umum.

Federasi Perdagangan

Juga disebut Tradefed, framework pengujian berkelanjutan yang dirancang untuk menjalankan pengujian di perangkat Android. Misalnya, Tradefed digunakan untuk menjalankan pengujian Compatibility Test Suite dan Vendor Test Suite.

Vendor Test Suite (VTS)

Serangkaian kemampuan ekstensif untuk pengujian Android, yang mempromosikan proses pengembangan berbasis pengujian, dan mengotomatiskan pengujian kernel OS dan lapisan abstraksi hardware (HAL).

Jenis pengujian platform

Pengujian platform biasanya berinteraksi dengan satu atau beberapa layanan sistem Android atau lapisan HAL, melatih fungsi subjek yang sedang diuji, dan menegaskan kebenaran hasil pengujian. Pengujian platform dapat:

  • (Jenis 1) Latih API framework menggunakan framework Android. API tertentu yang digunakan dapat mencakup:
    • API publik yang ditujukan untuk aplikasi pihak ketiga
    • API tersembunyi yang ditujukan untuk aplikasi istimewa, yaitu API sistem atau API pribadi (@hide, atau protected, package private)
  • (Jenis 2) Memanggil layanan sistem Android menggunakan binder mentah atau proxy IPC secara langsung.
  • (Jenis 3) Berinteraksi langsung dengan HAL menggunakan API tingkat rendah atau antarmuka IPC.

Pengujian jenis 1 dan 2 biasanya merupakan pengujian instrumentasi, sedangkan pengujian jenis 3 biasanya merupakan GTest.

Apa selanjutnya?

Berikut adalah daftar dokumen yang dapat Anda baca untuk mendapatkan informasi yang lebih mendetail: