Participe do Firebase Summit on-line e presencialmente em 18 de outubro de 2022. Veja como usar o Firebase pode ajudar você a acelerar o desenvolvimento de apps, a lançar seu aplicativo com confiança e a fazer o escalonamento com facilidade. Inscreva-se agora

Comece a testar para Android com o Firebase Test Lab

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Firebase Test Lab permite testar seu app em vários dispositivos e configurações. Este guia de introdução fornece um caminho de implementação para você seguir, bem como uma introdução às ofertas do Test Lab para Android.

Para obter informações sobre cotas e planos de preços do Test Lab, consulte Uso, cotas e preços .

Conceitos chave

Quando você executa um teste ou um conjunto de casos de teste em dispositivos e configurações que você selecionou, o Test Lab executa o teste em seu aplicativo em um lote e exibe os resultados como uma matriz de teste .

Dispositivos × Execuções de Teste = Matriz de Teste

Dispositivo
Um dispositivo físico ou virtual (somente Android) no qual você executa um teste, como um telefone, tablet ou dispositivo vestível. Os dispositivos em uma matriz de teste são identificados pelo modelo do dispositivo, versão do SO, orientação da tela e localidade (também conhecido como configurações de geografia e idioma).
Teste, teste de execução
Um teste (ou um conjunto de casos de teste) a ser executado em um dispositivo. Você pode executar um teste por dispositivo ou, opcionalmente, fragmentar o teste e executar seus casos de teste em dispositivos diferentes.
Matriz de teste
Contém os status e resultados de teste para suas execuções de teste. Se qualquer execução de teste em uma matriz falhar, toda a matriz falhará.

Etapa 1 : prepare seu teste para fazer o upload para o Test Lab

Tipos de teste disponíveis

Você pode executar os seguintes testes com o Test Lab. Observe que todos os tipos de teste estão limitados à execução de 45 minutos em dispositivos físicos e 60 minutos em dispositivos virtuais. Qualquer exceção não capturada causará uma falha de teste.

  • Teste de instrumentação ou teste de unidade instrumentado : um teste que você escreveu usando as estruturas Espresso ou UI Automator . Com esse teste, você pode fazer declarações explícitas sobre o estado do seu aplicativo para verificar a funcionalidade correta usando AndroidJUnitRunnerAPIs .

  • Teste Robo : um teste automatizado que analisa a interface do usuário do seu aplicativo e a explora metodicamente simulando as atividades do usuário, sem exigir que você escreva nenhum código. Visite Sobre os testes Robo para obter mais informações.

  • Teste de loop de jogo : um teste que usa um "modo de demonstração" para simular as ações do jogador em aplicativos de jogos. Essa é uma maneira rápida e escalável de verificar se seu jogo funciona bem para os usuários. Ao optar por executar um teste de loop de jogo, você pode:

    • Escreva testes nativos para o seu mecanismo de jogo

    • Evite escrever o mesmo código para diferentes UIs ou estruturas de teste

    • Opcionalmente, crie vários loops para executar em uma única execução de teste (visite Sobre os testes de loop de jogo para saber mais). Você também pode organizar loops usando rótulos para poder acompanhá-los e executar novamente loops específicos.

    Consulte Executar um teste de loop de jogo para obter instruções sobre como executar este teste com o Test Lab.

Ferramentas para executar seu teste

Você pode escolher as seguintes ferramentas para executar seu teste:

  • Recomendado para usuários iniciantes : o console do Firebase permite fazer upload de um aplicativo e iniciar testes no navegador da Web. Consulte Testar com o console do Firebase para obter instruções sobre como executar testes usando esta ferramenta.

  • A integração do Android Studio permite testar seu aplicativo sem sair do ambiente de desenvolvimento. Consulte Testar com o Android Studio para obter instruções sobre como executar testes usando esta ferramenta.

  • A interface de linha de comando gcloud permite que você execute testes a partir da linha de comando de forma interativa e também é adequada para scripts como parte de seu processo automatizado de compilação e teste. Consulte Testar com a CLI do gcloud para obter instruções sobre como executar testes usando esta ferramenta.

Você também pode testar seu aplicativo gratuitamente com o Test Lab ao fazer upload e publicar os arquivos APK do seu aplicativo na Play Store usando o canal alfa ou beta. Para obter mais informações, consulte Usar relatórios de pré-lançamento para identificar problemas e testes Robo .

Etapa 2 : escolha seu dispositivo de teste

O Test Lab oferece suporte a testes em várias marcas e modelos de dispositivos Android instalados e executados em um data center do Google. Testar em dispositivos no Test Lab ajuda você a detectar problemas que podem não ocorrer ao testar seu app usando emuladores no Android Studio. Para saber mais, consulte Dispositivos disponíveis.

Etapa 3 : revisar os resultados do teste

Independentemente de como você inicia seus testes, todos os resultados de seus testes são gerenciados pelo Test Lab e podem ser visualizados online.

O resumo do resultado do teste é armazenado automaticamente e pode ser visualizado no Firebase console. Ele contém os dados mais relevantes para o seu teste, incluindo vídeos específicos do caso de teste, capturas de tela, o número de testes que passaram, falharam ou obtiveram resultados instáveis ​​e muito mais.

Os resultados brutos do teste contêm registros de teste e detalhes de falha do aplicativo e são armazenados automaticamente em um bucket do Google Cloud. Se você especificar um bucket, será responsável pelo custo do armazenamento. Se você não especificar um bucket, o Test Lab cria um para você sem nenhum custo.

Para obter mais detalhes, consulte Analisar resultados do laboratório de testes do Firebase.

Ao iniciar um teste no Android Studio , você também pode revisar os resultados do teste de dentro do seu ambiente de desenvolvimento.

Limpeza do dispositivo

O Google leva a segurança dos dados do seu aplicativo muito a sério. Seguimos as práticas recomendadas padrão do setor para remover dados de aplicativos e redefinir as configurações do sistema para dispositivos físicos após cada execução de teste para garantir que eles estejam prontos para executar novos testes. Para dispositivos que podem ser atualizados com uma imagem de recuperação personalizada, vamos um passo adiante, atualizando esses dispositivos entre as execuções de teste.

Para os dispositivos virtuais usados ​​pelo Test Lab, as instâncias de dispositivo são excluídas após serem usadas para que cada execução de teste use uma nova instância de dispositivo virtual.


Test Lab e Google Play Services

Os dispositivos do Test Lab geralmente são executados na versão mais recente do SDK do Google Play Services, mas alguns podem precisar de alguns dias para serem atualizados após o lançamento de uma nova versão do SDK. Observe que você pode encontrar problemas de compatibilidade com alguns dispositivos.

Permitir que dispositivos de teste acessem servidores de back-end privados

Alguns aplicativos móveis precisam se comunicar com serviços de back-end privados para funcionar corretamente durante o teste. Se seus servidores de back-end estiverem protegidos por regras de firewall, você poderá permitir o acesso aos dispositivos físicos e virtuais do Test Lab usando os blocos de endereço IP abaixo para abrir rotas pelo firewall.

Publicidade móvel

O Test Lab fornece uma infraestrutura escalável que automatiza o teste de aplicativos e, infelizmente, esse recurso pode ser mal utilizado por aplicativos mal-intencionados projetados para gerar receita fraudulenta de anúncios.

Para mitigar esse problema:

  • Se você usa ou trabalha com provedores de publicidade digital de terceiros (por exemplo, redes de anúncios ou plataformas de demanda), é recomendável usar anúncios de teste em vez de anúncios reais durante o desenvolvimento e teste do aplicativo.

  • Se você precisar usar anúncios reais em seu teste, notifique os provedores de publicidade digital com os quais você trabalha para filtrar as receitas e todo o tráfego correspondente gerado pelo Test Lab usando os blocos de endereço IP abaixo . Você não precisa notificar os provedores de anúncios de propriedade do Google; O Test Lab cuida disso para você.

Endereços IP usados ​​pelos dispositivos do Test Lab

Todo o tráfego de rede gerado pelos dispositivos do Test Lab se origina dos seguintes blocos de endereço IP . Você também pode acessar essa lista usando o comando gcloud gcloud beta firebase test ip-blocks list na CLI do gcloud . A lista é atualizada em média uma vez por ano.

Plataforma e tipo de dispositivo Bloco de endereço IP CIDR
Dispositivos físicos Android e iOS

70.32.128.0/19 (adicionado 02-2022)

108.177.6.0/23

108.177.18.192/26 (adicionado 02-2022)

108.177.29.64/27 (expandido 02-2022)

108.177.31.160/27 (adicionado 02-2022)

199.36.156.8/29 (adicionado 02-2022)

199.36.156.16/28 (adicionado 02-2022)

209.85.131.0/27 (adicionado 02-2022)

2001:4860:1008::/48 (adicionado 02-2022)

2001:4860:1018::/48 (adicionado 02-2022)

2001:4860:1019::/48 (adicionado 02-2022)

2001:4860:1020::/48 (adicionado 02-2022)

2001:4860:1022::/48 (adicionado 02-2022)

dispositivos virtuais Android

34.68.194.64/29 (adicionado 11-2019)

34.69.234.64/29 (adicionado 11-2019)

34.73.34.72/29 (adicionado 11-2019)

34.73.178.72/29 (adicionado 11-2019)

34.74.10.72/29 (adicionado 02-2022)

34.136.2.136/29 (adicionado 02-2022)

34.136.50.136/29 (adicionado 02-2022)

34.145.234.144/29 (adicionado 02-2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (adicionado 7-2019)

35.245.243.240/29 (adicionado 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Os blocos de IP do dispositivo não estão mais sendo usados

74.125.122.32/29 (removido em 02-2022)

216.239.44.24/29 (removido 02-2022)