Primeiros passos com o Firebase Test Lab para iOS

Com o Firebase Test Lab, você pode fazer um teste de qualidade do seu app em diversos dispositivos e configurações. Este guia fornece uma visão geral dos principais conceitos do Test Lab, ofertas para o iOS e instruções sobre como iniciar testes.

Para 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 relação aos dispositivos e configurações que você selecionou, o Test Lab executa o teste no seu app 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) em que você realiza um teste, como um smartphone, tablet ou wearable. Os dispositivos em uma matriz de teste são identificados por modelo, versão do SO, orientação da tela e localidade (também conhecida como configurações geográficas e de idioma).
Teste, execução do teste
Um teste (ou um conjunto de casos de teste) a ser executado em um dispositivo. É possível executar um teste por dispositivo ou, opcionalmente, fragmentar o teste e executar os casos de teste em diferentes dispositivos.
Matriz de teste
Contém os status e resultados de teste das execuções do teste. Se alguma execução do teste em uma matriz falhar, a matriz inteira falhará.

Etapa 1: preparar o teste para fazer upload no Test Lab

É possível executar os seguintes testes com o Test Lab. Todos os tipos de teste podem ser executados por até 45 minutos em dispositivos físicos, e qualquer exceção não identificada causará uma falha no teste.

  • XCTest (incluindo XCUITests): um teste de unidade que você criou usando o framework XCTest. Acesse Criar um XCTest para receber instruções sobre como modificar um XCTest para executá-lo com o Test Lab.

  • Teste de loop de jogo: um teste que usa um "modo de demonstração" para simular ações de jogadores em apps de jogos. Essa é uma maneira rápida e escalonável de verificar se o jogo tem um bom desempenho para os usuários. Quando quiser executar um teste de loop de jogo, é possível:

    • Escreva testes nativos no mecanismo do jogo.

    • Evite escrever o mesmo código para diferentes IUs ou frameworks de teste.

    • Opcionalmente, crie vários loops para serem executados em uma única execução do teste. Também é possível organizar loops usando rótulos para que você possa monitorá-los e executar loops específicos novamente.

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

Etapa 2: escolher uma ferramenta para executar seu teste

É possível escolher as seguintes ferramentas para executar o teste:

  • Com o Console do Firebase, é possível fazer upload de um app e iniciar o teste em qualquer lugar. Consulte Testar com o Console do Firebase para receber instruções sobre como usar essa ferramenta.

  • Com a interface de linha de comando (CLI) do gcloud, você pode executar os testes usando a linha de comando de modo interativo. Esse é o método ideal para a criação de scripts como parte do processo automatizado de desenvolvimento e testes. Consulte Testar com a CLI gcloud para receber instruções sobre como usar essa ferramenta.

  • Antes de testar em dispositivos reais, execute seu teste localmente em um simulador para garantir que ele tenha o comportamento esperado. Consulte Testar localmente para ver instruções.

Etapa 3: especificar os dispositivos de teste

Com o Test Lab, é possível executar o teste relação ao seu app em uma grande variedade de dispositivos e modelos do 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 os testes, todos os resultados do teste são gerenciados pelo Test Lab e podem ser vistos on-line.

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 teste, incluindo vídeos específicos de caso de teste, capturas de tela, número de testes que foram aprovados, reprovados ou receberam resultados instáveis e muito mais.

Os resultados brutos do teste contêm registros de teste e detalhes de falhas de apps 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 vai criar um para você sem custos.

Para mais detalhes, consulte Analisar os resultados do Firebase Test Lab.

Limpeza dos dispositivos

O Google leva a segurança dos dados do seu app muito a sério. Seguimos as práticas recomendadas padrão do setor para remover dados do app e redefinir as configurações do sistema para dispositivos físicos após cada execução de teste, garantindo que eles estejam prontos para executar novos testes. Nos dispositivos onde a restauração de uma imagem de recuperação personalizada é possível, isso é feito entre as execuções de teste.

No caso dos dispositivos virtuais usados pelo Test Lab, as instâncias são excluídas após o uso. Assim, cada execução de teste usa uma nova instância de dispositivo virtual.


Como permitir que dispositivos do Test Lab acessem servidores particulares de back-end

Alguns apps para dispositivos móveis precisam se comunicar com os serviços de back-end particulares para funcionar corretamente durante os testes. Se os servidores de back-end estiverem protegidos por regras de firewall, será possível permitir o acesso aos dispositivos físicos e virtuais do Test Lab usando os blocos de endereços IP abaixo para abrir rotas que passam pelo firewall.

Publicidade em dispositivos móveis

O Test Lab oferece uma infraestrutura escalonável que automatiza os testes de apps e, infelizmente, esse recurso pode ser usado indevidamente por apps maliciosos desenvolvidos para gerar receita fraudulenta com anúncios.

Para minimizar esse problema, confira essas informações:

  • Se você usa ou trabalha com provedores de publicidade digital terceirizados (por exemplo, redes de anúncios ou plataformas de demanda), recomendamos que você use anúncios de teste em vez de reais durante o desenvolvimento do app e os testes.

  • Caso você precise usar anúncios reais nos testes, peça aos provedores de publicidade digital com que trabalha para filtrarem qualquer receita e todo o tráfego correspondente gerado no Test Lab. Eles podem fazer isso usando os blocos de endereços IP abaixo. Não é preciso pedir isso aos provedores de anúncios que são do Google. Nesses casos, o Test Lab cuida disso por você.

Endereços IP usados por dispositivos do Test Lab

Todo o tráfego de rede gerado pelos dispositivos do Test Lab vem dos blocos de endereços IP a seguir. Também é possível acessar essa lista usando o comando gcloud beta firebase test ip-blocks list na CLI gcloud. A lista é atualizada em média uma vez por ano.

Plataforma e tipo de dispositivo Bloco de endereços IP CIDR
Dispositivos físicos Android e iOS, dispositivos Arm virtuais

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 em 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 (sem ARM)

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)