Vorgangstypen für das Testmanagement mit Jira

Print Friendly, PDF & Email

Vorgangstypen für das Testmanagement mit Jira

Übersicht

Testmanagement ist das Zusammenspiel verschiedener Disziplinen und Aufgaben.
Deshalb werden in vielen Unternehmen unterschiedliche Anforderungen und Umsetzungen eingesetzt.
In diesem Beitrag wird gezeigt, welche Disziplinen des Testmanagements in Jira mit einfachen Mitteln umgesetzt werden können.
Weiter wird gezeigt,welche Vorgangstypen, Felder und Status im Jira Testmanagement erforderlich sind.
Der Artikel geht von getrennten Jira-Projekten für Entwicklung und Test aus, die Beschreibung ist sicher auch für ein gemeinsames Jira-Projekt geeignet.

Welche Disziplinen des Testmanagements gibt es?

Software-Test ist die Überprüfung, ob eine Applikation sich so verhält, wie es beschrieben ist.
Testaktivitäten umfassen sowohl die Testdurchführung als auch die Teststeuerung und auch die Abstimmung mit der Entwicklung und den Stakeholdern.
An der Stelle gleich ein kleiner Seitenblick:

Ein Testfall setzt eine messbare Anforderung voraus.
Gibt es keine messbare Anforderung, gibt es keinen TestTest, sondern einen Versuch oder eine Probe.
Wer Anforderungen schreiben will, findet hier den Weg zu Formulierungshilfen: Anforderungen eindeutig formulieren

Das ISTQB (International Software Testing Qualification Board) unterscheidet diese Phasen im fundamentalen Testprozess: Testplanung und -steuerung, Testanalyse und dem Testentwurf, Testrealisierung und -durchführung, Bewertung der Ausgangskriterien und der Bericht mit dem Testabschluss.
ZAHN strukturiert im Beitrag Testmanagement in Jira – Fehler effektiver nachvollziehen die Teilbereiche des Testmanagements in diesen fünf Phasen: Prüfplanung, Testdurchführung, Testüberwachung, Test-Reporting, Teststeuerung.
Diese Phasen sind zeitintensiv und sie widersprechen den Vorstellungen agiler Entwicklungsmethoden, in denen die Dokumentation gern nach hinten priorisiert wird.
Denn der Grundsatz des agilen Manifests den Satz "Working software over comprehensive documentation" (Funktionierende Software über ausführliche Dokumentation) scheint ausführlichen Test zu vernachlässigen.
Gleichzeitig erhöhen nachvollziehbare Tests das Vertrauen in die Software.

Der De-Facto-Standard in Software-Entwicklungs-Prozessen ist Jira.
Deshalb wird Jira auch oft zum Fehlermanagement eingesetzt.
Aus den Fehlermeldungen entstehen neue Entwicklungsaufträge.
Die anderen Elemente des Testmanagements bleiben zumindest in Jira mitunter außen vor.
Das liegt daran, dass Defekts einen direkten Einfluss auf die Entwicklung der Software besitzen.
Alle anderen Momente des Testmanagements "kosten ja nur extra".
Bis zu dem Tag,

  • an dem das Projektmanagement nach Testabdeckung und Nachvollziehbarkeit von Anforderungen fragt,
  • wenn die Stakeholder wissen wollen, warum der Fehler nicht eher gefunden wurde,
  • an dem eine neue Anforderung getestet werden soll.

Welche Phasen des Software-Entwicklungs-Prozesses sind in Jira abgebildet?

Nicht nur Softwaretests, sondern auch die Softwareentwicklung ist ein vielschichtiger Prozess.
Heißt dass, dass die Softwareproduktion wichtiger ist als die Dokumentation der Prozesse?
Der Fokus agiler Arbeitsprozesse ist es, dass in der Software-Entwicklung entwickelt wird und brillante Spezialisten nicht mit Aufgaben behelligt werden, die ihnen nicht liegen.
Agile Prozesse entstanden aus den monolithischen Softwareentwicklungsprozessen wie V-Modell, Wasserfallprozess oder Rational Unified Process.
Da ist es oft so: Anforderungen entwickeln sich und zeitraubende Prozesse lassen Ideen manchmal verschwinden oder es stellt sich heraus, dass die im Design angedachte Idee nicht realisierbar ist.
Anwender wissen haben das fertige Produkt und wissen nicht, was sie mit dem Ergebnis tun sollen.
Deshalb sind agile Ansätze im Software-Entwicklungs-Prozess hauptsächlich darauf gerichtet, den Fokus bei der Idee zu lassen, sich nicht zu verzetteln und Entwickler entwickeln zu lassen.
Softwarearbeiten werden so atomisiert, dass sie rasch umsetzbar sind.
Diesen Abläufen muss sich auch der Software-Test stellen.

Exkurs – Software-Entwicklungs-Prozess

Bis zum fertigen Produkt durchläuft die Software unterschiedliche Phasen.
Dazu gehören

  • Design,
  • Architektur,
  • Entwicklung,
  • Prüfung,
  • Inbetriebnahme,
  • Betrieb und Wartung und
  • Projektsteuerung.

Weiter kommen dazu die erforderlichen Steuerungsprozesse hinzu und jede einzelne Phase hat unterschiedliche Detaillierungsniveaus.
Je nach Reifegrad der Software werden die genannten Phasen unterschiedlich oft und lang erneut durchlaufen.
Betrachten wir Abläufe und Zustände, wie ich sie oft in Unternehmen antreffe.

  • Anforderungen werden in externen Applikationen verwaltet,
  • Softwaretests beschränken sich auf Unittests und Linting,
  • Schnittstellentests werden rudimentär durchgeführt,
  • Entwicklungssteuerung nutzt Jira,
  • Code wird extern verwaltet,
  • Testplanung und Testreporting ist für externe Abnahmeprozesse vorgesehen mit eigenen Regelungen an Dokumente.

Der status quo in der Software-Erstellung ist ein buntes Neben- und Miteinander von verschiedenen spezialisierten Werkzeugen.
Das Resümee ist: Für die Verwaltung und Durchführung von Software-Tests bleibt oft kein Werkzeug übrig.
An welcher Stelle kann eine Strukturierung von Jira-Prozessen die Softwareentwicklung unterstützen?

Wie können Test-Tätigkeiten in Jira abgebildet werden?

Die Herausforderung beim Einsatz von Jira ist, dass Testmanagement in ein Administrationssystem für die Softwareentwicklung gedrückt wird.
Im Softwaretest gibt es sowohl Elemente, die irgendwann abgeschlossen sind und es gibt Elemente, die nicht fertig sind.
Die Testdurchführung allerdings ist nur für eine bestimmte Version abgeschlossen.
Andere Elemente – und darauf weisen verschiedene Autoren hin – sind nicht zu Ende.
Abstrakte oder konkrete Testfälle sind nicht fertig, sondern sind für spätere Versionen wieder nutzbar.
Wenn Testfälle nicht den Status "Abgeschlossen" erreichen, sind sie mit wenig Aufwand in Jira wiederverwendbar.
Auf der anderen Seite sind die Testdurchführungen eines Testfalls genau an eine bestimmte Version gebunden.
Erst wenn eine Testdurchführung "Abgeschlossen" ist, kann eine Version in Betrieb genommen werden.
Darüber hinaus sind alle Aktivitäten, die zur Teststeuerung gehören zu einer bestimmten Version des Produkts.

Testaktivitäten sind am besten so in Jira abzubilden, dass Testfälle konstant bleiben, aber ihre Durchführung mit einem Release verknüpft wird.
Ideal wäre es, wenn auch für einen Testfall erkennbar ist, mit welcher Version und welcher Änderung sich eine Änderung im Testergebnis ergeben hat.
Insofern ähneln Testfälle eher einer Anforderung.
Die Anforderung wird ja auch nicht fertig, sondern sie wird umgesetzt.
Die Umsetzung einer Anforderung erfolgt mit Benutzergeschichten.
Ist eine Benutzergeschichte implementiert, ist die Anforderung immer noch vorhanden.
Ein Testfall weist die Umsetzung einer Anforderung nach und ein Testfall existiert so lange, so lange eine Anforderung existiert.
Anforderung und Testfall sind wie die beiden Pole eines Magneten, es gibt sie nicht einzeln.
Wenn Testfälle einen Vorgangstyp besitzen, der im Arbeitsablauf von Jira abgeschlossen werden kann, müssen sie mit viel Arbeit – praktisch durch viel Klicken – wieder belebt werden.
Anderseits kann ein Release nicht beendet werden, wenn ein Testfall abgeschlossen ist.
Ein Teufelskreis.
Bleibt die Frage, ob es Vorgangstypen in Jira gibt, die die Testplanung und -steuerung und auch die -durchführung ermöglichen.

Welche Jira-Vorgangstypen sind zur Abbildung des Softwaretests erforderlich?

Die üblichen Vorgangstypen von Jira sind Epic, Task, Story, Bug, Sub-Task.
Darüber hinaus können eigene Vorgangstypen angelegt werden.
Für die Vorgänge ist ein Standardarbeitsablauf oder Workflow vorgesehen, der aus diesen Schritten besteht: Geöffnet, In Arbeit, Gelöst, Geschlossen, Wiedergeöffnet.
Auch für Arbeitsschritte ist es wesentlich, sie überschaubar zu halten.
Diese Prinzipien sollen auch für Arbeitsschritte gelten, die im Testmanagement eingesetzt werden.
Die zusätzlich benötigten Vorgangstypen und Zusammenfassungen sind

  • Testfall,
  • Testdurchführung,
  • Testlog,
  • Abweichung,
  • Testplan und
  • Testbericht.

Der Testfall beschreibt den Ablauf der Testdurchführung und wird nur dann "geschlossen", wenn die Anforderung nicht mehr im Lieferungsumfang enthalten ist.
Die Testdurchführung ist eine Sammlung von Testfällen, die für eine bestimmte Version durchgeführt werden.
Sie kann in Jira als Epic abgebildet werden.
Sie hat Verbindungen zu Testumgebungen und zu den durchgeführten Testfällen.
Im Testlog wird das Testergebnis eines Testlaufs dargestellt.
Durch die Abarbeitung der Testschritte im Testfall bekommen die Testfälle in der Testdurchführung Leben eingehaucht.
Ein Testlog ist eine Unteraufgabe (Sub-Task) eines Testfalls.
Auf diese Weise bleiben Testfälle und die Testergebnisse zusammen.
Sollte ein Testlauf scheitern, wird zusätzlich zum Testlog eine Abweichung aufgenommen.
Sind in einem Testlauf mehrere Defekts festgestellt worden, werden mehrere Abweichungen aufgenommen.
Die Abweichung hat Angaben aus dem Testlog und dem dazugehörigen Testfall und ist mit einer bestimmten Testdurchführung verknüpft.
Im Testplan werden als Epic Testfälle für bestimmte Komponenten zusammengefasst.
Testpläne können in Jira einem Release zugeordnet werden.

Vorgangstyp Felder Verbindungen Zustände
Testfall Name, ID, Beschreibung, Vorbedingung, Schritte, Erwartung, Testdaten Anforderung, Testlauf Erstellt, In Arbeit, Testbereit, Archiviert
Testdurchführung Version des Systems Testumgebung Testfall, Testlog Geplant, In Arbeit, Erledigt
Testlog Getestete Version, Testumgebung, Aktuelles Verhalten, Testergebnis, Logdateien Testfall, Testlauf, Abweichung Geplant, In Arbeit, Blockiert, Bestanden, Gescheitert
Abweichung Beschreibung, Log-Dateien Testlog, Testfall Erstellt, In Arbeit, Umgesetzt, Verifiziert, Veröffentlicht, Abgeschlossen
Testplan Getestete Version, Testumgebungen, Komponenten Testfall, Testlauf Geplant, In Arbeit, Erledigt
Testbericht Fortschritt, Bugs je Prio, Modul, Testlauf, Status, Umgebung, … Testlauf Geplant, In Arbeit, Erledigt

Welche Felder werden für die Vorgangstypen in Jira benötigt?

Felder für den Vorgang Testfall und Testdurchführung

Wenn Testfälle ein "ewiges Leben" zumindest in Jira haben, können sie immer wieder verwendet werden.
Deshalb sollen Testfälle einen Arbeitsablauf besitzen, der nicht mit abgeschlossen endet.
Da sie nicht abgeschlossen sind, sollen Testfälle nicht einer bestimmten Version zugeordnet werden.
Die Zustände eines Testfalls beschreiben die Phasen der Entstehung und sind Erstellt, In Bearbeitung, Testbereit und Archiviert.
Für einen Testfall sind zunächst die Angaben Bezeichnung, ID und kurze Beschreibung erforderlich.
Außerdem hat ein Testfall eine Verbindung zu einer Anforderung.
Die Anforderung ist entweder auch in Jira abgebildet oder es ist eine externe Referenz.
Ein Testfall hat darüber hinaus die Felder Vorbedingung, eventuell eine Nachbedingung, außerdem Testdaten, Arbeitsschritte und das erwartete Ergebnis.
Die Zusammenfassung von Testfällen lässt sich in Jira als Epic darstellen.
Als objektive Grundlage bieten sich zur Klassifizierung der Epics die Systemkomponenten an.
Testfälle sind in Jira ein separater Vorgangstyp.

Die Durchführung von Testfällen sind in Jira als separater Vorgangstyp beschrieben.
Als zusätzliche Felder im Vergleich zum Testfall kommen Version und Testumgebung hinzu.
Eine Testdurchführung hat die Zustände Geplant, In Arbeit, Blockiert, Bestanden, Gescheitert.
Der initiale Zustand ist "Geplant".
Die Überschrift der Testdurchführung wird von den getesteten Versionen eines Systems abgeleitet.
Neben den Testfällen hat eine Testdurchführung einen Testplan als weiteren Vorgang.
Die Zusammenfassung von Testdurchführungen als Testplan kann in Jira als Epic dargestellt werden.
Mit der Jira-Automatisierung kann die Unteraufgabe Testdurchführung angelegt werden, wenn ein Testfall mit einer Testdurchführung verknüpft wird.
In diesem Fall sind die Angaben des Testfalls und der Testdurchführung zu übernehmen.
Durch die Verknüpfung der Testdurchführung mit den Testfällen kann die Testabdeckung der Anforderung über die einzelnen Versionen einer Applikation ermittelt werden.

Felder für die Vorgänge Testlog und Abweichung

Bei der Durchführung eines Testfalls wird ein Testlog angelegt.
Das Testlog ist ein separater Vorgang und eine Unteraufgabe eines Testfalls.
Wenn die Testdurchführung mit dem Zustand "Gescheitert" endet, ist zusätzlich ein Fehlerbericht als Abweichung aufzunehmen.
Im Fehlerbericht sind die Testschritte aus dem Testfall bis zum Scheitern darzustellen.
Außerdem ist das tatsächliche Verhalten zu beschreiben und die Version und die Umgebung aus der Testdurchführung zu notieren.
Da Jira keine Unteraufgaben von Unteraufgaben kennt, ist der Fehlerbericht als Unteraufgabe des Testfalls anzulegen.
Wenn die Jira Automatisierung eingeschaltet ist, kann der Fehlerbericht erstellt werden, wenn als Zustand der Testdurchführung "Gescheitert" eingetragen wird.
Bildaufnahmen, Log-Dateien und andere Anhänge sind dem Fehlerbericht beizulegen.
Der Fehlerbericht ist ein neuer Typ für die Unteraufgabe eines Testfalls.
Fehlerberichte haben den Zustand Erstellt, In Arbeit, Umgesetzt, Verifiziert, Veröffentlicht, Abgeschlossen.
Für den Zustand Abgeschlossen können verschiedene qualifizierende Kriterien eingeführt werden.
Das sind zum Beispiel Duplikat oder Abgelehnt.
Eine Abweichung gehört zu so einem Testfall und sind im Softwareentwicklungsprojekt einer Entwicklungsaufgabe zuzuweisen.

Welche Quellen wurden genutzt?

Weiterführende Links

Bildquellen

  • Testall als zentraler Vorgangstyp in Jira: © Speech & Phone GmbH | All Rights Reserved
sds29
  • sds29
  • S Dahms mag Wörter und unterstützt seit 2021 das Testteam der Speech & Phone GmbH und das Redaktionsteam.

-+=