Im Rahmen unserer Blogserie “Neu in Visual Studio und TFS 15” haben wir bereits allgemeine Eigenschaften der Browser Extension ‘Test & Feedback’ vorgestellt. In diesem Beitrag möchten wir nun Neuerungen der Extension für das explorative Testen mit TFS 2017 hervorheben.
Explore Work Item
Die Funktion ‘Explore Work Item’ erlaubt es eine explorative Testsession für ein bestimmtes Work Item, welches sich auf Portfolio- oder aber Requirements-Ebene befindet, auszuführen. Dies hat zur Folge, dass alle entstehenden Artefakte wie z.B. während der Session erzeugte Bugs oder Test Cases automatisch mit dem ausgewählten Work Item verlinkt werden. Bisher war diese Funktion zwar verfügbar, jedoch konnte das entsprechende Work Item nur über Eingabe der Work Item ID in der Extension verlinkt werden. Mit TFS 2017 können nun explorative Testsessions für ein Work Item direkt aus dem TFS heraus gestartet werden. Hierfür sind verschiedene Einstiegspunkte definiert: Zum einen kann eine explorative Testsession direkt aus dem Kontextmenü eines Work Items innerhalb der Backlogs (vgl. Abb. 1 (1)) oder aber der Boards (vgl. Abb. 1 (2)) heraus angestoßen werden. Des Weiteren kann eine explorative Testsession direkt aus Requirements-based Test Suiten im Test Hub heraus initiiert werden (vgl. Abb. 1 (3)).
Abb. 1: Explore Work Item aus Backlog (1), Board(2) oder dem Test Hub (3) heraus
Unabhängig vom gewählten Einstiegspunkt erscheint nach Auswahl des jeweiligen Kontextmenü-Eintrages ‘Do exploratory testing’ eine Meldung unterhalb der Navigationsleiste im TFS, welche den Nutzer auffordert die Extension über das Symbol in der Toolbar des Browsers zu öffnen um fortzufahren (vgl. Abb. 2). Wie gewohnt kann die Testsession dann über den Button ‘Start session’ in der Extension (vgl. Abb. 3) begonnen werden.
Abb. 2: Meldung
Abb. 3: ‘Start session’
Informationsgewinnung während der Testausführung
Eine weitere Neuerung für das explorative Testen ist die Möglichkeit beim Anlegen eines Bugs aus der Extension heraus ein Image Action Log in die Repro Steps automatisch miteinzubinden (vgl. Abb. 4). Dies beschreibt alle ausgeführten Schritte des Testers innerhalb von Web Apps, welche zu dem Bug geführt haben, als Bilderserie mit entsprechenden Textbeschreibungen. Die Schritte umfassen dabei alle Aktionen, welche über die Maus, die Tastatur oder aber Touch ausgeführt wurden und können im Nachhinein bearbeitet werden.
Abb. 4: Image Action Log-Option beim Anlegen eines Bugs
Eine weitere neue Option beim Anlegen eines Bugs ist ‘Page load data’ (vgl. Abb. 5 (1)). Während der Ausführung einer explorativen Testsession werden im Hintergrund Ladezeiten von Web Apps gemessen und gespeichert. Mit Hilfe der neuen Option kann gesteuert werden, ob die gespeicherten Daten dem Bug angefügt werden sollen. Ist die Option ausgewählt, so werden die Daten zum einen kurz zusammengefasst als Bilderserie in die Repro Steps des Bugs eingefügt (vgl. Abb. 5 (2)) und zum anderen werden detaillierte Ladezeiten-Reports dem Bug angehängt (vgl. Abb. 6). Dieses neue Feature liefert wichtige Performanceinformationen, welche bisher nur mit Hilfe weiterer Tools gemessen werden konnten.
Abb. 5: Page Load Data-Option beim Anlegen eines Bugs
Abb. 6: Page Load Report
Im Zusammenhang der zuvor beschriebenen Image Action Log-Funktionalität steht ein weiteres neues Feature. Aus den Daten des Image Action Logs einer explorativen Testsession können nun auch direkt Test Cases angelegt werden (vgl. Abb. 7). Dabei werden die Testschritte automatisch mit zugehörigen Bildern auf Basis der Daten eingefügt (vgl. Abb. 8). Der Tester kann dann die bestehenden Informationen des Test Cases anpassen und ergänzen. Weiterhin müssen auf diese Weise entstandene Test Cases im Nachhinein in einen Test Plan entsprechend eingeplant werden, da sie zunächst unabhängig von der Test Plan-Struktur erzeugt werden.
Abb. 7: Erzeugen eines Test Cases aus explorativer Testsession
Abb. 8: Erzeugen eines Test Cases auf Basis von Image Action Log-Daten
Auswertung explorativer Testsessions
Ein großer Schritt zur übersichtlichen Auswertung von explorativen Testsessions bringt die neue Ansicht ‘Recent exploratory sessions’, welche im Test Hub im Abschnitt ‘Runs’ zu finden ist (vgl. Abb. 9 (1)). Die gesamte Ansicht kann dabei nach verschiedenen Kriterien gefiltert werden (vgl. Abb. 9(2)). Zum einen kann definiert werden, ob alle Sessions oder aber nur die eigens Durchgeführten angezeigt werden sollen. Des Weitereren kann nach dem Zeitraum gefiltert werden. Zur Auswahl stehen dabei die letzten 7, 14, 30, 60 oder aber 90 Tage. Nicht zuletzt kann eine Query als Filter hinterlegt werden.
Abb. 9: ‘Recent exploratory sessions’-View
Gefiltert auf die entsprechenden Parameter stellt die ‘Recent exploratory sessions’-Ansicht dann eine Vielzahl an Informationen zur Verfügung:
- Die ‘Summary View’ (vgl. Abb. 9 (3)) gibt eine übersichtliche Darstellung über…
- … Work Items, welche mit einer explorativen Testsession untersucht wurden
- … Work Items, welche während explorativen Testsessions erzeugt wurden
- … die Anzahl der Sessions aufgeteilt nach Session Owner
- … die Zeit, welche für explorative Test Sessions aufgewendet wurde
- Die ‘Group-by’-View (vgl. Abb. 9 (4)) stellt eine Ansicht zur Verfügung, welche Artefakte gruppiert und gefiltert darstellt. Dabei kann nach Work Item Typ gefiltert werden.Außerdem kann gruppiert werden nach Explored Work Item, Unexplored Work Item, Session, Session Owner oder None. Ist die Gruppierung Unexplored Work Item ausgewählt, so muss beachtet werden, dass im oberen Bereich (vgl. Abb. 9 (2)) eine Query als Filter hinterlegt sein muss.
- Die ‘Details’-View (vgl. Abb. 9 (5)) stellt detaillierte Informationen zur Verfügung, welche abhängig von der in der ‘Group-by’-View getroffenen Auswahl ist. Beispielsweise wird für ein Work Item, welches bereits mit Hilfe einer explorativen Test Session untersucht wurde, in der ‘Details’-View angezeigt, wieviele zugehörige explorative Testsessions existieren, die zugehörige Gesamtlaufzeit aller Sessions, die verschiedenen Session Owners sowie in der Session angelegte Bugs, Task und Test Cases aufgeschlüsselt nach Priorität und Status.
Fazit
Die vorgestellten Neuerungen der ‘Test & Feedback’-Extension für das explorative Testen bringen erhebliche Verbesserung in diesem Bereich mit. Sie stellt somit einen weiteren großen Schritt auf dem Weg zu durchgängiger Nachvollziehbarkeit und erleichterter Auswertbarkeit dar. An diesem Feature zeigt sich einmal mehr der Trend Funktionalität ins Web zu verlagern, auch wenn es sich hier um eine Extension und kein originäres Produktfeature handelt.