Vendor Test Suite (VTS) dan infrastruktur

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

  • Kernel
  • Hardware abstraction layer (HAL)

VTS berjalan di komputer {i>desktop<i} dan menjalankan {i>test case<i} secara langsung pada perangkat yang terpasang atau pada emulator. Mirip dengan CTS, VTS merupakan rangkaian pengujian otomatis yang menggunakan komponen perangkat lunak utama berikut ini.

  • Federasi Perdagangan VTS rangkaian pengujian berjalan pada mesin host Anda dan mengelola pengujian dalam proses eksekusi. Cloud Endpoints menawarkan kemampuan untuk Mengonfigurasi Sharding di beberapa perangkat dalam pengujian (DUT). Anda juga dapat menggunakan metode Suite Percobaan ulang fitur ini untuk mencoba ulang kegagalan saja, bukan seluruh rangkaian pengujian, sehingga sangat mengurangi waktu {i>re-run<i}.
  • Masing-masing kasus pengujian dijalankan di DUT. Kasus pengujian bisa berupa pengujian gaya {i>gtest<i}, pengujian {i>kernel<i}, atau pengujian gaya JUnit-style yang ditulis dalam Java.

Tipe pengujian

Berbagai jenis pengujian VTS dijelaskan di bagian berikut.

pengujian gaya gtest

Sebagian besar pengujian di VTS adalah pengujian gaya gtest yang memeriksa HAL terlepas dari implementasi layanan. Tesnya adalah yang ditulis dalam C++ dan berjalan di perangkat. Gtest VTS tipikal melakukan iterasi melalui setiap instance antarmuka tertentu, dan menjalankan semua kasus pengujian terhadapnya. Lihat VtsHalHealthStorageV1_0TargetTest sebagai contoh.

Pengujian kernel Linux

  • Kselftest (external/linux-kselftest) adalah kumpulan pengujian yang termasuk dalam repositori {i>kernel<i} Linux di tools/testing/selftests, yang 23 di antaranya termasuk dalam VTS untuk dijalankan di ARM.

  • Project Pengujian Linux (eksternal/ltp) pengujian memvalidasi keandalan, keandalan, dan stabilitas kernel Linux.

Pengujian gaya JUnit

Sekumpulan kecil pengujian berbasis {i>host<i} di VTS adalah pengujian gaya JUnit, misalnya, KernelApiSysfsTest Pengujian Java diimplementasikan sebagai BaseHostJUnit4Test, yang terkait dengan perangkat pengujian dan dapat menjalankan shell untuk melakukan validasi.

Pengujian Python3 mandiri

Beberapa uji VTS, seperti vts_treble_sys_prop_test ditulis dalam Python3. Tujuan Pengujian berbasis Python diimplementasikan sebagai unittest.TestCase dan setiap pengujian {i>casing<i} dapat berinteraksi dengan perangkat melalui perintah {i>shell<i}.