Benutzeroberfläche des VTS-Dashboards

Das VTS-Dashboard bietet eine zusammenhängende Benutzeroberfläche, die Materialdesign verwendet, um Informationen zu Testergebnissen, Profilerstellung und Abdeckung effektiv anzuzeigen. Das Dashboard-Design verwendet Open-Source-JavaScript-Bibliotheken, einschließlich Materialise CSS und jQueryUI, um Daten zu verarbeiten, die von Java-Servlets in Google App Engine bereitgestellt werden.

Dashboard-Startseite

Auf der Startseite des Dashboards wird eine Liste der Testsuiten angezeigt, die ein Benutzer zu den Favoriten hinzugefügt hat.

Abbildung 1. VTS-Dashboard, Homepage.

Von dieser Liste aus 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 über die ausgewählte Testsuite an, einschließlich einer Liste von Profiling-Punkten, einer Tabelle mit Testfallergebnissen in chronologischer Reihenfolge und einem Tortendiagramm, das die Ergebnisaufschlüsselung des letzten Laufs anzeigt (Benutzer können ältere Daten laden, indem sie nach rechts blättern ).

Abbildung 3. VTS-Dashboard, Testergebnisse.

Benutzer können Daten mithilfe von Abfragen filtern oder den Testtyp ändern (Pre-Submit, Post-Submit oder beides). Suchabfragen unterstützen allgemeine Token und feldspezifische Qualifizierer; Unterstützte Suchfelder sind: Geräte-Build-ID, Branche, 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, das mit den Daten in den Spalten übereinstimmt.

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.

Abbildung 4. VTS-Dashboard, Liniendiagrammleistung.

Liniendiagramme zeigen Daten aus einer Sammlung ungeordneter Leistungswerte an, was nützlich sein kann, wenn ein Leistungstest einen Vektor von Leistungswerten erzeugt, die als Funktion einer anderen Variablen (z. B. Durchsatz versus Nachrichtengröße) variieren.

Abbildung 5. VTS-Dashboard, Histogrammleistung.

Testabdeckung

Benutzer können Abdeckungsinformationen über den Link „Abdeckung in Prozent“ in den Testergebnissen anzeigen.

Abbildung 6. VTS-Dashboard, Abdeckungsprozentsätze.

Für jeden Testfall und jede Quelldatei können Benutzer ein erweiterbares Element anzeigen, das einen farbcodierten Quellcode entsprechend der Abdeckung durch den ausgewählten Test enthält:

Abbildung 7. VTS-Dashboard, Abdeckungsquellcode.
  • Unbedeckte Linien werden rot hervorgehoben.
  • Bedeckte Linien werden grün hervorgehoben.
  • Nicht ausführbare Zeilen sind ungefärbt .

Abdeckungsinformationen werden abhängig davon, wie sie zur Laufzeit bereitgestellt wurden, in Abschnitte gruppiert. Tests können Abdeckung hochladen:

  • Pro Funktion . Abschnittsüberschriften haben das Format "Coverage: FUNCTION-NAME ".
  • Insgesamt (wird am Ende des Testlaufs bereitgestellt). Es ist nur eine Kopfzeile vorhanden: "Coverage: All".

Das Dashboard ruft Quellcode clientseitig von einem Server ab, der die Open-Source- Gerrit-REST-API verwendet.

Überwachung & Prüfung

Das VTS-Dashboard bietet die folgenden Monitore und Einheitentests.

  • 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 neue Daten in jede Tabelle hochgeladen wurden, indem überprüft wird, ob der Upload-Zeitstempel der Rohdaten des Tests neuer ist als der Zeitstempel der letzten Statusaktualisierung. Wenn der Upload-Zeitstempel neuer ist, fragt der Job zwischen jetzt und dem letzten Rohdaten-Upload nach neuen Daten. Neue Testfallfehler, fortgesetzte Testfallfehler, vorübergehende Testfallfehler, Testfallkorrekturen, inaktive Tests werden bestimmt; 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 überprüfen, ob 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 Überprüfungen stellen sicher, dass das Dashboard immer zugänglich ist (andernfalls wird ein Administrator benachrichtigt).
  • Analytik . Sie können eine VTS-Dashboard-Seite in Google Cloud Analytics integrieren, indem Sie in der Seitenkonfiguration (der Datei pom.xml) eine gültige Analytics-ID angeben. Die Integration bietet eine robustere Analyse der Seitennutzung, Benutzerinteraktion, Lokalität, Sitzungsstatistiken usw.