Interface utilisateur du tableau de bord VTS

Le tableau de bord VTS fournit une interface utilisateur cohérente qui utilise la conception des matériaux pour afficher efficacement des informations sur les résultats des tests, le profilage et la couverture. Le style du tableau de bord utilise des bibliothèques Javascript open source, notamment Materialise CSS et jQueryUI, pour traiter les données fournies par les servlets Java dans Google App Engine.

Accueil du tableau de bord

La page d'accueil du tableau de bord affiche une liste des suites de tests qu'un utilisateur a ajoutées aux favoris.

Figure 1. Tableau de bord VTS, page d'accueil.

À partir de cette liste, les utilisateurs peuvent:

  • Sélectionnez une suite de tests pour afficher les résultats de cette suite.
  • Cliquez sur AFFICHER TOUT pour afficher tous les noms de test VTS.
  • Sélectionnez l'icône Modifier pour modifier la liste des favoris.
    Figure 2. Tableau de bord VTS, page d'édition des favoris.

Résultats de test

Résultats du test affiche les dernières informations sur la suite de tests sélectionnée, y compris une liste de points de profilage, un tableau des résultats du scénario de test dans l'ordre chronologique et un graphique à secteurs affichant la répartition des résultats de la dernière exécution (les utilisateurs peuvent charger des données plus anciennes en paginant à droite ).

Figure 3. Tableau de bord VTS, résultats des tests.

Les utilisateurs peuvent filtrer les données à l'aide de requêtes ou en modifiant le type de test (pré-soumission, post-soumission ou les deux). Les requêtes de recherche prennent en charge les jetons généraux et les qualificatifs spécifiques au champ; Les champs de recherche pris en charge sont: l'ID de build de l'appareil, la branche, le nom de la cible, le nom de l'appareil et l'ID de la build de test. Ceux-ci sont spécifiés au format: FIELD-ID = " SEARCH QUERY ". Les guillemets sont utilisés pour traiter plusieurs mots comme un seul jeton pour correspondre aux données des colonnes.

Profilage des données

Les utilisateurs peuvent sélectionner un point de profilage pour accéder à une vue interactive des données quantitatives pour ce point dans un graphique linéaire ou un histogramme (exemples ci-dessous). Par défaut, la vue affiche les dernières informations; les utilisateurs peuvent utiliser le sélecteur de date pour charger des fenêtres horaires spécifiques.

Figure 4. Tableau de bord VTS, performances du graphique linéaire.

Les graphiques linéaires affichent les données d'une collection de valeurs de performances non ordonnées, ce qui peut être utile lorsqu'un test de performances produit un vecteur de valeurs de performances qui varient en fonction d'une autre variable (par exemple, débit par rapport à la taille du message).

Figure 5. Tableau de bord VTS, performances de l'histogramme.

Couverture de test

Les utilisateurs peuvent afficher les informations de couverture à partir du lien de pourcentage de couverture dans les résultats des tests.

Figure 6. Tableau de bord VTS, pourcentages de couverture.

Pour chaque scénario de test et fichier source, les utilisateurs peuvent afficher un élément extensible contenant un code source à code couleur en fonction de la couverture fournie par le test sélectionné:

Figure 7. Tableau de bord VTS, code source de la couverture.
  • Les lignes non couvertes sont surlignées en rouge .
  • Les lignes couvertes sont surlignées en vert .
  • Les lignes non exécutables ne sont pas colorées .

Les informations de couverture sont regroupées en sections en fonction de la manière dont elles ont été fournies au moment de l'exécution. Les tests peuvent télécharger une couverture:

  • Par fonction . Les en-têtes de section ont le format "Coverage: FUNCTION-NAME ".
  • Dans Total (fourni à la fin du test). Un seul en-tête est présent: "Coverage: All".

Le tableau de bord récupère le code source côté client à partir d'un serveur, qui utilise l' API REST open source Gerrit .

Surveillance et tests

Le tableau de bord VTS fournit les moniteurs et les tests unitaires suivants.

  • Tester les alertes par e-mail . Les alertes sont configurées dans un travail Cron qui s'exécute à un intervalle fixe de deux (2) minutes. Le travail lit la table d'état VTS pour déterminer si de nouvelles données ont été téléchargées dans chaque table, en vérifiant que l'horodatage de téléchargement des données brutes du test est plus récent que le dernier horodatage de mise à jour d'état. Si l'horodatage de téléchargement est plus récent, le travail demande de nouvelles données entre maintenant et le dernier téléchargement de données brutes. De nouveaux échecs de cas de test, des échecs de cas de test continus, des échecs de cas de test transitoires, des corrections de cas de test, des tests inactifs sont déterminés; ces informations sont ensuite envoyées sous forme de courrier électronique aux abonnés de chaque test.
  • État du service Web . Google Stackdriver s'intègre à Google App Engine pour fournir une surveillance facile du tableau de bord VTS. Des contrôles de disponibilité simples vérifient que les pages sont accessibles tandis que d'autres tests peuvent être créés pour vérifier la latence sur chaque page, servlet ou base de données. Ces vérifications garantissent que le tableau de bord est toujours accessible (sinon un administrateur sera averti).
  • Analytics . Vous pouvez intégrer une page de tableau de bord VTS à Google Cloud Analytics en spécifiant un ID Analytics valide dans la configuration de la page (le fichier pom.xml). L'intégration fournit une analyse plus robuste de l'utilisation des pages, de l'interaction des utilisateurs, de la localité, des statistiques de session, etc.