Test-driven Development mit CI/CD-Pipelines

Vom 03. bis 06. Oktober findet die diesjährige Ausgabe der Londoner JAX statt. Die JAX ist die größte und bekannteste Konferenz-Reihe im Java-Umfeld. Conciso ist mit einer englischsprachigen Session dabei.

Veranstaltungsdaten

Art:

Konferenz

Datum:

03.10.–06.10.2022

Ort:

Preis:

ab £467 (ca. €570)

Anmeldung:

Veranstalter:

Kalender:

Teile diese Veranstaltung

Eine der großen Stärken von Microservice-Architekturen besteht darin, dass die einzelnen Services unabhängig voneinander voll automatisch und dadurch mit hoher Kadenz gebaut, getestet und bei Bedarf auch ausgeliefert werden können.
Dazu werden CI/CD-Pipelines eingesetzt, die heute von immer größerer Bedeutung werden, da sie bei gelebtem Continuous Deployment nicht nur Build- und Test-Aspekte sondern auch das kritische Deployment in die Produktion umfassen.

Vollkommen zurecht wird in der DevOps-Community daher seit einiger Zeit dafür geworben, den lange Zeit eher nachlässig behandelten Pipelines mit der selben Sorgsamkeit zu begegnen wie dem Anwendungscode – zuletzt unter dem Stichwort „DevSecOps“. Zu den wesentlichen Prinzipien zählt dabei, dass jeder für die Sicherheit von Pipelines verantwortlich ist und diese von Anfang an mitbedacht werden sollte, so wie es sich bei der Entwicklung von Software als gute Praxis herausgestellt hat.

Aus der Softwareentwicklung wissen wir aber auch: Konsequente Qualitätssicherung ist unerlässlich und zahlt sich insbesondere langfristig aus. Hier gilt inzwischen die testgetriebene Entwicklung als lege artis, bei der vor der Implementierung von Funktionalität zunächst die Softwaretests erstellt werden. Übertragen auf Pipelines stellt sich somit die Frage, ob sich diese ebenfalls testgetrieben entwickeln lassen.

In dieser live-coding Session entwickeln wir am Beispiel des beliebten und weit verbreiteten Automatisierungsservers Jenkins Schritt für Schritt dar, wie eine CI/CD-Pipeline vollkommen testgetrieben entwickelt werden kann. Dazu entwickeln wir anhand konkreter Codebeispiele eine CI/CD-Pipeline für einen beispielhaften Microservice von Grund auf unter Beachtung der TDD-Prinzipien neu und zeigen wie sich mit den entsprechend konfigurierten Plugins die gängigen Konzepte des Softwaretestens wie Unit-Tests, Assertions und Mocks anwenden lassen.

Die Veranstaltung findet in englischer Sprache statt.

Speaker:

Profilbild von Lukas Pradel
Lukas Pradel –
Senior Consultant