Wenn Teams, die mit automatisierten Tests arbeiten, ihren Zyklus in der Produktveröffentlichung optimieren wollen, kann DevOps ein entscheidender Hebel sein. Wir zeigen, wie ein leistungsfähiges DevOps-Setup, das Testautomatisierung und Reporting umfasst, den Release-Zyklus beschleunigen kann!
Für Unternehmen, die in regulierten Branchen tätig sind, ist es von entscheidender Bedeutung, Berichte und Nachverfolgbarkeit in ihre DevOps-Pipeline zu integrieren. Durch Automatisierung dieser Schritte können Unternehmen den Release-Zyklus so verkürzen, dass sie Berichte alle zwei Wochen oder sogar noch häufiger veröffentlichen können.
Integration von automatisierten Tests in eine DevOps-Pipeline
Die Automatisierung des Großteils von Tests hilft dabei in zweierlei Hinsicht:
- Regressionen kurz vor dem Ereignis werden identifiziert. Sobald ein Commit einen fehlgeschlagenen Test verursacht, wird der Entwickler aufgefordert, das Problem zu beheben.
- Der Testzyklus vor der Veröffentlichung und damit letztendlich der kritische Pfad vom letzten Commit bis zur Produktionsfreigabe werden verkürzt.
Die Idee: Jeder Commit löst einen Build- und einen Testzyklus aus. Wenn der Testzyklus positiv ausfällt, folgt eine automatische Bereitstellung in der Staging-Umgebung. Die automatisierten Tests gehören dann zu den letzten Schritten in der neuen DevOps-Pipeline.
Von allen Investitionen in DevOps sind die automatisierten Tests allerdings auch der größte Posten. Eine hohe Investition in automatisierte Tests ist nur vor dem Hintergrund der Geschäftsziele gerechtfertigt.
Berichte und Rückverfolgbarkeit mit DevOps bereitstellen
Ein Unternehmen, das in der Medizinbranche tätig ist und beispielsweise eine App verwaltet, unterliegt gesetzlichen Verpflichtungen. Für die Freigabe einer neuen Version muss es umfangreiche Test- und Rückverfolgbarkeitsberichte bereitstellen. Dies sind die Schritte zur Erstellung dieser Berichte:
- Der letzte Commit von Softwareänderungen löst einen Build eines Release-Kandidaten aus
- Die Pipeline führt die automatisierten Tests durch. Wenn sie grün sind, importiert die Pipeline die Testergebnisse in Jira.
- Ein manueller Testzyklus findet statt. Dank der hohen Investitionen in die Testautomatisierung dauern die manuellen Testzyklen nur einen Tag.
- Der Produktmanager erstellt den abschließenden Testbericht und die Rückverfolgbarkeitsberichte. Dies geschieht mit einem einzigen Klick – dank Jira Snapshots für Confluence. Sie leiten die Berichte zur Überprüfung und elektronischen Unterschrift in Confluence weiter.
- Die Freigabe kann in weniger als zwei Tagen nach der letzten Softwareübergabe erfolgen.
Schauen wir uns genauer an, wie das funktioniert. Hier kommen die Tipps und Tricks, damit die DevOps auch in Ihrem Team funktionieren!
Importieren der Ergebnisse von automatisierten Tests in Jira/Xray
Einer der Gründe, warum betroffene Unternehmen sich für Xray entscheiden, ist: Xray bietet native Unterstützung für viele Test-Frameworks. (Einige Unternehmen verwenden einen Mix aus verschiedenen Technologien, wobei jede davon Testberichte in einem anderen nativen Format erzeugt).
Xray bietet eine Integration im JSON-Format, das den Testern den Import in Jira über die API ermöglicht. So kann das Test-Team für jedes Framework einen kleinen Konverter implementieren, der den nativen Bericht in dieses Standardformat umwandelt. Der Aufwand für diese Implementierung ist gering und lohnt sich. Denn so können alle Tests standardisierte Berichte erzeugen, die von Xray unterstützt werden.
Das Importieren dieser Berichte in Jira liegt in der Verantwortung des DevOps-Teams. Von ihrer Seite aus müssen sie am Ende den Import eines einzigen Formats unterstützen. So sind die Verantwortlichkeiten (zwischen Testern und DevOps-Ingenieuren) komplett getrennt.
Um die Arbeit der Tester effizienter zu machen, müssen nicht nur die Testergebnisse, sondern auch die Testfälle selbst in Jira durch die Pipeline erstellt werden. Wenn ein neuer Test zum ersten Mal ausgeführt wird und im Testergebnisbericht erscheint, sorgt der Import in Xray/Jira dafür, dass der entsprechende Testfall in Jira erstellt wird.
Manuelle und automatische Testfälle und Testausführunge in und über Jira/Xray verwalten
In Jira verwaltet Xray manuelle und automatisierte Tests mit den gleichen Vorgangstypen. Beide sind TEST-Typen. Der Unterschied wird durch den Testtyp angezeigt: Manuell vs. generisch. Wenn die DevOps-Pipeline neue Tests in Jira erstellt, wird der Testtyp auf generisch gesetzt.
Ein zentrales Thema für Unternehmen in der Medizinbranche ist die Testabdeckung. Aus regulatorischer Sicht müssen sie nachweisen, dass alle Anforderungen durch Tests abgedeckt sind.
In Jira wird die Testabdeckung durch einen Jira-Link von der Testaufgabe zur Spezifikation der Anforderung an die Aufgabe ausgedrückt. Diese Verknüpfung wird in Jira manuell erstellt – sowohl für die manuellen als auch für die automatisierten Tests. Eine wartungsarme Aktivität mit hoher Hebelwirkung; Einmal hinzugefügt, erleichtert eine Verknüpfung die Nachvollziehbarkeit von Berichten für die kommenden Jahre.
Jedes Mal, wenn die Pipeline ein Ergebnis eines automatisierten Tests in Jira importiert, wird dies als Testlauf erfasst:
Tests und Rückverfolgbarkeitsberichte erzeugen
Sobald der letzte Testzyklus abgeschlossen ist, können Berichte für die Tests und Rückverfolgbarkeit erstellt werden.
Xray verfügt von Haus aus über starke Berichtsfunktionen. Einige Teams verwalten jedoch ihre gesamte Dokumentation in Confluence und möchten einen Confluence-basierten Berichtsfluss haben. Dafür können sie Jira Snapshots für Confluence installieren, zusammen mit den Snapshots Traceability Extensions für Confluence, die die Integration mit Xray ermöglichen.
Ein Pluspunkt ist, dass Jira Snapshots einen „no code“-Ansatz für die Anpassung von Berichten bietet. Die Produktmanager können nun Berichte genau so erstellen, wie sie sie benötigen.
Dank Jira Snapshots können die Produktmanager die Berichtsseiten vorbereiten, lange bevor die Version fertig ist. Sie müssen dann nur noch die neuesten Informationen aus Jira in die Seiten einfügen. Sobald der manuelle Testzyklus abgeschlossen ist, benachrichtigt der Tester den Product Owner. Mit einem Klick wird der Snapshot auf jeder Seite mit den neuesten Daten aktualisiert. Und der Bericht ist fertig.
Unternehmen können alle Genehmigungsprozesse für ihre Dokumente in Confluence einrichten lassen. Wenn diese beiden Berichte fertig sind, werden sie sofort zur Überprüfung und Genehmigung weitergeleitet.
Auf diese Weise dauert es nur ein paar Stunden vom letzten Testlauf bis zur Freigabe der Berichte und der Software.
Eine neue Produktfreigabe-Realität
- Automatisierte Tests den Großteil der Testabdeckung liefern. Eine begrenzte Sammlung hochwertiger manueller Testskripte vervollständigt die Pipeline, um eine vollständige Abdeckung zu erreichen.
- Alle Testergebnisse, automatische und manuelle, in Jira und Xray zusammenlaufen. Ein Klick genügt, um Test- und Rückverfolgbarkeitsberichte zu erstellen, die der Vorlage entsprechen. Jira Snapshot (mit Snapshots Traceability Extensions) bietet diese Möglichkeit in Confluence.
Mit dieser Pipeline ist die Zeit von der Codeübergabe bis zur Freigabe einer neuen Version kürzer und weitaus weniger stressig.
Wenn Unternehmen diesen Prozess ein paar Mal durchlaufen haben und eine optimale Veröffentlichungshäufigkeit erreicht haben, werden sie die Auswirkungen dieser Änderung überall spüren: Nicht nur die Benutzer schwärmen von den schnellen Fortschritten, auch jedes Teammitglied hat das Gefühl, dass es einen viel unmittelbareren Einfluss auf das Produkt hat.
Note:
Das Diagrammbild im Post wird freundlicherweise von © XRay zur Verfügung gestellt. Alle Rechte vorbehalten.