Beschreibung
Das Thema Unit-Testing und Test Driven Development (TDD) ist in nahezu jedem Softwareprojekt von Bedeutung. Diese Schulung vermittelt kurz das notwendige Grundlagenwissen, um dann tiefer in die verschiedenen Fragestellungen einzutauchen, die für das erfolgreiche Unit-Testing relevant sind. Test Driven Development hilft dabei – auch aus didaktischen Gründen – ein besseres Bewusstsein für die Schwierigkeiten und Herausforderungen zu entwickeln. Es wird eine Vielzahl an Techniken, wie explanation tests, learning tests oder triangulation, vermittelt und geübt, welche später auch außerhalb des TDD-Kontext angewendet werden können. Abgerundet wird die Schulung mit einem speziellen Blick auf die Problematik des Unit-Testing im Legacy-Code Umfeld. Während TDD am liebsten ohne existierenden Code startet, stellen die großen Mengen an existierendem Quellcode im Alltag oft eine zusätzliche Herausforderung dar. Dieser lässt sich häufig schwer testen, ist komplex und Änderungen daran bergen ein hohes Fehlerrisiko. Die größte Schwierigkeit dabei ist die hohe Kopplung, d.h. Abhängigkeiten zu vielen anderen Teilen des Quellcodes, welche einer Isolation des zu testenden Codes entgegenwirken. Um diese in den Griff zu bekommen, vermittelt die Schulung hilfreiche Dependency-Breaking-Techniken und grundlegende Vorgehensweisen für dieses Umfeld.
Die Teilnehmer/-innen bekommen durch die Schulung das notwendige Wissen über Techniken und Methodiken, um wartbare und wertvolle Unit-Tests entwickeln zu können. Sie erleben das Zusammenspiel zwischen Unit-Tests und gutem Design und sind gerüstet, um auch bestehenden Legacy-Quellcode testen zu können. Die Teilnehmer/-innen lernen dabei, wie man durch die Unit-Tests zu einem guten Design im Produktivcode kommt. Sie werden in die Lage versetzt sich bewusst mit Seams, Enabling- und Interception-Punkten in ihrem Programmcode auseinander zu setzen. Dadurch entsteht flexiblerer Code, welcher nicht nur leichter zu testen, sondern auch wartbarer und besser verständlich ist.
Methodik Neben der reinen Wissensvermittlung üben die Teilnehmenden die Inhalte aktiv an Beispielaufgaben ein. Um dabei möglichst nah am Entwicklungsalltag zu bleiben, verwenden sie dazu ihre bevorzugte Programmiersprache und Testumgebung. Während den Übungen steht es den Teilnehmerinnen und Teilnehmern frei, das Erlernte auch im eigenen Projekt anzuwenden und sofern möglich, Erkenntnisse daraus zu diskutieren. Voraussetzungen Die Teilnehmer/-innen benötigen für die Übungen einen eigenen Rechner mit funktionierender Unit-Testing-Umgebung. (Tests und Produktiv-Code erstellen, Tests ausführen, Ergebnisse sehen). Für die Übungen werden auch die eigene Projektumgebung und Quellcode verwendet und die Teilnehmenden sind dabei angehalten die Inhalte der Schulung bereits in diesem Rahmen auf ihren Alltag zu übertragen. Dabei entstehende Fragen oder Hilfestellungen durch den Trainer können allerdings nur erfolgen, wenn dies gemäß der projekt-spezifischen Vereinbarungen (NDA) erlaubt ist. Die Teilnehmenden sollten daher vor der Schulung ihre projekt-spezifischen Grenzen in Erfahrung bringen.
Die Schulung richtet sich primär an Softwareentwickler/-innen, aber auch an interessierte Tester/-innen, die mehr über den Zusammenhang zwischen Unit-Tests und Codedesign erfahren möchten.
Montag, 6. und Dienstag, 7. November 2023
jeweils von 9.00 bis 17.00 Uhr inkl. Pausen
Motivation
– Vor- und Nachteile
– organisatorische und persönliche Voraussetzungen
Wichtige Begrifflichkeiten
– Coverage
– Seams
– Dependency Breaking
Aufbau von Unit Tests
– Struktur
– Verhalten
– Erweiterbarkeit
– Ausführung
Test Driven Development
– Definition
– Techniken
TDD Patterns
– Red Bar Patterns
– Testing Patterns
– Green Bar Patterns
Dependency-Breaking-Techniken
– Ausnutzen der Objekthierarchie
– Static/globalen Zustand ersetzen
Testen von Legacy-Code
– Zielsetzung
– Cover and Modify
– häufige Fragen
Best Practices
– Feedback-Geschwindigkeit
– Wertschöpfung sicherstellen
Kommende Starttermine
Videopräsentation
Infos anfordern

TAE – Berufliche Fort- und Weiterbildung
Die Technische Akademie Esslingen (TAE) gehört seit mehr als 65 Jahren zu den bedeutendsten Anbietern für berufsvorbereitende und berufliche Qualifizierungen Deutschlands. Die TAE deckt mit jährlich rund 1.000 Veranstaltungen in 17 verschiedenen Themenbereichen nahezu jedes Feld ab, zu dem man sich...
Erfahren Sie mehr über TAE - Technische Akademie Esslingen e.V. und weitere Kurse des Anbieters.