Ein Kunde, der Software entwickelt, hat uns mit der Frage angesprochen, ein Tool für sein Testteam vorzuschlagen. Da der Kunde für die Businessanforderungen und die Entwicklung Jira benutzt, haben wir uns auf die Apps für Atlassian fokussiert.
Der Kunde brauchte für ein kleineres Team (30 Tester) ein Tool, in dem manuelle Tests durchgeführt werden können, aber er hat auch auf automatisierte Tests und einfache Integration mit CI Systemen Akzent gelegt. Aus dem Portfolio der verfügbaren Tools haben wir eben Xray ausgewählt, für seine benutzerfreundliche GUI, für die Integrationsmöglichkeiten mit Testframeworks, sowie für die breite Konfigurierungsskala.
Xray ist eine App für das Management des Testteams, Test- und Testplanverwaltung und Erfassung der Testergebnisse. Xray basiert auf der Prämisse, dass alles, was Sinn hat, in Jira erfasst zu werden, als Vorgangstyp erfasst wird. Dies ermöglicht es, eigene Prozesseinstellungen für die jeweiligen Aufgaben, was bei Testdesign und -planung vorteilhaft sein kann. In der Grundkonfiguration arbeitet Xray mit folgenden Vorganstypen:
- Test Set – ein Packet von Tests, die zusammen hängen
- Test – der eigentliche Test
- Pre-Condition – Bedingung, die vor der Testausführung erfüllt werden muss
- Test Plan – Plan, der die Test Sets definiert, die für die spezifische Version ausgeführt werden müssen
- Test Execution – konkrete Testausführung und -erfassung
Außer dieser Vorgangstypen kann man in Xray mit Anforderungen, deren Implementierung getestet werden soll, arbeiten. Basierend auf Verknüpfung des Vorganstyps Anforderung mit Tests und Tests mit Fehlern (Bug), kann ein Deckungsbericht erstellt werden, wo die Auswirkung der Bugs/Tests auf die einzelnen Anforderungen abgebildet ist.
Xray beinhaltet mehrere Übersichten über Testausführung. Der Hersteller von Xray, das Unternehmen Xpand IT, liefert auch die App Xporter, die es ermöglicht, Testberichte zu erstellen und in Formaten xlsx, docx, pdf, docm, docx, dotm, rtf, odt, svg, png zu exportieren. Wenn Sie zusammen mit Jira eazyBI (blog Hier) benutzt wird, werden dort vordefinierte Dimensionen und Measures von Xray unterstützt.
Bevor wir beginnen, Tests in Xray zu erstellen, muss Xray entsprechend konfiguriert werden. Da Xray mit Anbindung auf Anforderungen und Aufgaben mit Fehlern arbeiten kann, empfiehlt Xpand IT aus folgenden Projekteinstellungen zu wählen:
- Alles in einem Projekt – hier sind alle Anforderungen einschließlich Implementierungsaufgaben, Fehler und Tests in einem Projekt.
- Implementierungsprojekt separat vom Testprojekt – diese Aufstellung sortiert die Implementierungsvorgänge wie Anforderungen, Implementierungsaufgaben und Fehler im „Implementierungsprojekt“ und testbezogene Aufgaben wie Tests, Tespläne und -ausführung im „Testprojekt„.
- Spezielles Projekt nur für Tests – in diesem Mode gibt es drei Projekte: Implementierungsprojekt (Anforderungen und Implementierungsarbeiten), Projekt mit Tests (Tests, Test Sets und Bedingungen) und Projekt fürs Testen(Testpläne, Testausführung, Fehler).
- Komplette Trennung – im Vergleich zum „speziellen Projekt fürs Testen“ trennt dieser Mode auch die Fehlererfassung in einem externen Projekt.
- Anforderungen im getrennten System – diese Konfigurierung ermöglicht es, Tests an Anforderungen anzubinden, die in externen Systemem erfasst werden, wie z.B. Enterprise Architect usw.
Nach der Auswahl und Konfigurierung von Xray und des Tesprojektes können wir anfangen, die Tests zu designen.
Xray ermöglicht zwei Arten von Tests – manuelle und automatische. Diese Tests können in Test Sets verknüpft werden und ab Version 3.0 auch in Test Repository, wo Tests in Ordnern gruppiert wreden können. Diese Tests bzw. Test Sets können direkt mit Anforderungen verknüpft werden, wo dann direkt in der Anforderung möglich ist, den Deckungsstand der Tests zu sehen. Viele Benutzer bewerten die Möglichkeit, die Eingangsbedingungen für Tests zu definierenzusammen mit Möglichkeit, diese in anderen Tests benutzen zu können, positiv.
Manuelle Tests bestehen aus einer Liste der Schritte, wo jeder Schritt aus der Schrittbeschreibung, Eingangsdaten und des zu erwarteten Ergebnisses besteht. Die Schritte können umsortiert oder gelöscht werden, Anhänge können hinzugefügt werden. Ein Vorteil ist auch die Benutzung der Wiki-Markup-Formattierung in derTest- aber auch in der Schrittbeschreibung, in den Angaben und den zu erwarteten Ergebnisse.
Xray ermöglicht es auch, automatische Tests zu erstellen. Eine spezielle Kategorie, mit der der Entwickler arbeitet, sind Cucumber Tests, wo es direkte Unterstüzung von der Szenarioerstellung in Jira mit der Markierung der Schlüsselwörterin der Gherkin Sprache gibt. Diese Tests können später in die Cucumber feature Dateien exportiert werden, die in der Testumgebung ausgeführt werden können.
Andere automatische Test können in Jira unter der Bedingung erstellt werden, dass wir den Testidentifikator in der spezifischen Sprache kennen, oder einfacher, durch den initialen Import der Testergebnisse ins Jira. Xray verknüpft dann jeden weiteren Import der Testergebnisse mit dem bereits bestehenden Test.
Die Planung findet durch die Erstellung der Testpläne statt, die mit Tests bzw. Test Sets verbunden sind, die in dem gegebenen Plan getestet werden sollen. Ab Version 3.0, bei der Benutztung der Repository mit Tests kann eine Planungssicht benutzt werden. Dort können Tests aus der Repository hinzugefügt und so der Tesplan angepasst werden.
Damit die Tests in Xray beginnen können, muss die Aufgabe Test Execution erstellt werden. Haben wir das Testen in Testplänen im Voraus geplant, ist eine Aufgabenerstellung direkt in dem Testplan möglich. In der Aufgabe Test Execution werden Testreferenzen zum Plan automatisch reinkopiert. Haben wir nicht geplant, oder ist notwendig, einen Test außerhalb des Plans auszuführen, kann diese Aufgabe direkt erstellt werden und die benötigten Tests werden in der Aufgabe hinzugefügt.
Die eigentliche Testausführung verläuft bei manuellen Tests auf einem speziellen Bildschirm, der nach dem Klick auf die Taste für den Start der Testausführung eingeblendet wird. Auf diesem Bildschirm stehen Informationen zu dem eben ausgeführten Test mit Testbeschreibung, mit allen Eingangsbedingungen und Schritten des gegebenen Tests. Der Tester kann auf diesem Bildschirm Fehler reportieren, bzw. nach der erfolgreichen Testausführung mit dem nächsten Test fortfahren.
Die Ergebnisse der automatischen Tests können in die Aufgabe Test Execution importiert werden. Die Tests, die mit den bestehenden Tests nicht gepaart werden können, werden automatisch erstellt und mit dem gegebenen Test Execution verknüpft.
Xray verfügt über einige Gadgets, wo der Testprogress beobachtet werden kann, aber auch über testbezogene Testberichte, z.B.: Deckungsbericht, Deckung mit Tests in der Zeit, Testplanbericht, Testausführungsbericht und Bericht der laufenden Tests.
Wie schon erwähnt, anfangs muss Xraykonfigurierung gemacht werden. Dazu sind folgende Schritte notwendig:
- Testanforderungssammlung und -analyse – in welchen Projekten getestet werden soll, wie oft, wie sind die Releasezyklen, wie ist die Struktur des Testteams usw.
- Identifizierung der Zugriffe auf Tests – jedes Projekt ist spezifisch, daher gibt es mehrere Zugriffstypen.
- Unifizierung der Zugriffe auf Tests – wegen der Vereinfachung von Xray ist es notwendig, in diesem Schritt die Zugriffe auf ein Minimum zu reduzieren.
Basierend auf diesen Schritten können wir Jira und Xray so konfigurieren, dass sie genau den Kundenanforderungen entsprechen.
Wir helfen den Kunden, Jira und Xray mit CI Systemen zu integrieren, in denen es möglich ist, über die automatischen Test direkt in Jira zu reportieren, wenn das Build in CI abgeschlossen wurde.
Maroš Strmenský
Programmierer/Analytiker