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
xray anforderung beschreiben

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:

xray Anforderung beschreiben

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

xray 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

xray cucumber test

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.

Tracebility Report Xray

Im Tracebility Report ist auch diese Änderung sofort ersichtlich.

Der Anforderungs-Status vom Epic bleibt weiterhin auf NOTRUN, da beide Anforderungen mindestens einen Test zur Abdeckung haben und noch kein Test ausgeführt wurde.

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
  1. Cucumber Tests werden in Jira als Xray-Test-Vorgänge erstellt und mittels der Gherkin-Sprache beschrieben, siehe voriges Kapitel „Cucumber Test erstellen“
  2. 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.
  3. 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.
  4. 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.
  5. 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:

Generic Tests

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 xray 1

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.

xray test auswerten 2

Sehen wir uns jetzt noch einmal die Anforderung des Login Features DXRP-32 an, dann hat sich durch die letzte Testausführung der Anforderungs-Status zu OK geändert.

xray traceability report

Auch im Traceability Report lässt sich jetzt erkennen, das alles grün ist. Daher ist der Anforderungs-Status des Epics ebenfalls OK. Voraussetzung dazu ist, dass alle aktuellen Testausführungen der Tests erfolgreich waren.

xray traceability report jira

Schlägt auch nur eine Testausführung fehl, so zieht sich diese Information bis zum Epic nach oben durch.

Online-Seminar Testautomatisierung mit Xray

Lernen Sie im Online-Seminar mehr über den Aufbau von Xray und dessen Vorgangstypen sowie wie Sie ganz einfach manuelle und automatisierte Tests erstellen können.
Mehr Details zum Seminar

Sie haben Fragen?

…oder Anregungen zum Artikel? Dann ist Sabine die richtige Ansprechpartnerin für Sie:

Sabine Bollwahn

 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.