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 no seu aplicativo Android, incluindo a interface de linha de comando , o Android Studio , a IU do Test Lab no console do Firebase e a API Testing . Independentemente de você optar por iniciar seus testes, os resultados serã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 que você selecionou, 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 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á.

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 do aplicativo para ver a lista completa desse aplicativo.

Interpretar os resultados da matriz de teste

Ao iniciar um teste pela interface do Test Lab , você é redirecionado para uma página onde pode ver sua matriz de teste e clicar em uma execução de teste específica para ver 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 níveis de API do Android selecionados.

Para analisar os resultados de teste agregados de todas as matrizes de teste de 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 de 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 onde você pode 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 matriz de teste Lista de Matrizes de Teste

Uma matriz de teste pode ser aprovada, reprovada ou 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 interface do usuário, 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, semelhante 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 do robô

Interpretar 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 de teste detalhados 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.

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 revisar e interpretar os resultados de acessibilidade do seu teste Robo, visite Introdução ao Scanner de acessibilidade .

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

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 do 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 de 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.
  • Segmento de interface do usuário lento: o número de vezes que o segmento de 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 o envio de 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 de teste. Tempos de renderização superiores a 32 milissegundos causam uma lentidão perceptível na sua interface do usuário. Tempos de renderização de mais de 700 indicam frames congelados. Os dados de renderização são coletados do dumpsys graphicsstats .

Resultados de testes detalhados

Os resultados de teste detalhados ficam disponíveis por 90 dias após a execução de um 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 ver os resultados de teste detalhados no bucket do Cloud Storage ao clicar em Resultados do teste na página de resultados da execução do teste. Quando os resultados de teste detalhados 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 Idade para determinar por quanto tempo os resultados são armazenados em seu bucket do Cloud Storage. Consulte as condições do ciclo de vida para obter informações sobre como alterar a configuração de idade .