The Whole Nine Yards - Integrationstests für Softwareentwickler

 
11:35 - 12:15
 
Seminarraum 1.812

Wir schreiben alle Unit Tests für unseren Code, richtig? Wir haben eine Code Coverage von über 90% und treiben sie Richtung 100%, richtig?

Aber reicht das?

Ich denke Nein. Ein Unit Test ist wie, wenn man einzelne Legosteine kontrolliert: Das die alle in Ordnung sind, die passende Form haben und schön fest zusammen steckbar sind, ist wichtig. Wenn ich das für alle Legosteine überprüft habe, weiß ich aber immer noch nicht, ob das Haus, das ich daraus gebaut habe meinen Anforderungen entspricht.

Wir brauchen also auch Integrationstests. Aber warum reden alle von Unittests und kaum einer von Integrationstests? Weil sie oft schlecht zu warten sind. Weil sie langsam sind. Weil sie schwer zu automatisieren sind.

In diesem Vortrag stelle ich einige Strategien vor wie man zu guten Integrationstests kommen kann, die einem wirklich helfen in der Entwicklung stabiler Softwaresysteme. Wichtige Fragen zu denen Anregungen gegeben werden sind:

  • Wie geht man mit Drittsystemen um, zu denen man Schnittstellen hat?
  • Auf welche Weisen kann man die Datenbank in den Griff bekommen?
  • Schreibe ich meine Integrationstests in einem Unittesttool wie JUnit?
  • Wie kann ich verhindern, dass meine schönen Integrationstests von den Testern ignoriert und manuell wiederholt werden?

Jens Schauder

T-Systems onsite services GmbH, Deutschland

Jens Schauder ist Softwareentwickler aus Leidenschaft. In Zeitschriftenartikeln, seinem Blog, Konferenzvorträgen oder seiner Mitarbeit bei der JUG Ostfalen versucht er die Welt der Softwareentwicklung ein klein wenig besser zu machen. Besonders wichtig ist ihm dabei die Vielseitigkeit der Softwareentwicklung: Vom Fachwissen, über Programmiersprachen, Bibliotheken und Tools bis zu Vorgehensmodellen, alles gehört dazu und kann verbessert werden. Seine meisten Vorträge drehen sich um die Themen Scala, Clean Code und Testen.

Seit 2012 arbeitet Jens Schauder für die T-Systems on site services GmbH als Executive Consultant. Neben der Software Entwicklung gehört der Aufbau und Verbreitung von Wissen zu seinen wesentlichen Aufgaben.

In seiner Freizeit arbeitet er an Degraph einer Bibliothek zur Visualisierung und dem Test von Package Abhängigkeiten.