Integration ist schwer, Integrationstests umso mehr

Ob Microservices oder externe Dienste – unsere Anwendungen müssen früher oder später mit Diensten sprechen, die wir nicht unter Kontrolle haben. Tests für diese Szenarien sind umstritten und sehr abhängig von Einsatzszenario, Entwicklungs- und Deploymentmodell.

Bei Tasktop ist es unser tägliches Brot, 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 über alle verfügbaren 300 Versionen der Tools hinweg. Jeder Build bei Tasktop lässt über 300.000 Integrationstests laufen, die zusammen mehr als 2 Millionen HTTP-Requests an die Systeme absetzen.

In dem Vortrag klären wir die Frage, warum und wie wir unsere Testinfrastuktur exakt so aufgebaut haben, was die Vor- und Nachteile sind und welche Effekte dies auf die Entwicklung hat. Wir werden uns der Frage stellen, wann es Sinn macht externe System zu mocken und welche Gründe für eine alternative Methodik sprechen.

Wir werden auch einige Tipps und Tricks zeigen, wie man eine solche Test- und Testumgebungsinfrastuktur auch in Zukunft skaliert.

Vorkenntnisse

* Grundsätzliches Verständnis von Devops, Automatisierung, agile Vorgehensweisen.
* Grundsätzliches Verständnis von Qualitätssicherung.

Lernziele

* Erfahrungen, wie man gegen Systeme von Drittanbietern testet.
* Erfahrungen, wann es Sinn ergibt, gegen den Strom zu schwimmen (und nicht mockt).
* Chef, Puppet, Ansible, Docker, Kubernetes, Gerrit, JUnit 4/5, TCK und Chatbots sind nur einige technische Aspekte die wir beleuchten.

 

Agenda

ab 8.30 Uhr Registrierung und Begrüßungskaffee

9.30 Uhr Beginn

Intro

Machine Learning

  • Was ist Machine Learning?
  • Der typische ML Workflow
  • Was sind neuronale Netze?
  • Jupyter Lab mit Python
  • Eine Einführung in TensorFlow
  • Keras als High-Level API für TensorFlow

Praxisteil: Deep Learning Modelle mit Keras

  • Datengeneratoren
  • Datasets explorativ analysieren
  • Hold-Out vs. Cross Validation

11.00 - 11.15 Uhr: Kaffeepause

Praxisteil: Deep Learning Modelle mit Keras

  • Feed-Forward Netzarchitektur
  • Convolutional Neural Networks als Deep Learning Ansatz
  • Evaluation und Visualisierung des Modells

12.30 - 13.30 Uhr: Mittagspause

Pipelines mit Luigi

  • Anforderungen an produktive Modelle
  • Übersicht über Luigi und dessen Module
  • Bau eines Beispiel-Workflows

Praxisteil: Den Keras-Workflow mit Luigi implementieren

  • Anforderungen an produktive Modelle
  • Übersicht über Luigi und dessen Module
  • Bau eines Beispiel-Workflows

15.30 - 15.45 Uhr: Kaffeepause

Praxisteil: TensorFlow-Serving

  • Übersicht über TensorFlow-Serving
  • Ladestrategien konfigurieren
  • Deployment des Modells

ca. 17.00 Uhr: Ende

 

Referent

 

Benjamin Muskalla Benjamin Muskalla ist Principal Software Engineer bei Tasktop Technologies. Sein dortiger Arbeitsschwerpunkt liegt in der Entwicklung von Frameworks, die Tasktop-Produkte unterstützen. Er setzt sich intensiv für die Eclipse-Community ein und gibt seine Erfahrungen regelmäßig als Sprecher und Autor weiter. Seine fachlichen Interessen liegen insbesondere in den Bereichen Softwarequalität, Testen und Automatisierung.

Platin-Sponsor

Gold-Sponsor

Silber-Sponsoren


CLC-Newsletter

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

 

Anmelden