Das 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 kann beschreibt unser Artikel Qualitätssicherung mit SonarQube.
In diesem Artikel hier 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 vom Testautomatisierung mit der Jira App Xray Artikel:
- 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 z.B. separate Berechtigungen für Anforderer und Tester zu vergeben. Der Anforderungs-Status im Screenshot steht auf UNCOVERED, da es zu dieser Anforderung noch keinen Test gibt der diesen 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 von allen untergeordneten User Stories.
Cucumber Test erstellen
Um sicher zu stellen, 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 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 ein Cucumber Scenario Outline. Dies erlaubt es auch gleich Testdaten und -ergebnisse in Jira zu verwalten und dem Test mitzugeben:
EXAMPLES:
Das hat den Vorteil, dass beim Ändern der Testdaten nicht noch ein 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, dann wechselt der Anforderungs-Status 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 werden in Jira als Xray-Test-Vorgänge erstellt und mittels der Gherkin-Sprache beschrieben, siehe voriges Kapitel „Cucumber Test erstellen“
- Cucumber Tests werden als Feature Files aus Jira exportiert:
Den Export des Tests aus Jira übernimmt ein CI Tool (z. B. Bamboo, Jenkins etc.). Dabei wird das gesamte Cucumber Szenario und die Zuordnungen des Tests zur User Story und zum Epic ebenfalls mit in das s.g. Feature File exportiert. - Test Code wird erstellt
Zur Weiterverarbeitung wird das Feature File z. B. in Bitbucket oder Git abgelegt. Dann hat der Entwickler alle Informationen zusammen und kann mit der Entwicklung des Tests beginnen. - Tests werden in der CI Umgebung ausgeführt
Nach Fertigstellung des Tests, ist dieser bereit zur automatisierten Ausführung durch das CI Tool, z.B. jede Nacht oder vor einem Release. - Testergebnisse werden zum Xray-Test-Vorgang in Jira zurückgemeldet, siehe folgendes Kapitel „Testergebnis auswerten“
Cucumber Tests können auch vom Entwickler in der Codeverwaltung geschrieben werden. Hält er sich dabei an die Namenskonventionen von den Anforderungen (User Story und Epic), dann wird der Test beim Jira Import automatisch auch in Jira erstellt und den Anforderungen zugeordnet. Durch diese Zuordnung wird ebenfalls der Anforderungs-Status angepasst, siehe folgendes Kapitel „Testergebnis auswerten“. So wird der Report zur Testabdeckung „automatisch“ erweitert, ohne dass in Jira weitere Anpassungen nötig sind
Generic Tests
Für andere automatisierte Tests wird häufig ein anderer Ablauf verwendet:
Hierbei wird erst der automatisierte Test vom Entwickler geschrieben, dann vom CI Tool ausgeführt und der Test inklusive Testergebnis in Xray importiert.
Dieses Vorgehen empfiehlt sich z. B. bei Unit Tests. Der Entwickler entwickelt diese. Nach der Ausführung im CI Tool werden die Tests als Generic Tests in Jira erstellt und die Testausführung 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
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?…
Oktober 12, 2022
Podcast Folge: Testmanagement in Jira mit Xray
Die Agile-Test.Bar ist ein Podcast von Qytera Software Testing Solutions, der…
Oktober 10, 2022
AIM ist Xray Certified Partner
Seit 2016 unterstützen wir mit Xray unsere Kunden mit Workshops und Trainings…
März 15, 2021
Ist Trello das richtige Organisationstool für Ihr Team?
Mit der Übernahme des 2011 gegründeten Trello erweiterte Atlassian in 2017 das…