Android Vendor Test Suite (VTS) menyediakan pengujian ekstensif pada hal-hal berikut:
- Inti
- Lapisan abstraksi perangkat keras (HAL)
VTS berjalan di mesin desktop dan mengeksekusi test case langsung di perangkat yang terpasang atau di emulator. Mirip dengan CTS , VTS adalah rangkaian pengujian otomatis yang menggunakan komponen perangkat lunak utama berikut.
- Test harness VTS Trade Federation berjalan di mesin host Anda dan mengelola eksekusi tes. Ini menawarkan kemampuan untuk Mengonfigurasi Sharding di beberapa perangkat yang sedang diuji (DUT). Anda juga dapat menggunakan fitur Coba Ulang Suite untuk mencoba ulang hanya kegagalan daripada keseluruhan rangkaian pengujian, yang sangat mengurangi waktu pengoperasian ulang.
- Kasus uji individual dijalankan pada DUT. Kasus pengujian dapat berupa pengujian gaya gtest, pengujian kernel, atau pengujian gaya JUnit yang ditulis dalam Java.
Jenis tes
tes gaya gtest
Sebagian besar tes di VTS adalah tes gaya gtest yang memeriksa implementasi HAL. Tes ini ditulis dalam C++ dan berjalan di perangkat. Sebuah VTS gtest tipikal melakukan iterasi melalui setiap instance dari antarmuka yang diberikan, dan menjalankan semua test case terhadapnya. Lihat VtsHalHealthStorageV1_0TargetTest
sebagai contoh.
Tes kernel Linux
Kselftest ( external/linux-kselftest ) adalah kumpulan tes yang termasuk dalam repositori kernel Linux di
tools/testing/selftests
, 23 di antaranya termasuk dalam VTS untuk dijalankan di ARM.Proyek Uji Linux ( external/ltp ) menguji keandalan, ketahanan, dan stabilitas kernel Linux.
Tes gaya JUnit
Serangkaian kecil pengujian berbasis host di VTS adalah pengujian gaya JUnit, misalnya, KernelApiSysfsTest
. Pengujian Java diimplementasikan sebagai BaseHostJUnit4Test
, yang diasosiasikan dengan perangkat pengujian dan dapat menjalankan perintah shell untuk melakukan validasi.
Tes Python3 mandiri
Beberapa tes VTS, seperti vts_treble_sys_prop_test
ditulis dengan Python3. Tes berbasis Python diimplementasikan sebagai unittest.TestCase
dan setiap test case dapat berinteraksi dengan perangkat melalui perintah shell.