Das zweitägige Seminar befasst sich mit dem Prozess der fortlaufenden Integration von Komponenten zu einem System mit dem Ziel der Steigerung der Softwarequalität. Dabei wird typischerweise durchgehend überprüft, ob sich die Anwendung noch erstellen lässt. Um die Qualität der Software noch weiter zu erhöhen und beständig zu gewährleisten, sollten sich diesem Prozess noch weitere Schritte wie automatisierte Tests anschließen.

Gerade in Softwareprojekten mit mehreren Entwicklern kommt es immer wieder vor, dass nicht eingepflegte Dateien oder Änderungen an Komponenten eines Systems dazu führen, dass es sich nicht mehr erstellen lässt oder Teilbereiche nicht mehr funktionieren. Das kann ein großes Hindernis in der Weiterentwicklung des Projektes darstellen, wenn sich z.B. der verantwortliche Entwickler im Urlaub befindet.

Um dieser Problematik entgegenzuwirken, wurde der Prozess des Continuous Integration (CI) etabliert. Dabei dient ein Server gewissermaßen als weiterer Mitarbeiter, der im einfachsten Fall nur dafür zuständig ist, nach jeder Änderung das Projekt neu zu erstellen.

Dieser praxisorientierte Workshop erläutert Ihnen die Grundlagen des Continuous Integration sowie auch Grundlagen des professionellen Softwaretests. Im praktischen Teil lernen Sie, wie Sie eine Versionsverwaltung am Beispiel Subversion aufsetzen. Anhand eines Beispielprojektes und mit Hilfe des Google Test Frameworks werden Sie in diesem Training verschiedene Arten des dynamischen Tests durchführen. Mit CppCheck lernen Sie ein praktisches statisches Analysewerkzeug kennen, mit dem Sie manche Fehler schon im Vorfeld erkennen können, ohne die Software ausgeführt zu haben. Unter Verwendung des CI-Servers Jenkins werden Sie alle erlernten Schritte zu einem automatisierten Prozess verbinden. Dabei werden sich Theorie und Praxisteil jeweils abwechseln.

Das Beispielprojekt besteht aus einer Server-Applikation, die sich auf dem BeagleBone Black befindet, und einem Client, der auf der Workstation läuft. Der Fokus dieses Seminars liegt auf der kontinuierlichen Integration der auf dem Embedded System befindlichen Server-Applikation. Dabei wird Ihnen u.a. gezeigt, wie man Hardware in the Loop (HiL) Tests automatisiert und mit Jenkins realisiert.

AGENDA

Tag 1

Tag 2


VORKENNTNISSE

Die Teilnehmer sollten praktische Kenntnisse in der Programmierung mit C/C++ haben. Vorkenntnisse im Testen sind nicht notwendig.

TECHNISCHE VORAUSSETZUNGEN

Eigener Laptop (alle technischen Details erhalten Sie in Ihrer Teilnahmebestätigung)


ZIELGRUPPE

Entwicklung, Projektmanagement

Anfrage stellen