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

Analisar os resultados do laboratório de testes do Firebase

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Há várias maneiras de usar o Firebase Test Lab para executar testes em seu aplicativo Android, incluindo a interface de linha de comando , Android Studio , a IU do Test Lab no console do Firebase e a API de teste . Independentemente de como você deseja iniciar seus testes, os resultados são armazenados no projeto do Firebase que você especificar. Você pode explorar os resultados usando a API ToolResults , além de qualquer uma das ferramentas acima. Esta página descreve como revisar e analisar esses resultados de teste.

Conceitos chave

Para ver os resultados de todas as execuções de teste anteriores, selecione Test Lab no painel de navegação esquerdo do seu projeto no Firebase console. Esta página exibe todas as execuções de teste dos aplicativos que você testou com seu projeto usando o Test Lab.

Para revisar os resultados do teste, primeiro você precisa entender três conceitos:

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á.

As seções a seguir explicam como navegar pelos resultados do teste.

Interpretar os resultados do histórico de testes

Ao navegar para os resultados do teste selecionando Test Lab , você vê os resultados dos testes executados até o momento.

O histórico de testes é agrupado por aplicativo. Apenas as cinco matrizes de teste mais recentes são mostradas para cada aplicativo; se houver mais disponíveis, você pode clicar no link Todas as matrizes na parte inferior da lista de teste de aplicativo para ver a lista completa desse aplicativo.

Interpretar os resultados da matriz de teste

Ao iniciar um teste por meio da IU do Test Lab , você é redirecionado para uma página na qual pode ver sua matriz de teste e clicar em uma execução de teste específica para visualizar os resultados do teste. O Android Studio e o comando gcloud também fornecem um URL para a página de resultados da matriz de teste.

Em uma matriz de teste típica, você pode executar um teste em cerca de uma dúzia de dispositivos diferentes. Cada execução de teste pode ter um resultado diferente. Os resultados possíveis para qualquer execução de teste em uma matriz de teste incluem o seguinte:

  • PassadoTeste aprovado : Nenhuma falha foi encontrada.
  • FracassadoTeste falhou : Pelo menos uma falha foi encontrada.
  • inconclusivoTeste aprovado : os resultados do teste foram inconclusivos, possivelmente devido a um erro do Test Lab.
  • IgnoradoTeste aprovado : Os valores de dimensão selecionados para algumas execuções de teste na matriz eram incompatíveis. Isso ocorre quando os dispositivos selecionados são incompatíveis com um ou mais dos níveis de API do Android selecionados.

Para revisar os resultados de teste agregados para todas as matrizes de teste para um determinado aplicativo em seu projeto do Firebase, clique no nome do aplicativo, conforme mostrado no exemplo a seguir:

Exemplo de página de resultados da matriz de teste com apenas quatro execuções de testeResultados da matriz de teste

Isso leva você à lista de matrizes de teste do seu aplicativo, onde você pode clicar no nome de qualquer matriz de teste para ver os resultados da matriz de teste e clicar no nome do aplicativo (mostrado na caixa vermelha abaixo) para visualizar o lista de matrizes de teste para outros aplicativos associados ao seu projeto do Firebase.

Exemplo de página de lista de matrizes de teste Lista de matrizes de teste

Uma matriz de teste pode passar, falhar ou ser inconclusiva. Uma matriz de teste é mostrada como falha ou inconclusiva se qualquer execução de teste nessa matriz falhar ou for inconclusiva.

Interpretar os resultados do teste Robo

Se você executou seus testes com o Robo, seus resultados incluem vídeos e capturas de tela do Robo rastreando sua IU, além das métricas de teste usuais. Esses vídeos e capturas de tela incluem indicações visuais das ações que Robo realizou durante o rastreamento, semelhantes ao recurso 'Mostrar toques' no Android. Você pode usar as indicações para ajudá-lo a acompanhar o progresso do Robo e reproduzir quaisquer bugs que ele possa descobrir.

Exemplo de vídeo de resultados do teste Robo

Resultados do teste robótico

Interpretar os resultados de uma única execução de teste

Na página de resultados da matriz de teste, clique em uma das execuções de teste para ver o resultado dessa execução de teste específica.

Exemplo de página de resultados de execução de teste Resultados da execução do teste

Nesta página, você pode ver o tempo necessário para cada execução de teste. Você também pode ver os resultados de casos de teste específicos que correspondem aos métodos em seu APK de teste (para testes de instrumentação) e resultados de teste detalhados, incluindo logs de teste, capturas de tela e vídeos. Para o teste Robo , os resultados detalhados do teste também incluem um mapa de atividades que mostra graficamente os caminhos da interface do usuário que foram visitados pelo teste Robo.

Resultados do teste de instrumentação particionada

Para ajudá-lo a interpretar os resultados dos testes instrumentados, o Test Lab separa cada teste em sua própria página de relatório detalhada, completa com rastreamentos de pilha, logs e vídeos. Esse recurso funciona independentemente de você estar usando o Android Orchestrator ou não.

Exemplo de página de resultados do caso de teste resultados do caso de teste

Interpretar resultados de acessibilidade

Os testes Robo usam o Android Accessibility Scanner para detectar problemas de acessibilidade em seu aplicativo (observe que você também pode executar uma verificação localmente em seu dispositivo). Para obter instruções sobre como analisar e interpretar os resultados de acessibilidade do seu teste Robo, visite Introdução ao Accessibility Scanner .

Para obter informações gerais sobre como melhorar a acessibilidade do seu aplicativo, visite a documentação de acessibilidade do desenvolvedor Android .

Métricas de desempenho

Os testes executados em dispositivos físicos também retornam métricas de desempenho:

Métrica Configuração de dispositivo necessária
Tempo de inicialização do aplicativo API 19+
utilização do CPU API 21+
Uso de memória
Atividade de rede
Quadros por segundo API 21+ e inclui um SurfaceView
Desempenho gráfico API 23+

Detalhes de desempenho gráfico

O relatório de desempenho gráfico contém estatísticas sobre várias métricas gráficas principais:

  • Missed Vsync: O número de eventos Vsync perdidos, dividido pelo número de quadros que levaram mais de 16 ms para renderizar.
  • Alta latência de entrada: o número de eventos de entrada que levaram mais de 24 ms, dividido pelo número de quadros que levaram mais de 16 ms para renderizar.
  • Thread lento da interface do usuário: o número de vezes que o thread da interface do usuário levou mais de 8 ms para ser concluído, dividido pelo número de quadros que levaram mais de 16 ms para renderizar.
  • Comandos de desenho lento: o número de vezes que enviar comandos de desenho para a GPU levou mais de 12 ms, dividido pelo número de quadros que levaram mais de 16 ms para renderizar.
  • Carregamentos de bitmap lentos: o número de vezes que o bitmap levou mais de 3,2 ms para carregar na GPU dividido pelo número de quadros que levaram mais de 16 ms para renderizar.
  • Tempo de renderização: a distribuição dos tempos de renderização para cada quadro da execução do teste. Tempos de renderização superiores a 32 milissegundos causam uma desaceleração perceptível da interface do usuário. Tempos de renderização de mais de 700 indicam quadros congelados. Os dados de renderização são coletados das dumpsys graphicsstats .

Resultados de teste detalhados

Os resultados detalhados do teste ficam disponíveis por 90 dias após a execução do teste e são armazenados em um bucket do Google Cloud Storage (mas também são visíveis no console do Firebase). Você pode visualizar resultados de teste detalhados no intervalo do Cloud Storage ao clicar em Test results na página de resultados de execução do teste. Quando os resultados detalhados do teste não estiverem mais disponíveis, você ainda poderá ver quais testes foram aprovados ou reprovados.

Para reter resultados de teste detalhados por mais de 90 dias, você precisa enviar esses resultados de teste para um bucket do Cloud Storage de sua propriedade usando a opção de linha de comando --results-bucket gcloud . Em seguida, você pode definir a configuração Age para determinar por quanto tempo os resultados são armazenados em seu intervalo do Cloud Storage. Consulte Condições do ciclo de vida para obter informações sobre como alterar a configuração de Idade .