Dass Testautomatisierung wichtig ist und den Großteil der Tests darstellen sollte, haben wir bereits im Artikel ‚Qualitätssteigerung durch automatisierte Unit-Tests‘ beschrieben. Auch dass Unit-Tests z. B. mit SonarQube ausgewertet werden können, beschreibt unser Artikel ‚Qualitätssicherung mit SonarQube‘.
In diesem Artikel soll es darum gehen, dass automatisierte Tests und Testdaten in Jira verwaltet und die Testergebnisse mit Xray ausgewertet werden können. Als Testbeispiel verwenden wir hier einen Cucumber-Test, der einen GUI-Test beschreibt.
Inhalt des Artikels ‚Testautomatisierung mit der Jira-App Xray‘:
- Anforderung beschreiben
- Cucumber-Test erstellen
- Test automatisieren
- Testergebnis auswerten
Anforderung beschreiben
Nehmen wir an, wir wollen einen Online-Shop entwickeln und hier als Beispiel die Login-Funktion automatisiert testen.
Der Anforderer hat dazu bereits eine User Story erstellt: DXRP-23
In unserem Beispiel verwenden wir für die Anforderungen ein separates Anforderungsprojekt in Jira. Die Tests und die Testausführungen befinden sich in einem anderen Projekt. Diese Trennung ermöglicht es z. B., separate Berechtigungen für Anforderer und Tester zu vergeben. Der Anforderungsstatus im Screenshot steht auf UNCOVERED, da es zu dieser Anforderung noch keinen Test gibt, der diese abdeckt:
Im Traceability Report (Rückverfolgbarkeitsbericht) von Xray lässt sich gut erkennen, welche einzelnen Anforderungen bereits eine Testabdeckung haben und wie der Teststatus ist. Unsere User Story DXRP-32 ist dem Epic DXRP-31 zugeordnet. So erhält auch das Epic als Überanforderung einen aufsummierten Anforderungsstatus aus allen untergeordneten User Stories.
Cucumber Test erstellen
Um sicherzustellen, dass die beschriebene Funktion später der Anforderung entspricht, wird vor der Entwicklung der neuen Funktion bereits der Test beschrieben. Das ist ein übliches Vorgehen, wenn Tests automatisiert werden sollen. Dabei beschreibt ein Nicht-Entwickler den Test, damit der Entwickler später genau weiß, was die neue Anforderung können muss. Hierbei hat sich zur Beschreibung des Tests die Gherkin-Sprache durchgesetzt, mit der ein Cucumber-Test erstellt werden kann. Gherkin ist eine natürliche Sprache und kann daher nach kurzer Einführung von Nicht-Entwicklern geschrieben werden. In unserem Beispiel haben wir dazu einen Test in unserem separaten Testprojekt erstellt: DXTP-109
Ein Cucumber Test wird mit der Gherkin Sprache beschrieben (Auszug):
GIVEN [Vorbedingung]
WHEN [Aktion]
THEN [Ergebnis]
In unserem Beispiel verwenden wir eine Cucumber-Scenario-Outline. Dies erlaubt es, Testdaten und -ergebnisse direkt in Jira zu verwalten und dem Test mitzugeben:
EXAMPLES:
Das hat den Vorteil, dass beim Ändern der Testdaten kein Entwickler hinzugezogen werden muss, der den Testcode ändert. Zum Beispiel kann so auch der Anforderer selbst die Testdaten verändern oder erweitern.
Ist für eine Anforderung in Jira mindestens ein Test erstellt worden, wechselt der Anforderungsstatus zu NOTRUN.
Test automatisieren
Cucumber Tests
Ein typischer Ablauf von der Test-Erstellung über die -Ausführung bis hin zur -Auswertung, insbesondere bei agilen Teams, kann folgender sein:
Cucumber-Tests in Jira verwalten
Cucumber-Tests werden in Jira als Xray-Test-Vorgänge erstellt und mittels der Gherkin-Sprache beschrieben (siehe vorheriges Kapitel „Cucumber-Test erstellen“).
Cucumber-Tests werden als Feature-Files aus Jira exportiert.
Export des Tests aus Jira:
Den Export des Tests übernimmt ein CI-Tool (z. B. Bamboo, Jenkins etc.). Dabei werden das gesamte Cucumber-Szenario sowie die Zuordnungen des Tests zur User Story und zum Epic in das sogenannte Feature-File exportiert.
Erstellung des Testcodes:
Zur Weiterverarbeitung wird das Feature-File z. B. in Bitbucket oder Git abgelegt. Dadurch hat der Entwickler alle notwendigen Informationen zusammen und kann mit der Entwicklung des Tests beginnen.
Ausführung der Tests in der CI-Umgebung:
Nach Fertigstellung des Tests ist dieser bereit zur automatisierten Ausführung durch das CI-Tool, z. B. jede Nacht oder vor einem Release.
Rückmeldung der Testergebnisse:
Die Testergebnisse werden zum entsprechenden Xray-Test-Vorgang in Jira zurückgemeldet (siehe folgendes Kapitel „Testergebnis auswerten“).
Cucumber-Tests direkt in der Codeverwaltung erstellen
Cucumber-Tests können auch vom Entwickler direkt in der Codeverwaltung geschrieben werden. Wenn der Entwickler dabei die Namenskonventionen der Anforderungen (User Story und Epic) einhält, wird der Test beim Jira-Import automatisch in Jira erstellt und den entsprechenden Anforderungen zugeordnet.
Durch diese Zuordnung wird ebenfalls der Anforderungsstatus angepasst (siehe folgendes Kapitel „Testergebnis auswerten“). Auf diese Weise wird der Report zur Testabdeckung „automatisch“ erweitert, ohne dass in Jira zusätzliche Anpassungen erforderlich sind.
Generic-Tests
Für andere automatisierte Tests wird häufig ein abweichender Ablauf verwendet:
Hierbei wird zuerst der automatisierte Test von der Entwickler:in geschrieben, anschließend vom CI-Tool ausgeführt und der Test inklusive Testergebnis in Xray importiert.
Dieses Vorgehen empfiehlt sich z. B. bei Unit-Tests: Die Entwickler*innen erstellen diese Tests. Nach der Ausführung im CI-Tool werden die Tests als Generic-Tests in Jira angelegt, und die Testausführung wird mit dem Testergebnis ebenfalls erstellt und verknüpft.
Testergebnis auswerten in der Jira App Xray
Bei Cucumber Tests werden die Testergebnisse immer an neuen Test Executions zurückgemeldet. Dafür sorgt die Import Schnittstelle von Xray. In unserem Beispiel wird zunächst die Test Execution DXTP-123 automatisch erstellt und mit dem Cucumber Test DXTP-109 verknüpft. Anschließend wird der Test Status gesetzt, im Erfolgsfall auf PASS.
Online-Seminar Testautomatisierung mit Xray
Sie haben Fragen?
…oder Anregungen zum Artikel? Dann ist Sabine die richtige Ansprechpartnerin für Sie:
Atlassian Beraterin
Sabine Bollwahn
Als Atlassian-Beraterin, Agile Coach und Expertin für Prozessmanagement unterstützt Sabine Teams bei ihrer agilen Transition. Sabines praxisnahe Ansätze fördern eine Kultur der kontinuierlichen Verbesserung und Innovation, wodurch die Effizienz und Zusammenarbeit in Ihrem Unternehmen nachhaltig gesteigert werden.
Weitere Beiträge
Januar 6, 2025
So gelingt modernes Projektmanagement mit Atlassian Jira: Tipps und Funktionen im Überblick
In der heutigen Geschäftswelt sind datengetriebene Entscheidungen kein Luxus…
Dezember 11, 2024
Use Case: VHV Versicherungen – Mit dem Data Driven Testing Tool (DDT) Testprozesse automatisiert und effizient durchführen
In der heutigen Geschäftswelt sind datengetriebene Entscheidungen kein Luxus…
November 20, 2024
Effizientes Testmanagement in Jira – Xray erfolgreich mit AIM einführen
In der heutigen Geschäftswelt sind datengetriebene Entscheidungen kein Luxus…
Juli 23, 2024
Podcast-Folge: Testmanagement mit Xray at Scale
Die Agile-Test.Bar ist der Podcast von Qytera Software Testing Solutions, der…
Juni 27, 2024
Die richtige Wahl: Projekttypen und Konfigurationen in Jira für optimale Teamarbeit
In der heutigen dynamischen Geschäftswelt ist effizientes Projektmanagement…
März 28, 2024
Die Sicherheit von Kundendaten: Atlassian Cloud vs. Eigene Server
In der heutigen digitalen Welt ist die Sicherheit von Daten ein zentrales…
August 1, 2023
Wie hängen das Qualitätsmanagement, die Qualitätssicherung und das Testmanagement zusammen?
Im SEP gewährleistet Qualitätsmanagement eine hohe Produktqualität und sorgt…
Februar 2, 2023
6 Phasen einer erfolgreichen Cloud-Migration
Nutzen Sie noch Atlassian Server/Data Center und spüren den Drang in die Cloud?…