Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Introdução ao Firebase Test Lab para iOS

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 a qualidade do seu aplicativo em uma variedade de dispositivos e configurações. Este guia fornece uma visão geral dos principais conceitos do Test Lab, ofertas de iOS e instruções sobre como iniciar o teste.

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

Principais conceitos e termos

Quando você executa um teste ou um conjunto de casos de teste em dispositivos e configurações selecionados, 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 sistema operacional, orientação da tela e localidade (também conhecida como geografia e configurações de idioma).
Teste, execução de teste
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 diferentes dispositivos.
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á.

Passo 1 : Prepare seu teste para carregar no Test Lab

Você pode executar os seguintes testes com o Test Lab. Observe que todos os tipos de teste podem ser executados por no máximo 45 minutos em dispositivos físicos, e qualquer exceção não capturada causará falha no teste.

  • XCTest (incluindo XCUITests) : Um teste de unidade que você escreveu usando a estrutura XCTest . Visite Criar um XCTest para obter instruções sobre como modificar um XCTest para ser executado com o Test Lab.

  • 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 o jogo tem um bom desempenho para os usuários. Ao optar por executar um teste de loop de jogo, você pode:

    • Escreva testes nativos para 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. Você também pode organizar loops usando rótulos para poder acompanhá-los e executar novamente loops específicos.

    Visite Executar um teste de loop de jogo para obter instruções sobre como executar seu teste no Test Lab.

Etapa 2 : escolha uma ferramenta para executar seu teste

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

  • O console do Firebase permite fazer upload de um aplicativo e iniciar o teste de qualquer lugar. Consulte Testar com o Firebase console para obter instruções sobre como usar essa ferramenta.

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

  • Antes de testar em dispositivos reais, execute seu teste localmente em um simulador para garantir que ele se comporte conforme o esperado. Consulte Testar localmente para obter instruções.

Passo 3 : Especifique os dispositivos de teste

Com o Test Lab, você pode executar seu teste em seu aplicativo em uma ampla variedade de dispositivos e modelos iOS hospedados em um data center do Google. Para saber mais, consulte Dispositivos disponíveis.

Etapa 4 : revisar os resultados do teste

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

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

Os resultados brutos do teste contêm logs 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 criará um para você sem nenhum custo.

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

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 podemos atualizar com uma imagem de recuperação personalizada, vamos um passo além, 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.


Permitir que os dispositivos do Test Lab 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ê pode permitir o acesso aos dispositivos físicos e virtuais do Test Lab usando os blocos de endereços IP abaixo para abrir rotas através de seu 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 de anúncios fraudulentos.

Para atenuar este problema:

  • Se você usa ou trabalha com provedores de publicidade digital terceirizados (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ços IP abaixo . Você não precisa notificar os provedores de anúncios do Google; O Test Lab cuida disso para você.

Endereços IP usados ​​por dispositivos Test Lab

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

Tipo de plataforma e dispositivo Bloco de endereço IP CIDR
Dispositivos físicos Android e iOS

70.32.128.0/19 (adicionado em 02-2022)

108.177.6.0/23

108.177.18.192/26 (adicionado em 02-2022)

108.177.29.64/27 (expandido 02-2022)

108.177.31.160/27 (adicionado em 02-2022)

199.36.156.8/29 (adicionado em 02-2022)

199.36.156.16/28 (adicionado em 02-2022)

209.85.131.0/27 (adicionado em 02-2022)

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

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

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

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

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

Dispositivos virtuais Android

34.68.194.64/29 (adicionado em 11-2019)

34.69.234.64/29 (adicionado em 11-2019)

34.73.34.72/29 (adicionado em 11-2019)

34.73.178.72/29 (adicionado em 11-2019)

34.74.10.72/29 (adicionado em 02-2022)

34.136.2.136/29 (adicionado em 02-2022)

34.136.50.136/29 (adicionado em 02-2022)

34.145.234.144/29 (adicionado em 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 em 7-2019)

35.245.243.240/29 (adicionado em 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 em 02-2022)