Möchten Sie mit Ihrem Team teilnehmen? Ab drei Personen profitieren Sie von unseren Gruppenrabatten! Direkt im Shop buchen!

Woher nehme ich nur meine Testinfrastruktur?

Ob Microservices oder externe Dienste – unsere Anwendungen müssen früher oder später mit Diensten sprechen, die wir nicht mocken möchten oder können. Tests für diese Szenarien sind umstritten und sehr abhängig vom Einsatzszenario, Entwicklungs- und Deploymentmodell. Angefangen bei der Datenbank, dem SMTP-Server, externen Diensten bis hin zum Microservice des anderen Teams.

Bei Tasktop ist es Teil unserer täglichen Arbeit, genau solche Integrationen zu entwickeln und zu testen. Wir möchten einige Einblicke geben, was es bedeutet, mit über 60 Drittanbietern zu arbeiten, deren APIs zu konsumieren und das für insgesamt über 300 verschiedene Versionen der Tools. Jeder Build bei Tasktop lässt über 300.000 Integrationstests laufen, die zusammen mehr als 2 Millionen HTTP-Requests an die Systeme absetzen.

Der Vortrag gibt einen Einblick, inwieweit man eine solche Infrastruktur für Integrationstests am besten skaliert, wie man mit Bibliotheken wie "Testcontainers" sehr schnell selbst eine ähnliche Infrastruktur aufbauen kann. Als Beispiel dienen im Detail Testcontainers und JUnit 5, wir werden jedoch auch Beispiele betrachten, die zeigen, wie man Testcontainers in anderen Umgebungen (Node, Go etc.) einsetzen kann.

Vorkenntnisse

* Grundsätzliches Verständnis von DevOps, Automatisierung, agile Vorgehensweisen.
* Grundsätzliches Verständnis von Qualitätssicherung.
* Grundsätzliches Verständnis von xUnit bzw JUnit.

Lernziele

* Einblicke, wie man Tests gegen externe Systeme entwickelt.
* Einblicke, wann es Sinn ergibt, gegen den Strom zu schwimmen (und nicht mockt).
* Testcontainers, Docker, Kubernetes, JUnit 4/5 sind nur einige technische Aspekte die wir beleuchten.

Speaker

 

Benjamin Muskalla
Benjamin Muskalla ist Staff Software Engineer bei Tasktop Technologies. Sein dortiger Arbeitsschwerpunkt liegt momentan bei Tasktop Integration Hub. Als Eclipse-Committer, Autor und Sprecher auf diversen Konferenz versucht er seine Erkenntnisse mit andere zu teilen. Seine fachlichen Interessen liegen insbesondere in den Bereichen Softwarequalität, Testen und Automatisierung.

CLC-Newsletter

Sie möchten über die Continuous Lifecycle und die ContainerConf auf dem Laufenden gehalten werden?

 

Anmelden