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.