Blog

Der ultimative Leitfaden: Testmanagement für Atlassian Jira

JUN 27, 2019

Testmanagement für Jira kann umständlich sein, aber verschiedene Atlassian-Jira-Add-ons erleichtern Managern und Testern die Arbeit. In diesem Blogbeitrag konzentrieren wir uns auf das Testmanagement mit Xray, das sich nach unserer Erfahrung und der unserer Kunden als das erfolgreichste Tool erwiesen hat.

Hamzah Mohamed

Es ist nicht ungewöhnlich, Testfälle in Jira zu verwalten. Issues eignen sich hervorragend, um Testspezifikationen und Testschritte darin zu dokumentieren.

Traditionell musstet ihr, wenn ihr Testmanagement mit Jira durchführen wolltet, neue benutzerdefinierte Felder für Testschritte und ein separates Feld für Anforderungen erstellen. Das wirkt oft umständlich und führt dazu, dass viele Jira für das Testmanagement nicht mehr nutzen und Testergebnisse stattdessen einfach in Confluence dokumentieren. Es gibt jedoch mehrere Jira-Add-ons, die Produktmanagern und Testern die Arbeit erleichtern.

Unserer Erfahrung nach sind die vier führenden Lösungen in diesem Bereich Xray von Xpand IT, Zephyr, TM4J von Adaptavist und SynapseRT von Go2Group.

Jedes Plugin hat Vor- und Nachteile. Wir und unsere Kunden haben mit Xray die besten Erfahrungen gemacht – darauf konzentrieren wir uns heute.

Was ist Xray Test Management für Jira?

Xray ist „ein vollständiges Testmanagement-Tool für Jira“. Das bedeutet, dass ein Projektmanager Robot-Framework-Testfälle definieren kann, die die Testentwickler anschließend erstellen sollen. Xray nutzt das zugrunde liegende Jira-Issues-System. Dadurch funktionieren alle üblichen Jira-Funktionen wie benutzerdefinierte Felder, Kommentare, JQL und die Jira REST API genauso wie bei allen anderen Issues in Jira.

Xray-Issue-Typen

Wenn Xray in Jira installiert wird, werden fünf neue Issue-Typen erstellt:

  • Vorbedingung

  • Testplan

  • Test-Set

  • Test

  • Testausführung

Die Issue-Typen können in Jira-Projekten verwendet werden, deren Issue-Type-Schema sie enthält. Um festzulegen, welche Projekte in Jira zum Speichern von Anforderungen verwendet werden sollen, kann der Jira-Projektadministrator in der Projektkonfiguration „Requirement Coverage“ aktivieren. Die Issue-Typen für Anforderungen werden in der Konfiguration für Xray Issue Type Mapping definiert.

  • Issue-Typ „Vorbedingung“Definiert, was erledigt sein muss, bevor Testschritte ausgeführt werden können.

  • Issue-Typ „Testplan“Definiert, welche Tests für welche Version ausgeführt werden sollen.

  • Issue-Typ „Test-Set“Eine Gruppe von Tests, beispielsweise alle Tests zu einer bestimmten Anwendungsfunktion. Ein Test kann mehreren Test-Sets angehören.

  • Issue-Typ „Test“Ein Testfall, der Testschritte, Aktionen und die erwarteten Ergebnisse enthält.

  • Issue-Typ „Testausführung“Stellt eine einzelne Ausführung eines Tests dar. Testausführungen können direkt über die Jenkins-Integration erstellt werden.

So verwendet ihr Xray in Jira

Schritt 1: Das Xray-Plugin installieren

Installiert das Plugin, indem ihr diese Anleitung befolgt: Xray-Installation. Ohne Lizenz werden die Xray-Panels nicht in der Jira-Benutzeroberfläche angezeigt. Denkt daher daran, auch die Lizenzanweisungen zu befolgen!

Die grundlegende Nutzung sieht folgendermaßen aus:

  • Der Testdesigner dokumentiert eine Testsuite mit dem Issue-Typ UserStory.

  • Unter dieser User Story wird ein einzelner Testfall als Issue erstellt. Dieses Issue hat den Issue-Typ Test. Ihr solltet diese Test-Issues in der Ansicht einer User Story erstellen, damit ihr sie einfacher miteinander verknüpfen könnt.

  • Wenn der Entwickler den Auftrag erhält, den Robot-Test zu schreiben, fügt er als Testfall-Tag den eindeutigen Schlüssel der Jira User Story hinzu, die die zu erstellende Test-Suite definiert.

  • Der Entwickler überträgt die Änderungen zusammen mit den Testfällen in die Versionsverwaltung, und der CI-Server ruft den Code ab.

  • Der CI-Server (in unserem Fall Jenkins) speichert die XML-Datei mit den Robot-Ergebnissen und sendet sie über die Xray-Integration an Jira.

  • Die Integration erstellt für jeden Testfall ein Test-Issue in Jira unterhalb der im Tag definierten User Story.

  • Jeder weitere Testlauf erstellt neue Issue-Einträge, die das Ergebnis (bestanden/nicht bestanden) des einzelnen Testfalls beschreiben.

  • User Story: Anmeldung sollte erfolgreich sein

Die vorhandenen Tests sind in einem Jira-Projekt strukturiert, in dem Xray aktiviert ist:

the ultimate guide test management for atlassian jira blog image 1

Xray bietet außerdem Reporting-Tools zur Nachverfolgung der Anforderungsabdeckung, Testausführungen und historischen Daten. Berichte zu Testplänen, Testausführungen, Testläufen und Rückverfolgbarkeit können auch als CSV exportiert werden.

the ultimate guide test management for atlassian jira blog image 2

Eine detaillierte Einführung in die Nutzung von Xray in Jira findet ihr in diesem Seminar von Xpand IT.

Folgende Themen werden behandelt:

  1. Xray konfigurieren

  2. Arbeiten mit Anforderungen

  3. Verschiedene Arten von Tests erstellen

  4. Eine Vorbedingung erstellen und in einem Test verwenden

  5. Verschiedene Ansätze zur Verwaltung der Testbibliothek in Xray

  6. Einen Testplan und Testausführungen erstellen

  7. Manuelle und automatisierte Tests ausführen

  8. Reporting-Funktionen

  9. Integration mit dem Xporter-Add-on

Xray konfigurieren

Wie integriere ich Xray mit Jenkins und Robot Framework?

Xray-Connector für Jenkins installieren

Dokumentationsseite zur Integration mit Jenkins

  1. Ladet die .hpi-Datei des Plugins herunter. Auf der Confluence-Seite Integration with Jenkins findet ihr Links zu den neuesten Releases. Öffnet ein Release und ladet die .hpi-Datei herunter.

  2. Öffnet die Jenkins-Benutzeroberfläche. Dafür benötigt ihr Administratorrechte.

  3. Navigiert zu Manage Jenkins. Öffnet den Plugin Manager. Klickt in der Plugin-Navigation auf den Tab Advanced. Scrollt nach unten, bis ihr Upload Plugin findet.

  4. Ladet die Datei xray-for-jira-connector.hpi hoch, die ihr in Schritt 1 heruntergeladen habt. Nach der Installation müsst ihr den Server möglicherweise neu starten.

  5. Navigiert nach dem Neustart des Servers zur Plugin-Seite, um zu prüfen, ob Xray installiert ist.

  6. Nach der Plugin-Installation könnt ihr Jenkins mit dem Jira-Server verbinden. Navigiert zu Jenkins > Manage Jenkins > Configure System.

  7. Sucht den Bereich für die Xray-Konfiguration. Unter „Configuration alias“ müsst ihr einen Namen für die Konfiguration eingeben. Die Serveradresse ist die Adresse eurer Jira-Instanz. Benutzername und Passwort müssen in der Jira-Instanz vorhanden sein und die Berechtigungen Create Test sowie Test Execution Issues haben.

Ladet die .hpi-Datei des Plugins herunter. Auf der Confluence-Seite Integration with Jenkins findet ihr Links zu den neuesten Releases. Öffnet ein Release und ladet die .hpi-Datei herunter.

Öffnet die Jenkins-Benutzeroberfläche. Dafür benötigt ihr Administratorrechte.

Navigiert zu Manage Jenkins. Öffnet den Plugin Manager. Klickt in der Plugin-Navigation auf den Tab Advanced. Scrollt nach unten, bis ihr Upload Plugin findet.

Ladet die Datei xray-for-jira-connector.hpi hoch, die ihr in Schritt 1 heruntergeladen habt. Nach der Installation müsst ihr den Server möglicherweise neu starten.

Navigiert nach dem Neustart des Servers zur Plugin-Seite, um zu prüfen, ob Xray installiert ist.

Nach der Plugin-Installation könnt ihr Jenkins mit dem Jira-Server verbinden. Navigiert zu Jenkins > Manage Jenkins > Configure System.

Sucht den Bereich für die Xray-Konfiguration. Unter „Configuration alias“ müsst ihr einen Namen für die Konfiguration eingeben. Die Serveradresse ist die Adresse eurer Jira-Instanz. Benutzername und Passwort müssen in der Jira-Instanz vorhanden sein und die Berechtigungen Create Test sowie Test Execution Issues haben.

Jenkins, Xray und Robot Framework gemeinsam nutzen

  1. Seht euch das Videoseminar an, um euch mit der Erstellung von Vorgängen vertraut zu machen (Abschnitt 2: verschiedene Testtypen erstellen).

  2. In Jira: Erstellt eine User Story, die die gewünschte Test Suite definiert. Öffnet nach dem Erstellen des Vorgangs diese User Story und klickt auf die Schaltfläche „Create Test“. Notiert anschließend die eindeutige ID der User Story.

  3. In Robot: Fügt die IDs der User Stories als Tags zu eurem Robot-Test hinzu. Für jedes Ticket einer User Story bzw. Test Suite sollte ein eigenes Tag reserviert sein: Xray - Robot XML Report Documentation Page.

  4. In Jenkins: Verwendet den Jenkins Pipeline Syntax Generator, um einen Step für Post-Run-Operationen im Jenkinsfile zu erstellen. Fügt mit diesem Step die eindeutige Projekt-ID zu eurem Jenkinsfile hinzu. Unten findet ihr ein Beispiel für einen Post-Step mit Artifact-Speicherung, Robot-Reporting und anschließendem Xray-Import (Senden der Robot-XML über das Xray-Jenkins-Plugin an Jira). In diesem Snippet lautet der Projektschlüssel EDS. Die Serverinstanz stammt aus den Einstellungen auf der Jenkins-Konfigurationsseite („Configuration ID“). Hier ist ein Beispiel für einen Pipeline-Step.

Seht euch das Videoseminar an, um euch mit der Erstellung von Vorgängen vertraut zu machen (Abschnitt 2: verschiedene Testtypen erstellen).

In Jira: Erstellt eine User Story, die die gewünschte Test Suite definiert. Öffnet nach dem Erstellen des Vorgangs diese User Story und klickt auf die Schaltfläche „Create Test“. Notiert anschließend die eindeutige ID der User Story.

In Robot: Fügt die IDs der User Stories als Tags zu eurem Robot-Test hinzu. Für jedes Ticket einer User Story bzw. Test Suite sollte ein eigenes Tag reserviert sein: Xray - Robot XML Report Documentation Page.

In Jenkins: Verwendet den Jenkins Pipeline Syntax Generator, um einen Step für Post-Run-Operationen im Jenkinsfile zu erstellen. Fügt mit diesem Step die eindeutige Projekt-ID zu eurem Jenkinsfile hinzu. Unten findet ihr ein Beispiel für einen Post-Step mit Artifact-Speicherung, Robot-Reporting und anschließendem Xray-Import (Senden der Robot-XML über das Xray-Jenkins-Plugin an Jira). In diesem Snippet lautet der Projektschlüssel EDS. Die Serverinstanz stammt aus den Einstellungen auf der Jenkins-Konfigurationsseite („Configuration ID“). Hier ist ein Beispiel für einen Pipeline-Step.

test management blog code-1

5. Nachdem ihr den Build und die Robot-Tests ausgeführt habt, kehrt zu Jira zurück und öffnet die erstellte User Story. Darunter findet ihr den erstellten Vorgang „Test“ und daneben die automatisch erstellten Vorgänge. Jeder Vorgang steht für ein Keyword. Alle Schlüssel findet ihr in einer einzelnen Robot-Datei unter einer „Test Execution“.

Möchtet ihr mehr über Testautomatisierung in der Softwareentwicklung erfahren?

Meine Kollegen bei Eficode haben mehrere hervorragende Blogbeiträge über Tests in der Softwarewelt und ihre entscheidende Bedeutung geschrieben, zum Beispiel über (Acceptance) Test-Driven Development und die Selbsteinschätzung zum Reifegrad der Testautomatisierung.

Der größte Vorteil von Testfällen in Jira besteht darin, dass ihr Anforderungen, Bugs und Stories in einem einzigen System verwalten könnt. Mit der leistungsstarken Suchfunktion von Jira findet ihr wahrscheinlich heraus, warum und wie etwas umgesetzt wurde. Wenn ihr Jira auch für die Verwaltung eures Helpdesks nutzt, bleiben Bug-Reporting, Fehlerbehebung und Tests ebenfalls in einer einzigen Anwendung.

Xpand IT arbeitet mit großer Sorgfalt an Xray und veröffentlicht kontinuierlich neue Features.

Wir werden Xray weiterhin genau verfolgen und halten Ausschau nach noch mehr Integrationen für automatisiertes Testen und weiteren kostensparenden Verbesserungen!

  • Eficode ROOT
  • Atlassian

Subscribe to our newsletter