0511 874 590 50 info@agile-im.de
Sie finden den Artikel interessant? Teilen Sie ihn mit Ihrem Netzwerk!

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 SonarQubeIn 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:

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:

xray anforderung beschreiben

Erhalten Sie noch mehr Tipps vom Profi im Testautomatisierung mit der Jira App Xray Web-Seminar

weißer webinar bildschirm

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

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 erstellen

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:

xray cucumber test

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:

xray cucumber

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_workflow
  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 test ablauf

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:

Testergebnis auswerten xray

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 test auswerten

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

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

Haben Sie noch Fragen oder Anregungen zum Testautomatisierung mit der Jira App Xray Artikel? Dann kontaktieren Sie mich gerne direkt unter sbollwahn@agile-im.de

Erfahren Sie hier mehr über Atlassian Apps und Lizenzen.

Sabine Bollwahn

Atlassian Beraterin & Agile Coach, AIM

Diese Artikel könnten Sie auch interessieren: