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.
Embora os AVDs do Test Lab sejam semelhantes aos AVDs do Android Studio, há algumas diferenças entre eles. Por exemplo, os AVDs no Test Lab têm uma conexão de dados emulada em vez de uma conexão Wi-Fi.
Os AVDs do 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
O uso de AVDs com um sufixo .arm
ou (ARM) oferece as
seguintes vantagens em relação a outros tipos de dispositivos físicos:
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 | Os testes em dispositivos físicos são limitados a uma duração de 45 minutos em cada dispositivo. Já os dispositivos virtuais oferecem testes de até 60 minutos. | 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 sobre isso, 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. Basta selecionar dispositivos virtuais ao definir as dimensões para configurar uma matriz de teste. Para saber mais sobre como executar testes com o Test Lab, consulte Comece a testar para Android com o Firebase Test Lab.
Ver modelos e APIs suportados
Para ver os modelos e APIs de AVD suportados pelo 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 quando você testa seu app com o Test Lab. Recomendamos usar as práticas recomendadas nesta seção para testar seu app durante todo o ciclo de vida de desenvolvimento.
Usar 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.
Usar 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 serviço 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 usar o Test Lab com sistemas de CI, consulte este link.
Testar seu app em dispositivos físicos com o 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. Para ver mais informações, consulte
Dispositivos disponíveis no Test Lab.
Para saber mais sobre o gerenciamento de ABIs, consulte ABIs do Android.
Para saber quais ABIs são suportadas por um dispositivo, consulte
Verificar os dispositivos de teste disponíveis.
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 vão ter
um desempenho menor. Se o app for desse tipo,
use os modelos SmallPhone.arm e MediumPhone.arm
ou dispositivos físicos.
|
Gravação de tela | A gravação de tela nos dispositivos Nexus e Pixel é feita a 1 frame por segundo. |
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. Talvez você note pequenas diferenças nos elementos gráficos. |