FAQ CTS

Program Kompatibilitas Android adalah pendorong utama untuk mempertahankan masukan positif bagi ekosistem Android. CTS adalah alat utama untuk memastikan kualitas kompatibilitas dalam skala. Tim Android terus meningkatkan kualitas alat CTS dan cakupan pengujian. Penambahan kasus pengujian secara rutin akan meningkatkan kualitas perangkat yang kompatibel secara signifikan.

Pertanyaan umum

Bagian ini memberikan FAQ CTS umum.

Apa saja yang diuji oleh CTS?

CTS menguji bahwa semua API berjenis kuat Android yang didukung ada dan berfungsi dengan benar. CTS juga menguji perilaku sistem non-API lainnya seperti siklus proses dan performa aplikasi.

Bagaimana lisensi CTS?

CTS dilisensikan berdasarkan Lisensi Software Apache 2.0 yang sama dengan yang digunakan sebagian besar Android.

Apakah codec diverifikasi oleh CTS?

Ya. Semua codec wajib diverifikasi oleh CTS.

Pertanyaan khusus pengujian

Bagian ini berisi FAQ yang membantu menjalankan pengujian CTS secara lebih efisien.

Apa perbedaan antara CTS Sharding dan TF Sharding?

CTS Sharding dan TF Sharding adalah rencana pengujian yang sama sekali berbeda yang didukung oleh codebase infrastruktur pengujian yang berbeda. Meskipun perintah run sama di berbagai versi, hasil sharding berperilaku berbeda. CTS Sharding secara statis menetapkan kasus pengujian ke Perangkat yang Diuji (DUT) sebagai berikut:

TF Sharding secara dinamis menetapkan kasus pengujian ke DUT yang tersedia sebagai berikut:

Apa yang diharapkan dari perangkat yang mendukung beberapa ABI?

Perangkat harus lulus semua pengujian CTS dan CTS Verifier untuk setiap mode ABI yang diklaimnya didukung. Oleh karena itu, aplikasi perlu dieksekusi untuk ABI tertentu. Panduan untuk beberapa ABI adalah sebagai berikut:

  • Untuk CTS dan CTS Verifier, ada rilis ARM dan x86 untuk setiap arsitektur. Setiap proses dapat mendukung mode 32-bit atau 64-bit.
  • Untuk pengujian CTS, jika perangkat mendukung ARM dan x86, perangkat harus menjalankan dan lulus pengujian CTS ARM dan x86 masing-masing.

Lihat CDD 3.3.1. Antarmuka Biner Aplikasi untuk persyaratan CDD pada ABI.

Apakah cukup menjalankan pengujian hanya pada ABI utama (misalnya, 64 bit) untuk mengurangi waktu eksekusi pengujian?

Tidak. Aplikasi Android berjalan di runtime 32-bit atau 64-bit-nya sendiri. Kode mesin, jalur kode, dan status yang sebenarnya berbeda antara 32 dan 64. Jika Anda melewati satu mode, Anda hanya mencakup 50% ABI perangkat.

Mengapa ada begitu banyak kasus pengujian yang dilaporkan sebagai Tidak Dijalankan?

Anda harus memeriksa jumlah Modul Selesai, bukan jumlah Tidak Dieksekusi.

Pada versi sebelumnya, modul CTS dilaporkan sebagai Module Done terlalu agresif sebelum diselesaikan. Oleh karena itu, jumlah Modul Selesai dilaporkan tanpa semua kasus pengujian selesai meskipun beberapa perangkat mengalami masalah. Test harness baru lebih konservatif dan melaporkan jumlah pengujian Tidak Dijalankan yang lebih tinggi saat terjadi masalah.

Penyelesaian eksekusi modul melaporkan Module Not Done dalam pemanggilan terbaru (done="false") dalam laporan selama berikut ini:

  • Pengujian modul terganggu karena masalah koneksi perangkat.
  • Tidak semua eksekusi pengujian yang diharapkan untuk modul dilakukan.
  • Dicoba lagi (menggunakan opsi -r/--retry) dengan opsi pemfilteran tambahan, seperti:

    • --include-filter
    • --exclude-filter
    • -t/--test (Opsi belum didukung saat mencoba lagi)
    • --retry-type gagal
    • --subplan

Untuk mendapatkan status Module Done (done="true") untuk modul ini, coba lagi yang berikut untuk pemanggilan terbaru:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

Modul yang dijalankan tanpa masalah apa pun yang disebutkan sebelumnya (bahkan dengan 0 pengujian yang tersisa) ditandai Modul Selesai dalam laporan baru.

Pengecualian

  • CtsNNAPITestCases memiliki masalah umum karena batasan argumen linux/OS. Modul dapat dijalankan ulang secara terpisah melalui run cts -m CtsNNAPITestCases secara langsung.

Bagaimana cara menghindari kegagalan persiapan pengujian di belakang firewall perusahaan?

Semua rangkaian pengujian otomatis mencoba mendownload file media CTS atau file logika bisnis selama runtime. Di banyak lingkungan perusahaan, firewall dan proxy adalah hal yang umum, yang menyebabkan persiapan pengujian gagal. Jalankan baris berikut atau tambahkan ke .profile (di Ubuntu).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

Apakah saya memerlukan kartu SIM untuk CTS untuk Elemen Pengamanan?

Apakah kartu SIM diperlukan untuk pengujian bergantung pada pemahaman apakah fitur didukung di perangkat pengujian.

  • Jika perangkat Anda TIDAK perlu mendukung aplikasi Android yang mengakses elemen aman—baik di UICC (misalnya, kartu SIM) yang didistribusikan oleh operator jaringan seluler (operator) atau disematkan di perangkat—Anda dapat mengonfigurasi manifes HIDL agar tidak menyertakan elemen HAL android.hardware.secure_element. Dalam hal ini, API android.se.omapi.SEService.getReaders() melaporkan daftar kosong dan pengujian CTS otomatis lulus dan melaporkan kelulusan untuk CTS.
  • Jika perangkat Anda PERLU mendukung akses aplikasi Android ke elemen aman—baik di UICC (misalnya, kartu SIM) yang didistribusikan oleh operator jaringan seluler (operator) atau disematkan di perangkat—Anda harus menerapkan elemen aman dengan benar dan mengujinya secara internal. Uji CTS untuk Secure Element menguraikan cara bersiap untuk menjalankan uji CTS yang memastikan paket API android.se.omapi yang ditambahkan di Android 9 berfungsi. Sebaiknya lakukan pengujian tambahan sendiri karena cakupan pengujian CTS minimal.

Di mana saya bisa mendapatkan kartu SIM untuk CTS untuk Elemen Pengaman?

Anda dapat menghubungi vendor SIM pilihan Anda.

Mengapa SIM Orange ada di layar kunci selama eksekusi CTS dengan token sharding?

Kasus pengujian tidak dimulai karena pengujian kartu SIM terkunci. Nonaktifkan Kunci kartu SIM di **setelan kunci kartu SIM sebelum mengeksekusi CTS dengan token sharding.