Infrastruktur dan Vendor Test Suite (VTS)

Android Vendor Test Suite (VTS) menyediakan pengujian yang ekstensif pada hal berikut:

  • Biji Jagung Meletup
  • Hardware abstraction layer (HAL)

VTS berjalan di komputer desktop dan mengeksekusi kasus pengujian langsung di perangkat yang terpasang atau di emulator. Serupa dengan CTS, VTS adalah suite pengujian otomatis yang menggunakan komponen software utama berikut:

  • Harness pengujian Trade Federation VTS berjalan di mesin host Anda dan mengelola eksekusi pengujian. Fitur 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.
  • Setiap 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 mengetahui 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 Project Pengujian Linux (external/ltp) memvalidasi keandalan, keandalan, dan stabilitas kernel Linux.

Pengujian gaya 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.