Comece a usar o Firebase Test Lab para iOS

O Firebase Test Lab permite testar a qualidade do seu app em vários dispositivos e configurações. Este guia fornece uma visão geral dos principais conceitos do Test Lab, ofertas do iOS e instruções sobre como começar a testar.

Para obter informações sobre quotas teste de laboratório e planos de preços, consulte Uso, cotas, e preços .

Principais conceitos e termos

Quando você executar um teste ou um conjunto de casos de teste contra dispositivos e configurações que você selecionou, Test Lab executa o teste contra a sua aplicação em um lote, em seguida, 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á.

Passo 1: Prepare o seu teste para o upload para Test Lab

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

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

  • Jogo circuito de teste: Um teste que usa um "modo de demonstração" para ações do jogador simular em jogos apps. 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. Você também pode organizar loops usando rótulos para poder acompanhá-los e executar novamente loops específicos.

    Visita Executar um teste Jogo loop para obter instruções sobre como executar o teste no Test Lab.

Passo 2: Escolha uma ferramenta para executar o teste

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

  • O console Firebase permite fazer upload de um aplicativo e iniciar o teste de qualquer lugar. Veja teste com o console Firebase para obter instruções sobre como utilizar esta ferramenta.

  • A interface de linha de comando gcloud (CLI) permite que você execute testes na linha de comando interativa, e também é bem adequado para scripting como parte de sua compilação automatizada e processo de teste. Veja teste com o CLI gcloud para obter instruções sobre como utilizar esta ferramenta.

  • Antes de testar em dispositivos reais, executar o teste localmente em um simulador para se certificar de que se comporta como pretendido. Veja Teste localmente para obter instruções.

Passo 3: Especificar 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.

Passo 4: resultados do teste avaliação

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 resultado do teste é automaticamente armazenados e podem ser vistos no console Firebase. 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 do teste crus contêm registros de teste e detalhes da falha aplicativo, e é automaticamente armazenada em um balde 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 mais detalhes, consulte Analisar os Resultados do Firebase teste de laboratório.

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.


Permitir que 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 os servidores de back-end são protegidos por regras de firewall, você pode permitir o acesso de dispositivos físicos e virtuais de teste de laboratório usando os blocos de endereços IP abaixo às rotas abertas 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 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ê deve usar anúncios reais em seu teste, notificar os provedores de publicidade digital que trabalham com você para filtrar as receitas e todo o tráfego correspondente gerado a partir 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 por dispositivos de teste de laboratório origina os seguintes blocos de endereços IP . Note que você também pode acessar esta lista usando o gcloud beta firebase test ip-blocks list de comando no CLI gcloud. A lista é atualizada periodicamente (uma vez por ano em média).

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

108.177.6.0/23

70.32.147.112/28 (adicionado 03-2020)

74.125.122.32/29 (adicionado 04-2020)

108.177.29.80/28 (adicionado 04-2020)

216.239.44.24/29 (adicionado 04-2020)

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)

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)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29