Fazer testes com Dispositivos virtuais Android

Neste documento, descrevemos os AVDs do Test Lab, incluindo benefícios e limitações conhecidas. Também fornecemos recomendações sobre como testar seu app durante o ciclo de vida de desenvolvimento. Os AVDs do Test Lab são semelhantes aos AVDs do Android Studio, mas são otimizados para desempenho com testes na nuvem. Por isso, há algumas diferenças entre os dois.

Os AVDs Test Lab com um sufixo .arm ou (ARM) são emuladores avançados que oferecem os seguintes benefícios:

  • Tempo de execução de teste mais rápido

  • Tamanhos e densidades de tela alinhados aos AVDs do Android Studio para manter a consistência

  • Gráficos acelerados com suporte a GPU

A tabela a seguir descreve os benefícios de usar dispositivos virtuais:

Benefício Descrição Casos de uso
Alta disponibilidade É possível executar testes e receber os resultados deles mais rapidamente ao usar os dispositivos virtuais. Como eles são criados sob medida, seus testes começam quase que imediatamente, proporcionando uma validação rápida do seu app. Testar pequenas atualizações no app ou fazer testes de regressão
Testes mais longos Já os dispositivos virtuais oferecem testes\ de até 60 minutos. Os testes em dispositivos físicos são limitados a uma duração de 45 minutos em cada dispositivo. Fazer testes mais longos
Custos mais baixos O preço dos dispositivos virtuais é de US$ 1 por hora para cada dispositivo virtual usado para testar o app. Fazer testes diários usando sistemas de integração contínua ou antes de verificar o código. Para saber mais, consulte Níveis de uso, cotas e preços do Test Lab.

Testar seu app com dispositivos virtuais

É possível testar seu app com dispositivos virtuais da mesma forma que você faz com dispositivos físicos. É possível selecionar dispositivos virtuais para os testes ao configurar uma matriz de teste. Para saber mais sobre como executar testes com Test Lab, consulte Comece a testar para Android com Firebase Test Lab.

Ver modelos e APIs suportados

Para conferir os modelos e APIs de AVD compatíveis com Test Lab, execute o seguinte comando:

gcloud firebase test android models list --filter=virtual

Práticas recomendadas para testar seu app

Os dispositivos virtuais aumentam a variedade de opções ao testar seu app com Test Lab. Recomendamos usar as práticas recomendadas abaixo para testar seu app durante todo o ciclo de vida de desenvolvimento:

Use o emulador do Android Studio ou um dispositivo físico anexado

Ao desenvolver seu app, use o emulador do Android Studio ou um dispositivo físico anexado para examinar cada build e fazer a validação inicial. Se você precisar de testes de instrumentação, também será possível executá-los no Android Studio em dispositivos físicos ou virtuais fornecidos pelo Test Lab.

Use sistemas de CI em cada mudança de código ao trabalhar em projetos compartilhados

Se você trabalha em um projeto grande ou contribui em projetos compartilhados usando o GitHub ou um site semelhante, recomendamos usar sistemas de integração contínua (CI). Teste seus apps em dispositivos virtuais toda vez que o sistema de CI for executado ou antes de cada solicitação de envio. Para saber mais sobre o uso de Test Lab com sistemas de CI, consulte Usar Test Lab para Android com sistemas de integração contínua.

Testar seu app em dispositivos físicos com Test Lab antes de lançar atualizações significativas

Antes de lançar atualizações do app com mudanças significativas na IU e na funcionalidade, recomendamos que você use o Test Lab para testar o app em dispositivos físicos. Isso ajuda a garantir que seu app continue estável e tenha um bom desempenho em uma grande variedade de dispositivos físicos conhecidos. Os testes em dispositivos físicos também garantem a cobertura de testes para qualquer funcionalidade de app que dependa de recursos de dispositivos físicos que não são simulados por dispositivos virtuais. Para saber mais sobre esses recursos, consulte Limitações conhecidas.

Atualizações de dispositivos virtuais

Periodicamente, a equipe do Android adiciona novas imagens de dispositivos virtuais, descontinua as antigas e atualiza as existentes. Aplicamos essas atualizações às imagens do nosso dispositivo virtual para ajudar a garantir o teste de versões atualizadas do Android que refletem a experiência dos usuários.

Em casos raros, essas atualizações podem causar falhas inesperadas. Quando uma atualização potencialmente problemática é encontrada, o Test Lab inclui informações nas notas da versão. Como prática recomendada, use frameworks de teste (por exemplo, o Espresso) que são robustos para essas mudanças sempre que possível. Caso contrário, recomendamos segmentar dispositivos virtuais ARM, que são atualizados com menos frequência.

Limitações conhecidas

Alguns recursos de dispositivos físicos ainda não são simulados por dispositivos virtuais ou são simulados com algumas limitações. A tabela a seguir resume os recursos que estão indisponíveis em dispositivos virtuais no momento ou que estão disponíveis com certas limitações:

Recurso Detalhes
Interfaces binárias do aplicativo (ABI) Nem todos os dispositivos oferecem suporte a todas as ABIs. Se você estiver desenvolvendo com o Android NDK, gere um código para as ABIs suportadas pelos dispositivos desejados. Consulte a seção Dispositivos disponíveis em Test Lab. Para saber mais sobre o gerenciamento de ABIs, consulte ABIs do Android.

Observação: se um teste na matriz estiver marcado como inválido, isso pode ter ocorrido porque o app depende de código nativo não suportado pela ABI do dispositivo.

Desempenho gráfico Os dispositivos virtuais Nexus e Pixel usam a renderização de elementos gráficos com software. Aplicativos com uso intensivo de gráficos podem ter um desempenho menor. Se o app for desse tipo, use SmallPhone.arm, MediumPhone.arm ou dispositivos físicos.
APIs gráficas O OpenGL ES 3.x não é suportado em dispositivos com um nível de API inferior a 29. Dispositivos mais recentes não são 100% compatíveis com as APIs OpenGL/Vulkan. Você pode notar pequenas diferenças nos gráficos.
App Google Play Store O app Google Play Store não é compatível com dispositivos virtuais Arm.
Funcionalidade de realidade aumentada (RA) Os testes da funcionalidade de realidade aumentada (RA) não são compatíveis com dispositivos virtuais.
Níveis de API mais antigos Test Lab Os dispositivos virtuais Arm não têm suporte a níveis de API inferiores a 26.

Próximas etapas