Unit Testing Deep Dive
Grundlegende und weiterführende Konzepte und Praktiken für Unit Testing von Software
Unit Testing Deep Dive
Florian Ege
Florian Ege arbeitet bei der Konzept Informationssysteme GmbH in verschiedenen Projekten aus dem Industrie- und Wissenschaftsumfeld und ist zudem als Trainer für Schulungen im Bereich Softwarequalität und Testing tätig. Vor seinem Einstieg bei Konzept hat er als wissenschaftlicher Mitarbeiter im universitären Umfeld umfangreiche Erfahrungen in Softwaretechnik und Projektmanagement gesammelt und mehrsemestrige Softwareprojekte mit bis zu 200 Teilnehmern geleitet. Dabei lag sein Fokus stets auf der Korrektheit und Robustheit der Software, insbesondere im Hinblick auf architektonische Aspekte, die die Testbarkeit fördern. Sein Interesse an Methoden und Techniken des Software Testings entstand aus seiner langjährigen Erfahrung in Forschung, Lehre und industrieller Praxis, die er nun sowohl in der Industrie als auch in Schulungen weitergibt.
Die Bedeutung von Software nimmt im Informationszeitalter stetig zu. Darum wird es immer wichtiger, Software schnell und in hoher Qualität zu entwickeln. Schlecht durchgeführte Entwicklungsprozesse kosten Zeit und Geld. Fehlerhafte Software kann im schlimmsten Fall zu katastrophalen Schäden führen.
Methodisch angewandtes Unit Testing sollte integraler Teil jedes größeren Softwareentwicklungsprozesses sein. Das Ziel dabei ist, von vornherein Code zu erstellen, der funktional korrekt ist, und eine höhere Qualität bezüglich Struktur und Stil hat. Ein positiver Nebeneffekt von gutem Testing ist auch ein auf lange Sicht schnellerer Projektfortschritt und weniger Frustration bei Entwicklungsteams.
Ziel der Weiterbildung
Bewusstsein für die Bedeutung von Korrektheit und Qualität von Software entwickeln
- Erkennen von Vorteilen und positivem Einfluss auf Entwicklungsprojekte
- Abbau von Vorurteilen und Missverständnissen bzgl. Testing
Verständnis des theoretischen Hintergrunds von Software Testing und der damit verbundenen Terminologie erlangen
- Grundlagenwissen, dass das Verstehen und die Einordnung von existierenden Technologien/Frameworks erlaubt
Erlernen und Anwenden von konkreten Methoden und Techniken für Unit Testing
- Kennen von Best Practices und Hintergründen
- Erlangung der Fähigkeit, in konkreten Fällen abzuwägen und sinnvolle Entscheidungen zu treffen
Montag, 7. und Dienstag, 8. April 2025
jeweils von 9.00 bis 17.00 Uhr, inkl. Pausen
Grundlagen von Unit Testing
- Motivation für Software/Unit Testing
- Abwägung von Vorteilen und Nachteilen, Nutzen und Kosten bei Testing
- Terminologie
- Struktur und Ausführung von Unit Tests
Test Driven Development
- Motivation und Grundlagen der Methode
- TDD-Terminologie
- Pattern und Best Practices für die einzelnen Phasen des TDD-Zyklus
- Diskussion von Vorteilen/Nachteilen
Dependency Breaking
- Zusammenhang zwischen Architektur/Struktur von Source Code und dessen Testbarkeit
- verschiedene Herausforderungen bei Testing und Strategien zur Überwindung von Schwierigkeiten bei stark gekoppelten Modulen
- Einsatz von Mocking-Techniken
Testing von Legacy Code
- spezielle Herausforderungen bei Wartung und Testing von Legacy Code
- Strategien zum selektiven Testen von bisher ungetestetem Legacy Code
- Techniken zur Verbesserung der Testbarkeit
Testing und Concurrency
- Techniken zur Beherrschung des Zeitverhaltens bei Testing von nebenläufigem/parallelem Code
Best Practices für Testing und Software Engineering
- allgemeine Regeln für Wann/Was/Wie etc. bei Testing
- kurzer Anriss zu Clean Code
Übungen
- theoretische und praktische Übungen im Querschnitt durch alle Teile der Schulung
- Running Example: zwei durchgehende Beispielprojekte
gemeinsame Übung in der Gruppe
individuelle Übung - ggf. flexible Anwendungsübungen, die sich aus Diskussionen oder Fragen ergeben
Diese Schulung richtet sich an Personen, die individuell oder im Team komplexe Softwaresysteme entwickeln und ihre Fähigkeiten im Bereich Software Testing erweitern möchten. Die Teilnehmenden sollten einen Rechner mit einer installierten Softwareentwicklungsumgebung und einem Testing Framework ihrer Wahl mitbringen. Die praktischen Übungen können flexibel in verschiedenen Programmiersprachen gemacht werden.
Florian Ege
Dr. rer. nat. Frank Raiser
ONLINE
Die Teilnahme beinhaltet ausführliche Unterlagen.
Preis:
Die Teilnahmegebühr beträgt:
1.280,00 €
(MwSt.-frei)
Fördermöglichkeiten:
Für den aktuellen Veranstaltungstermin steht Ihnen die ESF-Fachkursförderung leider nicht zur Verfügung.
Für alle weiteren Termine erkundigen Sie sich bitte vorab bei unserer Anmeldung.
Andere Bundesland-spezifische Fördermöglichkeiten finden Sie hier.
Inhouse Durchführung:
Sie möchten diese Veranstaltung firmenintern bei Ihnen vor Ort durchführen? Dann fragen Sie jetzt ein individuelles Inhouse-Training an.
Bewertungen unserer Teilnehmer
Dies könnte Sie auch interessieren:
Fragen zur Veranstaltung?
Ihr Ansprechpartner für die Veranstaltung
Hier finden Sie eine Übersicht aller Rezensionen .