Pengujian platform Android

AOSP menyediakan beberapa alat dan rangkaian pengujian untuk menguji berbagai bagian implementasi Anda. Sebelum melanjutkan ke bagian ini, Anda harus memahami istilah-istilah berikut:

Perangkat yang kompatibel dengan Android
Perangkat yang dapat menjalankan aplikasi pihak ketiga apa pun yang dibuat oleh pengembang pihak ketiga menggunakan Android SDK dan NDK. Perangkat yang kompatibel dengan Android harus mematuhi persyaratan Dokumen Definisi Kompatibilitas (CDD) dan lulus Rangkaian Uji Kompatibilitas (CTS) . Perangkat yang kompatibel dengan Android memenuhi syarat untuk berpartisipasi dalam ekosistem Android, yang mencakup potensi lisensi Google Play Store, potensi lisensi rangkaian aplikasi dan API Layanan Seluler Google (GMS) , dan penggunaan merek dagang Android. Siapa pun boleh menggunakan kode sumber Android, namun untuk dianggap sebagai bagian dari ekosistem Android, perangkat harus kompatibel dengan Android.
artefak
Artefak adalah log terkait build yang memungkinkan pemecahan masalah lokal.
Dokumen Definisi Kompatibilitas (CDD)
Dokumen yang menyebutkan persyaratan perangkat lunak dan perangkat keras untuk perangkat yang kompatibel dengan Android.
Rangkaian Uji Kompatibilitas (CTS)

Rangkaian pengujian tingkat komersial gratis, tersedia untuk diunduh sebagai biner atau sebagai sumber di AOSP. CTS adalah serangkaian pengujian unit yang dirancang untuk diintegrasikan ke dalam alur kerja harian Anda. Tujuan dari CTS adalah untuk mengungkap ketidakcocokan, dan memastikan bahwa perangkat lunak tetap kompatibel selama proses pengembangan.

Pengujian CTS dan platform tidak berdiri sendiri-sendiri. Berikut adalah beberapa pedoman umum:

  • Jika suatu pengujian menegaskan kebenaran fungsi atau perilaku framework API, dan pengujian tersebut harus diterapkan di seluruh mitra OEM, maka pengujian tersebut harus dilakukan dalam CTS.
  • Jika pengujian dimaksudkan untuk menangkap regresi selama pengembangan platform, dan mungkin memerlukan izin istimewa untuk melaksanakannya, dan mungkin bergantung pada detail implementasi (seperti yang dirilis di AOSP), pengujian tersebut harus berupa pengujian platform.
Layanan Google Seluler (RUPS)

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

Tes Google (Tes GT)

GTest adalah kerangka 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 digabungkan dengan layanan yang sedang diuji. CTS berisi kerangka GTest.

uji instrumentasi

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

catatan log

Logcat adalah alat baris perintah yang membuat log pesan sistem, termasuk jejak tumpukan saat perangkat melakukan kesalahan dan pesan yang Anda tulis dari aplikasi Anda dengan kelas Log .

pencatatan

Pencatatan mengacu pada penggunaan log untuk melacak peristiwa sistem komputer, seperti kesalahan. Logging di Android rumit karena campuran standar yang digunakan digabungkan dalam alat Logcat.

tes pasca penyerahan

Tes pasca-pengiriman Android dilakukan ketika patch baru diterapkan ke cabang kernel umum. Dengan memasukkan aosp_kernel sebagai sebagian nama cabang, 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 .

tes pra-pengiriman

Tes pra-pengiriman digunakan untuk mencegah kegagalan masuk ke kernel umum.

Federasi Perdagangan

Federasi Perdagangan, juga disebut Tradefed, adalah kerangka pengujian berkelanjutan yang dirancang untuk menjalankan pengujian pada perangkat Android. Misalnya, Tradefed digunakan untuk menjalankan pengujian Compatibility Test Suite dan Vendor Test Suite.

Rangkaian Uji Vendor (VTS)

Android Vendor Test Suite (VTS) memberikan kemampuan ekstensif untuk pengujian Android, mendorong proses pengembangan berbasis pengujian, dan mengotomatiskan pengujian kernel HAL dan OS.

Jenis pengujian platform

Pengujian platform biasanya berinteraksi dengan satu atau beberapa layanan sistem Android atau lapisan lapisan abstraksi perangkat keras (HAL), menjalankan fungsi subjek yang diuji, dan memastikan kebenaran hasil pengujian. Pengujian platform mungkin:

  • (tipe 1) Latihan framework API menggunakan framework Android. API spesifik yang diterapkan dapat mencakup:
    • API Publik yang ditujukan untuk aplikasi pihak ketiga
    • API tersembunyi yang ditujukan untuk aplikasi yang memiliki hak istimewa, yaitu API sistem atau API pribadi ( @hide , or protected , package private`)
  • (tipe 2) Panggil layanan sistem Android menggunakan pengikat mentah atau proksi IPC secara langsung.
  • (tipe 3) Berinteraksi langsung dengan HAL menggunakan API tingkat rendah atau antarmuka IPC.

Tes tipe 1 dan 2 biasanya merupakan tes instrumentasi, sedangkan tes tipe 3 biasanya merupakan Tes GT.

Apa berikutnya?

Berikut adalah daftar dokumen berikutnya yang mungkin Anda baca: