Para integrar testes a um serviço de teste contínuo da plataforma, eles precisam atender às diretrizes desta página e seguir este fluxo recomendado.
- Use o sistema de build do Soong para Configuração de teste simples.
- Use o mapeamento de teste para criar regras de teste antes e depois do envio diretamente na árvore de origem do Android.
- Execute testes localmente usando o Atest.
Tipos de teste
Os tipos de teste compatíveis são:
- Os testes de instrumentação são compatíveis com testes funcionais e de métricas. Consulte Testar seu app para orientações gerais de teste de apps.
- O GoogleTest (GTest) oferece suporte aos
seguintes tipos de teste:
- GTests funcionais usando o framework GTest
- Testes de métricas usando
google-benchmark
- Testes de host de JAR usando o JUnit
Os testes funcionais fazem declarações de aprovação ou falha em casos de teste, enquanto os testes de métricas geralmente executam uma ação repetidamente para coletar métricas de tempo.
Com o formato padronizado de entrada/saída, a necessidade de análise de resultados personalizados e pós-processamento por teste é eliminada, e arcabouços de testes genéricos podem ser usados para todos os testes que se enquadram na convenção. Consulte a Visão geral do Trade Federation para conferir o framework de testes contínuos incluído no Android.
Diretrizes de casos de teste
Os casos de teste executados pelo serviço de testes contínuos precisam ser herméticos, ou seja, todas as dependências precisam ser declaradas e fornecidas com os testes. Consulte Servidores herméticos no blog de testes do Google (em inglês) para entender esse princípio. Em resumo, os testes herméticos exigem não:
- Login na Conta do Google
- Conectividade configurada (telefonia/Wi-Fi/Bluetooth/NFC)
- Parâmetros de teste transmitidos
- Configuração ou eliminação realizada pelo arcabouço de testes para um caso de teste específico