O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Teste de plataforma Android

Este conteúdo é voltado para desenvolvedores da plataforma Android. Antes de entender como o teste é feito na plataforma Android, consulte a arquitetura da plataforma Android para uma visão geral.

Em seguida, mergulhar em precisas as tecnologias disponíveis para você nesta seção, como o Vendor Test Suite (VTS) e sua miríade de tutoriais em vídeo e Codelab .

Observe também o específicas de segurança testar mecanismos disponíveis para detectar e endurecer seus dispositivos contra vulnerabilidades.

Para os testes de aplicativos, começar com os fundamentos de testes e conduzir o Android Testing Codelab usando as amostras fornecidas.

Finalmente, note testes básicos presubmit está disponível para você através de Repo Hooks que pode ser executado linters, verifique a formatação, e testes de unidade gatilho antes de prosseguir, como o upload de uma confirmação. Observe que esses ganchos estão desabilitados por padrão. Veja o Repo Hooks introdução para mais detalhes.

O que e como testar

Um teste de plataforma normalmente interage com um ou mais dos serviços do sistema Android, ou camadas Hardware Abstraction Layer (HAL), exercita as funcionalidades do assunto em teste e afirma a correção do resultado do teste.

Como tal, um teste de plataforma pode:

  1. exercitar APIs de framework por meio de framework de aplicativos; APIs específicos sendo exercitados podem incluir:
    • APIs públicas destinadas a aplicativos de terceiros
    • APIs ocultas destinadas a aplicativos privilegiados, ou seja, APIs de sistema
    • APIs privadas (@hide, ou protected, package private)
  2. invocar os serviços do sistema Android por meio de pastas brutas / proxies IPC diretamente
  3. interagir diretamente com HALs por meio de APIs de baixo nível ou interfaces IPC

Tipos 1 e 2 são tipicamente escritas como testes de instrumentação , enquanto o tipo 3 estão geralmente escrita como testes nativas usando o gtest quadro.

Para saber mais, veja nossos exemplos completos:

Familiarize-se com essas ferramentas, pois elas são intrínsecas aos testes no Android.

Pacote de teste de compatibilidade (CTS)

Android Compatibility Test Suite é um conjunto de vários tipos de testes, usados para garantir a compatibilidade de implementações quadro Android em todo parceiros OEM, e através de lançamentos de plataforma. O pacote também inclui testes de instrumentação e testes nativos (também usando o framework gtest).

O CTS e os testes de plataforma não são mutuamente exclusivos, e aqui estão algumas diretrizes gerais:

  • se um teste está afirmando a exatidão das funções / comportamentos da API da estrutura e deve ser aplicado entre os parceiros OEM, deve ser no CTS
  • se um teste se destina a capturar regressões durante o ciclo de desenvolvimento da plataforma e pode exigir permissão privilegiada para ser executado e pode ser dependente de detalhes de implementação (conforme lançado no AOSP), deve ser apenas testes de plataforma

Vendor Test Suite (VTS)

O Vendor Test Suite (VTS) automatiza HAL e OS kernel do teste. Para usar o VTS para testar uma implementação de sistema nativo Android, configure um ambiente de teste e teste um patch usando um plano VTS.

Infraestrutura de teste da Federação Comercial

Federação do Comércio (tradefed ou TF para o short) é uma estrutura de teste contínuo projetado para executar testes em dispositivos Android. O TF pode executar testes funcionais localmente, em sua mesa, no checkout da plataforma. Existem dois arquivos necessários para executar um teste em TF, uma fonte de teste java e uma configuração XML. Veja RebootTest.java e reboot.xml para exemplos.

Depurando

A depuração seção resume ferramentas úteis e comandos relacionados para depuração, detecção, e perfis do código plataforma Android nativo ao desenvolver recursos de nível da plataforma.