Android Vendor Test Suite (VTS) menyediakan pengujian yang ekstensif pada hal berikut:
- Kernel
- Hardware abstraction layer (HAL)
VTS berjalan di komputer desktop dan menjalankan kasus pengujian langsung di perangkat yang terpasang atau di emulator. Serupa dengan CTS, VTS adalah rangkaian pengujian otomatis yang menggunakan komponen software utama berikut:
- VTS Trade Federation berjalan di mesin host Anda dan mengelola eksekusi pengujian. Solusi ini menawarkan kemampuan untuk Mengonfigurasi sharding di beberapa perangkat yang sedang diuji (DUT). Anda juga dapat menggunakan fitur Suite Retry untuk mencoba ulang hanya kegagalan, bukan seluruh rangkaian pengujian, yang sangat mengurangi waktu pengulangan.
- Masing-masing kasus pengujian 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 bergaya GTest
Sebagian besar pengujian di VTS adalah pengujian bergaya GTest yang memeriksa penerapan
HAL. Pengujian
ditulis dalam C++ dan berjalan di perangkat. GTest VTS standar melakukan iterasi melalui
setiap instance antarmuka tertentu, dan menjalankan semua kasus pengujian
terhadapnya. Lihat VtsHalHealthStorageV1_0TargetTest
untuk contohnya.
Pengujian kernel Linux
Kselftest (external/linux-kselftest) adalah kumpulan pengujian yang disertakan dalam repositori kernel Linux di
tools/testing/selftests
, dengan 23 di antaranya termasuk dalam VTS untuk dijalankan di ARM.Pengujian Project Pengujian Linux (external/ltp) memvalidasi keandalan, keandalan, dan stabilitas kernel Linux.
Pengujian bergaya JUnit
Serangkaian kecil pengujian yang didorong host di VTS adalah pengujian bergaya JUnit, misalnya,
KernelApiSysfsTest
.
Pengujian Java diterapkan sebagai
BaseHostJUnit4Test
,
yang dikaitkan 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.