Das VTS-Dashboard bietet eine zusammenhängende Benutzeroberfläche, die Materialdesign nutzt, um Informationen über Testergebnisse, Profilerstellung und Abdeckung effektiv anzuzeigen. Das Dashboard-Design nutzt Open-Source-Javascript-Bibliotheken, einschließlich Materialise CSS und jQueryUI, um von Java-Servlets in Google App Engine bereitgestellte Daten zu verarbeiten.
Startseite des Dashboards
Auf der Startseite des Dashboards wird eine Liste der Testsuiten angezeigt, die ein Benutzer zu seinen Favoriten hinzugefügt hat.
Aus dieser Liste können Benutzer:
- Wählen Sie eine Testsuite aus, um die Ergebnisse für diese Suite anzuzeigen.
- Klicken Sie auf ALLE ANZEIGEN , um alle VTS-Testnamen anzuzeigen.
- Wählen Sie das Symbol „Bearbeiten“ , um die Favoritenliste zu ändern.
Abbildung 2. VTS-Dashboard, Seite „Favoriten bearbeiten“.
Testergebnisse
Testergebnisse zeigt die neuesten Informationen zur ausgewählten Testsuite an, einschließlich einer Liste von Profilierungspunkten, einer Tabelle mit Testfallergebnissen in chronologischer Reihenfolge und einem Kreisdiagramm mit der Ergebnisaufschlüsselung des letzten Laufs (Benutzer können ältere Daten laden, indem sie nach rechts blättern). ).
Benutzer können Daten mithilfe von Abfragen oder durch Ändern des Testtyps (vor der Übermittlung, nach der Übermittlung oder beides) filtern. Suchanfragen unterstützen allgemeine Token und feldspezifische Qualifizierer; Unterstützte Suchfelder sind: Geräte-Build-ID, Zweig, Zielname, Gerätename und Test-Build-ID. Diese werden im Format: FIELD-ID = „ SEARCH QUERY “ angegeben. Anführungszeichen werden verwendet, um mehrere Wörter als ein einziges Token zu behandeln und sie mit den Daten in den Spalten abzugleichen.
Datenprofilierung
Benutzer können einen Profilierungspunkt auswählen, um eine interaktive Ansicht der quantitativen Daten für diesen Punkt in einem Liniendiagramm oder Histogramm zu erhalten (Beispiele unten). Standardmäßig zeigt die Ansicht die neuesten Informationen an; Benutzer können die Datumsauswahl verwenden, um bestimmte Zeitfenster zu laden.
Liniendiagramme zeigen Daten aus einer Sammlung ungeordneter Leistungswerte an. Dies kann nützlich sein, wenn ein Leistungstest einen Vektor von Leistungswerten erzeugt, die als Funktion einer anderen Variablen variieren (z. B. Durchsatz gegenüber Nachrichtengröße).
Testabdeckung
Benutzer können Abdeckungsinformationen über den Link „Abdeckungsprozentsatz“ in den Testergebnissen anzeigen.
Für jeden Testfall und jede Quelldatei können Benutzer ein erweiterbares Element anzeigen, das farbcodierten Quellcode entsprechend der durch den ausgewählten Test bereitgestellten Abdeckung enthält:
- Nicht abgedeckte Linien werden rot hervorgehoben.
- Überdeckte Linien werden grün hervorgehoben.
- Nicht ausführbare Zeilen sind ungefärbt .
Abdeckungsinformationen werden in Abschnitte gruppiert, je nachdem, wie sie zur Laufzeit bereitgestellt wurden. Tests können Abdeckung hochladen:
- Pro Funktion . Abschnittsüberschriften haben das Format „Coverage: FUNCTION-NAME “.
- Insgesamt (bereitgestellt am Ende des Testlaufs). Es ist nur eine Überschrift vorhanden: „Abdeckung: Alle“.
Das Dashboard ruft den Quellcode clientseitig von einem Server ab, der die Open-Source- Gerrit-REST-API verwendet.
Überwachung und Prüfung
Das VTS-Dashboard bietet die folgenden Monitore und Komponententests.
- Testen Sie E-Mail-Benachrichtigungen . Warnungen werden in einem Cron-Job konfiguriert, der in einem festen Intervall von zwei (2) Minuten ausgeführt wird. Der Job liest die VTS-Statustabelle, um festzustellen, ob in jede Tabelle neue Daten hochgeladen wurden. Dies erfolgt durch Überprüfen, ob der Rohdaten-Upload-Zeitstempel des Tests neuer ist als der letzte Statusaktualisierungszeitstempel. Wenn der Upload-Zeitstempel neuer ist, fragt der Job zwischen jetzt und dem letzten Rohdaten-Upload nach neuen Daten. Es werden neue Testfallfehler, fortgesetzte Testfallfehler, vorübergehende Testfallfehler, Testfallkorrekturen und inaktive Tests ermittelt. Diese Informationen werden dann im E-Mail-Format an die Abonnenten jedes Tests gesendet.
- Zustand des Webdienstes . Google Stackdriver lässt sich in Google App Engine integrieren, um eine einfache Überwachung des VTS-Dashboards zu ermöglichen. Einfache Verfügbarkeitsprüfungen stellen sicher, dass auf Seiten zugegriffen werden kann, während andere Tests erstellt werden können, um die Latenz auf jeder Seite, jedem Servlet oder jeder Datenbank zu überprüfen. Diese Prüfungen stellen sicher, dass das Dashboard immer zugänglich ist (ansonsten wird ein Administrator benachrichtigt).
- Analytik . Sie können eine VTS-Dashboard-Seite in Google Cloud Analytics integrieren, indem Sie in der Seitenkonfiguration (der pom.xml-Datei) eine gültige Analytics-ID angeben. Die Integration bietet eine zuverlässigere Analyse der Seitennutzung, Benutzerinteraktion, Lokalität, Sitzungsstatistiken usw.