Mengoptimalkan CTS

Compatibility Test Suite (CTS) Android menyediakan jutaan pengujian individual. Meskipun perlu sering menjalankan CTS selama fase pengembangan software, waktu yang diperlukan untuk menjalankan pengujian ini dapat dipersingkat.

Halaman ini menjelaskan metode yang dapat Anda gunakan untuk mengurangi waktu eksekusi uji dan cara mengoptimalkan sumber daya perangkat keras ke dalam proses.

Perangkat sharding

Untuk mengurangi waktu siklus, pertimbangkan untuk menjalankan CTS di beberapa perangkat (sharding). Untuk mengetahui cara penggunaan sharding, tinjau Jalankan uji CTS.

Stasiun pengujian Android

Gunakan Android Test Station (ATS) untuk menggunakan antarmuka pengguna guna menjalankan rangkaian pengujian Android standar. Alat ini berfungsi sebagai antarmuka web untuk Federasi Perdagangan (TF), memungkinkan Anda untuk menjalankan CTS dengan penyiapan minimal pada satu set perangkat uji serta untuk menetapkan jadwal untuk terus menjalankan pengujian.

Stasiun pengujian Android mendukung Mode multi-host, dengan satu host pengontrol ATS dapat digunakan untuk mengelola perangkat dan pengujian di beberapa {i>host<i} pekerja ATS.

Emulator berjalan terus-menerus

Untuk menjalankan CTS secara terus-menerus selama fase pengembangan, Perangkat Virtual Android (AVD) dapat digunakan sebagai pengganti perangkat keras. Regresi kegagalan uji dapat diidentifikasi lebih awal, sehingga menghemat banyak waktu yang diperlukan untuk penyebabnya. Beberapa instance emulator dapat digunakan untuk sharding dan dapat dijadwalkan untuk berjalan terus-menerus dengan stasiun pengujian Android.

Program Kualitas drawElements (dEQP)

Tujuan Program Kualitas drawElements (dEQP) termasuk dalam Android CTS. Program ini disebut CtsDepqTestCases, tetapi berfokus tentang cakupan pengujian grafis Android. Modul ini mencakup hampir 80% dari semua kasus pengujian di Android CTS dan mewakili 6% dari total waktu eksekusi.

Karena driver grafis Android adalah bagian dari firmware Android (BSP) dan tidak banyak berubah selama pengembangan, Anda dapat menjalankan modul ini secara strategis. Misalnya, jika Anda menjalankan CTS setiap dua minggu (atau kurang) selama pengembangan perangkat lunak Anda, berdasarkan jadwal pembaruan {i>firmware<i} tersebut, Anda dapat mengecualikan selama beberapa siklus.

Salah satu opsinya adalah menjalankan CtsDeqpTestCases secara terpisah di kumpulan perangkat, dan kemudian kirimkan laporan CTS. Misalnya, di dua host yang berbeda.

Host 1:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases

Host 2:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases

Kasus pengujian media

Kasus pengujian media memverifikasi layanan multimedia seperti audio, video, dan driver multimedia. Modul pengujian multimedia ini berkontribusi paling besar terhadap CTS serta waktu eksekusinya. Penundaan dapat terjadi saat:

  • Mendownload file media atau memutar file media berulang kali selama pengujian.
  • Mencoba ulang kasus pengujian yang gagal.

Android CTS berisi modul pengujian berikut:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

Pertimbangkan untuk menjalankan beberapa pengujian media secara lokal atau di server lokal. Untuk mengetahui detailnya, lihat Menjalankan pengujian media CTS secara lokal.

Framework multimedia dan drivernya (decoder dan encoder) merupakan bagian dari firmware Android (BSP). Anda dapat menjalankan modul ini secara strategis dan mengecualikan modul ini selama beberapa siklus, berdasarkan jadwal update firmware.