O Google está comprometido em promover a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Teste da plataforma Android

Este conteúdo é voltado para desenvolvedores de plataformas Android. Antes de entender como os testes são feitos na plataforma Android, consulte a arquitetura da plataforma Android para obter uma visão geral.

Em seguida, mergulhe nas tecnologias precisas disponíveis para você nesta seção, como o Vendor Test Suite (VTS) e seus inúmeros tutoriais em vídeo e codelab .

Observe também os mecanismos de teste específicos de segurança disponíveis para detectar e proteger seus dispositivos contra vulnerabilidades.

Para testes de aplicativos, comece com os Fundamentos dos testes e conduza o Android Testing Codelab usando as amostras fornecidas.

Por fim, observe que o teste básico de pré-envio está disponível através de Ganchos de Repo que podem executar linters, verificar formatação e acionar testes de unidade antes de continuar, como o upload de uma confirmação. Observe que esses ganchos estão desativados por padrão. Veja a introdução dos Repo Hooks para mais detalhes.

O que e como testar

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

Como tal, um teste de plataforma pode:

  1. exercitar APIs de estrutura via estrutura de aplicativo; APIs específicas sendo exercidas podem incluir:
    • APIs públicas destinadas a aplicativos de terceiros
    • APIs ocultas destinadas a aplicativos privilegiados, nomeadamente APIs do sistema
    • APIs privadas (@hide, ou protected, package private)
  2. invocar serviços do sistema Android por meio de proxies brutos de fichário / IPC diretamente
  3. interaja diretamente com HALs por meio de APIs de baixo nível ou interfaces IPC

Os tipos 1 e 2 geralmente são escritos como testes de instrumentação , enquanto o tipo 3 geralmente é escrito como testes nativos usando a estrutura gtest .

Para saber mais, consulte nossos exemplos de ponta a ponta:

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

Conjunto de Teste de Compatibilidade (CTS)

O Android Compatibility Test Suite é um conjunto de vários tipos de testes, usados ​​para garantir a compatibilidade das implementações da estrutura do Android entre parceiros OEM e versões da plataforma. O conjunto também inclui testes de instrumentação e testes nativos (também usando a estrutura gtest).

Os testes CTS e 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 parceiros OEM, deve estar 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 executar, e pode depender dos detalhes da implementação (conforme lançado no AOSP), deve ser apenas testes de plataforma

VTS (Conjunto de Testes de Fornecedores)

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

Infra-estrutura de teste da Federação do Comércio

A Trade Federation (tradefed ou TF para abreviar) é uma estrutura de teste contínua projetada para executar testes em dispositivos Android. O TF pode executar testes funcionais localmente, em sua mesa, no check-out da plataforma. Existem dois arquivos necessários para executar um teste no TF, uma fonte de teste java e uma configuração XML. Consulte RebootTest.java e reboot.xml para obter exemplos.

Depuração

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