Image
Jira und Xray

Testmanagement mit Jira - Xray

🕒 Lesedauer: 4 minute

In diesem Artikel möchten wir Ihnen die App “Xray” für Jira vorstellen. Jira ist eine Webanwendung für agiles Projektmanagement, Fehlerverwaltung und Problembehandlung. Ursprünglich wurde Jira vor allem in der Softwareentwicklung verwendet, hat sich jedoch mittlerweile auch in vielen anderen Bereichen eine Anwendung gefunden.

In Jira werden Projekte durch Aufgaben bzw. Vorgänge (Issues) dargestellt. Aufgaben können in Projekten organisiert, Benutzern zugewiesen und mit Deadlines versehen werden. Dargestellt werden können diese Aufgaben mittels agiler Boards (wie etwa Scrum- und Kanban-Boards), was Jira gerade für agile Teams zu einem interessanten Tool für das Projektmanagement macht.

Die Architektur von Jira ist darauf ausgelegt, dass Drittanbieter das Tool mit eigenen Erweiterungen ausstatten können. Eine dieser Erweiterungen - das Tool Xray zur Fehlerverwaltung - möchten wir Ihnen in diesem Artikel vorstellen.

Motivation von Xray

Bei Xray handelt es sich um eine Erweiterung der Jira-Plattform, die zum Verwalten von Testprojekten entwickelt wurde. Xray zeichnet sich durch seine Skalierbarkeit und seine Möglichkeiten aus, mehrere Benutzer an einem Projekt mitarbeiten zu lassen.

In einem komplexeren Testprojekt ist es vonnöten, den Testprozess durch ein geeignetes Modell abzubilden. So müssen u.a. zu Beginn des Projektes Anforderungen an den Testprozess gesammelt und dokumentiert werden. Aus den Anforderungen werden in einem weiteren Schritt Testbedingungen und Testfälle abgeleitet. Schlussendlich werden die Testfälle zu Testplänen zusammengestellt, welche sich automatisiert ausführen lassen können. Weiterhin sollten die Ergebnisse der Tests dokumentiert werden und die Rückverfolgbarkeit der Testfälle zu den Anforderungen gewährleistet bleiben.

Xray unterstützt hierbei den gesamten Prozess von der Planung der Testfälle bis hin zu deren Ausführung und dem Reporting. Hierbei wird dem Tester die Arbeit abgenommen, eine eigene Infrastruktur für ein Testprojekt aufbauen zu müssen, beispielsweise mittels Dokumentation der Testfälle in Word-/Excel-Files und einer Kommunikation über E-Mails. Die Nutzung von Xray führt zu einer deutlichen Zeitersparnis und somit einer Steigerung der Qualität und der Effizienz eines Testprojektes.

Xray für das Testmanagement mit Jira

Xray erweitert Jira um vordefinierte Issue Types, um die Testentitäten abzubilden. Dies ermöglicht die einfache Interaktion von Xray mit anderen Erweiterungen für Jira. So können folgende Entitäten angelegt werden:

  • Tests: In dieser Entität wird der eigentliche Test festgehalten. Sie können definieren, welche Aktion der Testfall testen und wie das zu erwartende Ergebnis aussehen soll. Tests lassen sich in einzelne Schritte untergliedern. Auch für diese Schritte lassen sich Testbeschreibungen und erwartete Ergebnisse definieren.
  • Pre-Conditions: In dieser Entität können Sie festlegen, welche Vorbedingungen für einen Test erfüllt sein müssen, damit dieser ausgeführt werden kann. Beispielsweise kann eine Vorbedingung beinhalten, dass eine Testdatenbank mit vordefinierten Datensätzen eingerichtet und bereitstehen muss. Eine Vorbedingung kann mehreren Tests zugeordnet werden.
  • Test Set: Tests können in Gruppen, den Test Sets, zusammengefasst werden. Alternativ lassen sich Tests auch in einer Ordnerstruktur, den sogenannten Repositories organisieren.
  • Test Execution: Mittels dieser Entität lassen sich Testzyklen planen. Test Executions fassen eine Menge von Testfällen zusammen, welche entweder manuell oder automatisiert ausgeführt werden sollen.
  • Test Plan: Mittels der Entität Test Plan lassen sich Test Execution Entitäten zu einem übergreifenden Testplan zusammenfassen. Weiterhin ermöglicht dies ein übergreifendes Reporting der Tests, die während der Testausführung durchgeführt werden.

Rückverfolgbarkeit

Xray stellt die Rückverfolgbarkeit der Testfälle zu Ihren Anforderungen sicher, indem sich Testfälle mit den Aufgaben aus dem Scrum- bzw. Kanban-Board des Projektes verknüpfen lassen. Somit lässt sich u.a. die Testüberdeckung eines Features und die Qualität der Implementierung dieses Features leicht beurteilen.

Reporting

Nach dem Durchführen der Testfälle ist es nötig die Testergebnisse zu dokumentieren, um den Fortschritt des Testprojektes und die Qualität der getesteten Software beurteilen zu können. Hierfür stellt Xray eine graphische Oberfläche zur Verfügung, die den beteiligten Personen einen Überblick über die vorhandenen Testfälle und deren Ausführungsverlauf gewährt. Wir möchten Ihnen dieses Feature von Xray anhand eines Beispielprojektes demonstrieren.

In der folgenden Ansicht sehen Sie das sogenannte “Testing Board” von Xray, in dem eine Auflistung der Testfälle zu sehen ist. In diesem Fall wurden Tests in Form eines Repositories organisiert. Sie sehen die drei Testfälle mit den Bezeichnungen “QTAF-1”, “QTAF-2” und “QTAF-3”. Bei diesen Testfällen handelt es sich um manuelle Testfälle, d.h. dass diese von einem Tester manuell auf einem Gerät gestartet werden müssen. Die Ergebnisse des Testens lassen sich jedoch automatisiert über die REST-API-Schnittstelle von Xray eintragen. Diese drei Testfälle werden in unserem Beispielprojekt die Startseite von Google aufrufen, einen Text in das Suchfeld eintragen und anschließend diese Suchanfrage abschicken.

 

Image
1-xray-test-repository-jira.png
Bild: Xray Test Repository in Jira. (Klicken zum Vergrößern) [Quelle: Jira

 

In der nächsten Graphik sehen Sie die Detailansicht des Testfalls “QTAF-1”. Dieser Testfall wurde in zwei Testschritte unterteilt. Die Testschritte beinhalten jeweils eine Beschreibung des Testschritts (Aktion), die für den Testschritt verwendeten Daten sowie ein weiteres Attribut, mit dem das erwartete Ergebnis dieses Testschrittes beschrieben werden kann.

 

Image
1-xray-test-repository-jira.png
Bild: Xray Testfall in Jira. (Klicken zum Vergrößern) [Quelle: Jira]


 

Bei jeder Ausführung des Testfalls werden die Resultate des Testfalls an die Xray-API übermittelt. Xray sorgt nun dafür, dass Sie die Resultate der vergangenen Testdurchläufe in einer tabellarischen Ansicht ansehen können. Hier sehen Sie eine Auflistung vergangener Testdurchläufe und deren Status.

 

Image
3-xray-testausfuehrungs-uebersicht-jira.png

Bild: Xray Testausführungs Übersicht in Jira. (Klicken zum Vergrößern) [Quelle: Jira]

 

Wir sehen, dass einige Durchläufe ohne Abweichung von den erwarteten Ergebnissen durchliefen (passed), es jedoch auch bei einigen Durchläufen zu Abweichungen kam (failed). Möchten wir nun detailliertere Informationen zu einem fehlgeschlagenen Durchlauf erhalten können wir dies durch Klicken auf den jeweiligen Durchlauf (beispielsweise “QTAF-239”) erfahren.

 

Image
4-xray-gesamtausfuehrungs-status-jira.png

Bild: Xray Gesamtausfuehrungs-Status in Jira. (Klicken zum Vergrößern) [Quelle: Jira]

 

Wir können nun sehen, dass die Testfälle “QTAF-1” und “QTAF-2” das erwartete Ergebnis lieferten. Der Testfall “QTAF-3” jedoch schlug fehl. Durch Klicken auf “QTAF-3” erhalten wir nähere Informationen zu diesem fehlgeschlagenen Testfall.

 

Image
5-xray-testschritte-ausfuehrungsdetails-jira.png

Bild: Ausführungsdetails der Testschritte in Xray. (Klicken zum Vergrößern) [Quelle: Jira]

 

Hier lässt sich erkennen, dass es im zweiten Schritt des Testfalls “QTAF-3” zu einem Fehler kam. Der erste Schritt wurde noch erfolgreich ausgeführt (grün), der dritte wurde erst gar nicht durchgeführt (grau). Durch Klicken auf den Button “Tatsächliches Ergebnis” können mehr Details über den fehlgeschlagenen Schritt eingeblendet werden

 

Image
6-xray-fehlerhafter-testschritt-jira.png
Bild: Fehlerhafter Testschritt in Xray. (Klicken zum Vergrößern) [Quelle: Jira]


 

Sie sehen, dass es offenbar zu folgendem Fehler kam: Es sollte ein Wert in das Google-Suchfeld eingetragen werden, jedoch konnte dieses Feld nicht gefunden werden, wie es aus der Fehlerbeschreibung hervorgeht. Weiterhin wurde ein Screenshot (google_search.jpg) angehängt, anhand dessen wir nachvollziehen können, wie die zu testende Seite zum Zeitpunkt des Fehlers aussah. Klicken wir diesen Screenshot nun an, sehen wir folgendes Bild:

 

Image
7-xray-google-suche.jpg

Bild: Google Suche. [Quelle: Google]

 

Wir können sehen, dass die Startseite von Google offensichtlich aufgerufen und korrekt dargestellt wurde. Jedoch konnte kein Wert in das Textfeld eingetragen werden, denn das Suchfeld ist leer.

Zusammenfassung

In diesem Abschnitt wurde Ihnen ein Beispiel für das Testmanagement mittels Xray vorgestellt. Es lassen sich Testfälle definieren und in Form von Test Sets / Repositories organisieren. Testfälle können weiterhin in einzelne Schritte untergliedert werden. Xray ermöglicht es, dass die Resultate vergangener Testdurchläufe bis auf Testschrittebene in Form von Texten und Bildern dokumentiert werden können.

Testautomatisierung mit Selenium und Integration/Verknüpfung mit Jira Xray

Testergebnisse können über eine Rest-API-Schnittstelle von einem Testtool an die Xray-API übermittelt werden. Für einige Testwerkzeuge wie etwa Selenium bietet Xray eine eigene Schnittstelle zum importieren der von den Testwerzeugen erstellen Reportings an. Somit müssen Testergebnisse nicht manuell übertragen werden, sondern können über den Import der Reportings automatisiert erfasst werden.

Für Cucumber existiert sogar die Möglichkeit, Testfälle direkt in Xray zu implementieren und ausführen zu lassen. Hierfür hinterlegt ein Tester den entsprechenden Gherkin-Code in Xray, woraus Xray entsprechende Feature-Files zusammenbauen wird. Dies ermöglicht es Testern ohne Zugang zum Git-Repository eines Testprojektes neue Testfälle anzulegen. Lediglich die Step-Definitionen müssen manuell erstellt werden.

Weitere Testmanagement Apps / Plugins für Jira

  • TestFLO
  • Zephryr für Jira
  • TestRail für Jira Testmanagement
  • qTest Scenario für Jira
  • SpiraTest

Fazit

Der Einsatz von Xray in einem Testprojekt sorgt für eine erhebliche Zeitersparnis und eine Steigerung der Effizienz des Testprojektes durch eine strukturierte Verwaltung der Erstellung, Ausführung, Dokumentation und des Reportings der Testfälle.

 

Image
5

Veröffentlicht am 10.Januar 2022

Aktualisiert am 23.April 2024

Moritz Salein

Senior Testmanager und Test Automation Engineer

Ich bin seit über 20 Jahren in der IT tätig, aber vor über 10 Jahren begann meine Passion des Softwaretestens. Seit dieser Zeit übernehme ich immer mehr Aufgaben die im Softwaretest, Testmanagement und auch ganz speziell in der Testautomatisierung anfallen. Dadurch bin ich in die unterschiedlichsten, meist international aufgestellten Unternehmen und Projekten beschäftigt gewesen. Auch in der agilen Softwareentwicklung fand ich großen Gefallen, so dass ich schon seit über 8 Jahren Erfahrungen mit verschiedensten Vorgehensweisen, wie Scrum, Kanban oder SAFe sammeln konnte.

Finden Sie weitere interessante Artikel zum Thema: