Infrastruktur & Tests

Nimmst du teil?

27 Plätze frei

Teilen:
Bild des Veranstaltungsortes

Details

In unserem vierten Meetup widmen wir uns dem Thema Infrastruktur & Tests. Als Gastredner haben wir dieses mal Sandra Parsick und Kevin Witteck gewinnen können.

Zu Sandras Vortrag 'Testen von und mit Infrastruktur - "Integration Testing done right" 😉':
Heutzutage läuft eine Software nicht für sich alleine, sondern agiert
mit Anderen. Die Kommunikation erfolgt meist über verschiedene
Protokolle, sprich über verschiedene Infrastruktur-Komponenten. Gerade
beim Testen stellt sich die Frage, wie kann der Entwickler Tests so
schreiben, dass sie von einem bestimmten Infrastruktur-Setup unabhängig
sind. Meistens gelingt es nicht und dann wird dieser Teil der Software
erst spät bei den End-2-End-Tests geprüft. Doch gerade mit Microservices
und dem Paradigma "Wenn etwas schiefläuft, dann schnell wie möglich"
möchte der Entwickler schon zu einem früheren Testzeitpunkt, z.B. bei
Entwicklertests, erfahren, wenn bei diesem Teil der Software etwas
schiefläuft. Zudem macht die Infrastruktur nicht beim Anwendungscode
halt. Mittlerweile wird die Infrastruktur immer mehr mithilfe von Code
(Provisionierungsskripte, Dockerfiles, (Shell-) Skripte etc. )
beschrieben und automatisiert. Auch bei diesem Code möchte der
Entwickler sicher gehen können, dass er so funktioniert wie erwartet.
Dieser Vortrag zeigt anhand einer Java-Anwendung, wie man mithilfe von
3rd-Party-Libraries die Infrastruktur in den Tests der Anwendung
einbinden kann, ohne sich gleich von einer bestimmten Infrastruktur
abhängig zu machen. Darüber hinaus, wird darauf eingegangen, wie die
Qualität des Infrastruktur-Codes gesichert werden kann, angefangen bei
klassischen Provisionierungswerkzeugen bis hin zu Container.

Zu Sandra:
Sandra Parsick ist als freiberufliche Softwareentwicklerin und
Consultant im Java-Umfeld tätig. Seit 2008 beschäftigt sie sich mit
agiler Softwareentwicklung in verschiedenen Rollen. Ihre Schwerpunkte
liegen im Bereich der Java Enterprise Anwendungen, agilen Methoden,
Software Craftsmanship und in der Automatisierung von
Softwareentwicklungsprozessen. Darüber schreibt sie gerne Artikel und
spricht gerne auf Konferenzen. In ihrer Freizeit engagiert sie sich in
der Softwerkskammer Ruhrgebiet.

Zu Kevins Vortrag 'Integration Testing mit Docker und Testcontainers':
Unit testing is fine, but without proper integration testing, especially if you work with external resources like databases and other services, you might not know how your application will actually behave once it has been deployed to the real production environment.
Before Docker, configuring the environment for integration testing was painful – people were using fake database implementations, mocking servers, usually it was not cross-platform as well. However, thanks to Docker, now we can quickly prepare the environment for our tests.
In this talk I would like to show how you can use Testcontainers ( (link: https://github.com/testcontainers/testcontainers-java) github.com/testcontainers… ) – a popular Java testing library that harnesses Docker to easily, reliably, spin up test dependencies.
We will use it with a Spring Boot microservice and test against real PostgreSQL and MongoDB data stores, we’ll isolate it from other microservices, then start Selenium browsers in Docker and test our application, and all with the same library!

Zu Kevin: Testcontainers co-maintainer and Testcontainers-Spock author. Software Craftsman and testing fan. Loves to play the electric guitar and is a musician in his second life. Found his own company during his university years, developing mobile apps and client-server applications, which lead to his discovery of Grails and the Groovy ecosystem. Fell in love with TDD because of Spock.
Nowadays Kevin is working as a Software Engineer at codecentric AG and focuses on topics such as software craftsmanship, infrastructure as code and continuous integration pipelines, trying to make the world a better place one container at a time.