Vendor Test Suite (VTS) dan infrastruktur

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.