"Integration Testing done right" – Testen von und mit Infrastruktur

Heutzutage läuft eine Software nicht für sich alleine, sondern agiert mit anderer. Die Kommunikation erfolgt meist über verschiedene Protokolle, sprich über unterschiedliche Infrastrukturkomponenten. 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 so schnell wie möglich" möchte der Entwickler schon zu einem früheren Testzeitpunkt, zum Beispiel bei Entwicklertests, erfahren, ob bei diesem Teil der Software etwas schiefläuft. Zudem macht die Infrastruktur nicht beim Anwendungscode halt. Mittlerweile wird die Infrastruktur immer mehr mit Code (Provisionierungsskripte, Dockerfiles, (Shell-) Skripte etc. ) beschrieben und automatisiert. Auch bei diesem Code möchte der Entwickler sichergehen können, dass er so funktioniert, wie erwartet.

Vorkenntnisse

* Java-Kenntnisse sind hilfreich.

Lernziele

* Dieser Vortrag zeigt anhand einer Java-Anwendung, wie man mit 3rd-Party-Libraries die Infrastruktur in den Tests der Anwendung einbinden kann, ohne sich gleich von einer bestimmten Infrastruktur abhängig zu machen.
* Es wird außerdem darauf eingegangen, wie sich die Qualität des Infrastrukturcodes sichern lässt.

Speaker

 

Sandra Parsick
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 von Java-Enterprise-Anwendungen, agilen Methoden, Software Craftsmanship und in der Automatisierung von Softwareentwicklungsprozessen. Darüber spricht sie auch gerne bei Konferenzen. In ihrer Freizeit engagiert sie sich in der Softwerkskammer Ruhrgebiet.

CC-Newsletter

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

 

Anmelden