Android 11 Vendor Test Suite (VTS) menyediakan pengujian ekstensif pada hal berikut:
- Inti
- Lapisan abstraksi perangkat keras (HAL)
VTS berjalan pada mesin desktop dan mengeksekusi kasus uji langsung pada perangkat yang terpasang atau pada emulator. Mirip dengan CTS , VTS adalah rangkaian pengujian otomatis yang menggunakan komponen perangkat lunak utama berikut.
- Rangkaian uji VTS Trade Federation berjalan di mesin host Anda dan mengelola eksekusi pengujian. Ini menawarkan kemampuan untuk Mengonfigurasi Sharding di beberapa perangkat yang sedang diuji (DUT). Anda juga dapat menggunakan fitur Coba Ulang Suite untuk mencoba lagi hanya kegagalan daripada seluruh rangkaian pengujian, yang sangat mengurangi waktu menjalankan ulang.
- Kasus uji individu dieksekusi 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 pengujian di VTS adalah pengujian gaya gtest yang memeriksa implementasi HAL. Tes ditulis dalam C++ dan berjalan di perangkat. Gtest VTS tipikal beralih melalui setiap instance dari antarmuka yang diberikan, dan menjalankan semua kasus uji terhadapnya. Lihat VtsHalHealthStorageV1_0TargetTest
untuk contoh.
Tes kernel Linux
Kselftest ( external/linux-kselftest ) adalah kumpulan tes yang disertakan dalam repositori kernel Linux di
tools/testing/selftests
, 23 di antaranya disertakan dalam VTS untuk dijalankan di ARM.Tes Linux Test Project ( external/ltp ) memvalidasi 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 dikaitkan 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. Pengujian berbasis Python diimplementasikan sebagai unittest.TestCase
dan setiap kasus pengujian dapat berinteraksi dengan perangkat melalui perintah shell.