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 layak untuk berpartisipasi dalam ekosistem Android, yang mencakup potensi pemberian lisensi Google Play, potensi pemberian lisensi paket aplikasi dan API Layanan Seluler Google (GMS), serta penggunaan merek dagang Android. Siapa pun dapat 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 menyebutkan persyaratan software dan hardware untuk Perangkat yang kompatibel dengan Android.
Compatibility Test Suite (CTS)

Paket pengujian gratis tingkat komersial, tersedia untuk diunduh dalam bentuk biner atau di AOSP. CTS adalah serangkaian pengujian unit yang dirancang untuk diintegrasikan ke dalam alur kerja harian Anda. Tujuan CTS adalah untuk mengungkapkan inkompatibilitas, dan memastikan bahwa software tetap kompatibel selama proses pengembangan.

CTS dan pengujian platform tidak saling eksklusif. Berikut adalah beberapa panduan:

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

Kumpulan aplikasi dan API Google yang dapat diprainstal di perangkat.

GoogleTest (GTest)

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

pengujian instrumentasi

Lingkungan eksekusi uji khusus diluncurkan oleh perintah am instrument, di mana proses aplikasi yang ditargetkan dimulai ulang dan diinisialisasi dengan konteks aplikasi dasar, dan thread instrumentasi dimulai di dalam virtual proses aplikasi mesin Linux dan Windows. CTS berisi uji 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 sebagai error. Logging di Android bersifat kompleks karena campuran standar yang digunakan digabungkan dalam alat Logcat.

pengujian pasca-pengiriman

Pengujian Android yang dilakukan ketika patch baru di-commit di cabang {i>kernel<i} umum. Dengan memasukkan aosp_kernel sebagai nama cabang sebagian, 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.

pengujian pra-pengiriman

Sebuah pengujian yang digunakan untuk mencegah kegagalan yang masuk ke dalam {i>kernel<i} yang umum digunakan.

Trade Federation

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

Paket Pengujian Vendor (VTS)

Kumpulan kemampuan yang luas untuk pengujian Android, mempromosikan proses pengembangan berbasis pengujian, dan mengotomatiskan pengujian hardware abstraction layer (HAL) dan kernel OS.

Jenis pengujian platform

Pengujian platform biasanya berinteraksi dengan satu atau beberapa sistem Android atau lapisan HAL, menjalankan fungsi subjek yang diuji, dan menyatakan ketepatan hasil pengujian. Pengujian platform mungkin:

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

Pengujian jenis 1 dan 2 biasanya merupakan uji instrumentasi, sedangkan pengujian jenis 3 biasanya adalah GTests.

Apa selanjutnya?

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