IU do painel VTS

O painel VTS fornece uma interface de usuário coesa que usa material design para exibir com eficiência informações sobre resultados de testes, perfil e cobertura. O estilo do painel usa bibliotecas Javascript de código aberto, incluindo Materialize CSS e jQueryUI, para processar dados fornecidos por servlets Java no Google App Engine.

Página inicial do painel

A página inicial do Dashboard exibe uma lista de conjuntos de testes que um usuário adicionou aos favoritos.

Figura 1. Painel VTS, página inicial.

Nesta lista, os usuários podem:

  • Selecione um conjunto de testes para visualizar os resultados desse conjunto.
  • Clique em MOSTRAR TUDO para visualizar todos os nomes de testes VTS.
  • Selecione o ícone Editar para modificar a lista de Favoritos.
    Figura 2. Painel VTS, página de edição de Favoritos.

Resultado dos testes

Os Resultados do Teste exibem as informações mais recentes sobre o conjunto de testes selecionado, incluindo uma lista de pontos de criação de perfil, uma tabela de resultados de casos de teste em ordem cronológica e um gráfico de pizza exibindo o detalhamento dos resultados da execução mais recente (os usuários podem carregar dados mais antigos paginando à direita ).

Figura 3. Painel VTS, resultados dos testes.

Os usuários podem filtrar dados usando consultas ou modificando o tipo de teste (pré-envio, pós-envio ou ambos). As consultas de pesquisa suportam tokens gerais e qualificadores específicos de campo; os campos de pesquisa suportados são: ID de compilação do dispositivo, ramificação, nome de destino, nome do dispositivo e ID de compilação de teste. Eles são especificados no formato: FIELD-ID =" SEARCH QUERY ". As aspas são usadas para tratar várias palavras como um único token para corresponder aos dados nas colunas.

Perfil de dados

Os usuários podem selecionar um ponto de perfil para obter uma visualização interativa dos dados quantitativos desse ponto em um gráfico de linhas ou histograma (exemplos abaixo). Por padrão, a visualização exibe as informações mais recentes; os usuários podem usar o seletor de data para carregar janelas de tempo específicas.

Figura 4. Painel VTS, desempenho do gráfico de linha.

Os gráficos de linha exibem dados de uma coleção de valores de desempenho não ordenados, o que pode ser útil quando um teste de desempenho produz um vetor de valores de desempenho que variam em função de outra variável (por exemplo, taxa de transferência versus tamanho da mensagem).

Figura 5. Painel VTS, desempenho do histograma.

Cobertura de teste

Os usuários podem visualizar informações de cobertura no link de porcentagem de cobertura nos resultados dos testes.

Figura 6. Dashboard VTS, percentuais de cobertura.

Para cada caso de teste e arquivo fonte, os usuários podem visualizar um elemento expansível contendo código-fonte codificado por cores de acordo com a cobertura fornecida pelo teste selecionado:

Figura 7. Painel VTS, código fonte de cobertura.
  • As linhas descobertas são destacadas em vermelho .
  • As linhas cobertas são destacadas em verde .
  • As linhas não executáveis ​​não têm cor .

As informações de cobertura são agrupadas em seções, dependendo de como foram fornecidas em tempo de execução. Os testes podem fazer upload de cobertura:

  • Por função . Os cabeçalhos das seções têm o formato "Cobertura: FUNCTION-NAME ".
  • No total (fornecido no final do teste). Apenas um cabeçalho está presente: "Cobertura: Todos".

O Dashboard busca o código-fonte do lado do cliente de um servidor, que usa a API REST Gerrit de código aberto.

Monitoramento e testes

O Painel VTS fornece os seguintes monitores e testes de unidade.

  • Teste alertas por e-mail . Os alertas são configurados em um Cron job que é executado em um intervalo fixo de dois (2) minutos. A tarefa lê a tabela de status do VTS para determinar se novos dados foram carregados em cada tabela, verificando se o carimbo de data/hora de upload de dados brutos do teste é mais recente que o carimbo de data/hora da última atualização de status. Se o carimbo de data/hora do upload for mais recente, o trabalho consultará novos dados entre agora e o último upload de dados brutos. Novas falhas de casos de teste, falhas contínuas de casos de teste, falhas transitórias de casos de teste, correções de casos de teste e testes inativos são determinados; essas informações são então enviadas em formato de e-mail aos assinantes de cada teste.
  • Integridade do serviço da Web . O Google Stackdriver integra-se ao Google App Engine para fornecer monitoramento fácil do painel VTS. Verificações simples de tempo de atividade verificam se as páginas podem ser acessadas enquanto outros testes podem ser criados para verificar a latência em cada página, servlet ou banco de dados. Essas verificações garantem que o Painel esteja sempre acessível (caso contrário, um administrador será notificado).
  • Análise . Você pode integrar uma página do painel VTS ao Google Cloud Analytics especificando um ID de análise válido na configuração da página (o arquivo pom.xml). A integração fornece uma análise mais robusta do uso da página, interação do usuário, localidade, estatísticas da sessão, etc.