O Pacote de testes de fornecedor do Android (VTS, na sigla em inglês) oferece testes extensivos do seguinte:
- Kernel
- Camada de abstração de hardware (HAL)
O VTS é executado em uma desktop e executa casos de teste diretamente em dispositivos conectados ou nos emuladores. Assim como o CTS, o VTS é um pacote de testes automatizados que usa os principais componentes de software a seguir.
- A VTS Trade Federation (em inglês) o arcabouço de testes é executado na máquina host e gerencia execução. Ele oferece a capacidade de Configurar a fragmentação em vários dispositivos em teste (DUTs). Você também pode usar a nova tentativa do Suite recurso para tentar novamente apenas as falhas, e não todos os conjuntos de testes, o que reduz bastante o tempo de nova execução.
- Casos de teste individuais são executados no DUT. Os casos de teste podem ser testes no estilo gtest, kernel ou JUnit criados na Java.
Tipos de testes
Os vários tipos de testes VTS são descritos nas seções a seguir.
testes no estilo gtest
A maioria dos testes em VTS são no estilo gtest que verificam a HAL.
implementação. O teste é
escrito em C++ e executado no dispositivo. Um gtest VTS típico itera
instância de uma determinada interface e executa todos os casos de teste
contra ele. Consulte VtsHalHealthStorageV1_0TargetTest
como exemplo.
Testes do kernel do Linux
Kselftest (external/linux-kselftest) é uma coleção de testes incluída no repositório do kernel do Linux em
tools/testing/selftests
, das quais 23 estão incluídas no VTS para execução no ARM.Projeto de teste do Linux (external/ltp) validam a confiabilidade, robustez e estabilidade do kernel do Linux.
Testes no estilo JUnit
Um pequeno conjunto de testes orientados por host no VTS são testes no estilo JUnit, por exemplo,
KernelApiSysfsTest
Os testes Java são implementados como
BaseHostJUnit4Test
,
associado a um dispositivo de teste que pode executar
para realizar a validação.
Testes independentes do Python3
Alguns testes VTS, como
vts_treble_sys_prop_test
são escritos em Python3. O
Os testes baseados em Python são implementados como unittest.TestCase
e cada teste
o caso pode interagir com o dispositivo por comandos do shell.