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.