Infrastruktur dan Vendor Test Suite (VTS)

Android Vendor Test Suite (VTS) menyediakan pengujian ekstensif pada hal-hal berikut:

  • Kernel
  • Hardware abstraction layer (HAL)

VTS berjalan di mesin desktop dan mengeksekusi kasus pengujian langsung di perangkat yang terhubung atau di emulator. Mirip dengan CTS, VTS adalah kumpulan pengujian otomatis yang menggunakan komponen software utama berikut:

  • Platform pengujian VTS Trade Federation berjalan di mesin host Anda dan mengelola eksekusi pengujian. Fitur ini menawarkan kemampuan untuk Mengonfigurasi sharding di beberapa perangkat yang diuji (DUT). Anda juga dapat menggunakan fitur Coba Lagi Suite untuk mencoba lagi hanya kegagalan, bukan seluruh rangkaian pengujian, yang sangat mengurangi waktu untuk menjalankan ulang.
  • Kasus pengujian individual dijalankan di DUT. Kasus pengujian dapat berupa pengujian gaya GTest, pengujian kernel, atau pengujian gaya JUnit yang ditulis dalam Java.

Tipe pengujian

Berbagai jenis pengujian VTS dijelaskan di bagian berikut.

Pengujian gaya GTest

Sebagian besar pengujian di VTS adalah pengujian gaya GTest yang memeriksa penerapan HAL. Pengujian ditulis dalam C++ dan dijalankan di perangkat. GTest VTS biasanya melakukan iterasi melalui setiap instance antarmuka tertentu, dan menjalankan semua kasus pengujian terhadapnya. Lihat VtsHalHealthStorageV1_0TargetTest untuk melihat contohnya.

Pengujian kernel Linux

  • Kselftest (external/linux-kselftest) adalah kumpulan pengujian yang disertakan dalam repositori kernel Linux di tools/testing/selftests, yang 23 di antaranya disertakan dalam VTS untuk dijalankan di ARM.

  • Pengujian Linux Test Project (external/ltp) memvalidasi keandalan, ketahanan, dan stabilitas kernel Linux.

Pengujian gaya JUnit

Sejumlah kecil pengujian yang digerakkan host di VTS adalah pengujian gaya JUnit, misalnya, KernelApiSysfsTest. Pengujian Java diterapkan sebagai BaseHostJUnit4Test, yang terkait dengan perangkat pengujian dan dapat menjalankan perintah shell untuk melakukan validasi.

Pengujian Python3 mandiri

Beberapa pengujian VTS, seperti vts_treble_sys_prop_test ditulis dalam Python3. Pengujian berbasis Python diimplementasikan sebagai unittest.TestCase dan setiap kasus pengujian dapat berinteraksi dengan perangkat melalui perintah shell.