Suite di test (VTS) del fornitore e infrastruttura

La Test Suite del fornitore Android (VTS) offre test approfonditi su quanto segue:

  • Kernel
  • HAL (Hardware Astrazione Layer)

VTS funziona su computer desktop ed esegue scenari di test direttamente sui dispositivi collegati sugli emulatori. In modo simile a CTS, VTS è una suite di test automatizzata utilizza i principali componenti software riportati di seguito.

  • La Federazione commerciale VTS il cablaggio di test viene eseguito sul computer host e gestisce il test dell'esecuzione. Offre la possibilità di Configura lo sharding su più dispositivi sottoposti a test (DUT). Puoi anche utilizzare Il nuovo tentativo di Suite per riprovare solo gli errori anziché l'intera suite di test, il che riduce notevolmente il tempo di esecuzione.
  • Sul DUT vengono eseguiti scenari di test individuali. Scenari di test possono essere test in stile gtest, test kernel o test in stile JUnit scritti Java.

Tipi di test

I vari tipi di test VTS sono descritti nelle sezioni che seguono.

test in stile gtest

La maggior parte dei test in VTS è di tipo gtest che controlla l'HAL implementazione. Il test è scritte in C++ e vengono eseguite sul dispositivo. Un tipico test gtest VTS esegue l'iterazione ogni istanza di una data interfaccia ed esegue tutti gli scenari di test di risposta. Consulta VtsHalHealthStorageV1_0TargetTest per vedere un esempio.

Test del kernel Linux

  • Kselftest (external/linux-kselftest) è una raccolta di test inclusa nel repository del kernel Linux e tools/testing/selftests, di cui 23 incluse in VTS per l'esecuzione su ARM.

  • Progetto di test Linux (external/ltp) convalidano l'affidabilità, la robustezza e la stabilità del kernel Linux.

Test in stile JUnit

Un piccolo gruppo di test guidati da host in VTS è costituito da test in stile JUnit, ad esempio KernelApiSysfsTest I test Java sono implementati BaseHostJUnit4Test, che è associato a un dispositivo di test e può eseguire shell per eseguire la convalida.

Test Python3 autonomi

Alcuni test VTS, ad esempio vts_treble_sys_prop_test sono scritte in Python3, La I test basati su Python sono implementati come unittest.TestCase e ogni test la custodia può interagire con il dispositivo tramite i comandi shell.