Unit Testing in der Softwareentwicklung - Deep Dive

Test Driven Development

Auf einen Blick

2 Tages-Seminar
videocam Live-Online 07.11.2022 - 08.11.2022
9:00 Uhr
Online
EUR 1.240,00(MwSt.-frei)
weniger bezahlen – so geht´s
Veranstaltung Nr. 35917.00.001


Referent:
Dr. rer. nat. Frank Raiser
Konzept Informationssysteme GmbH, Standort Ulm

Seite Unit%20Testing%20in%20der%20Softwareentwicklung%20%2D%20Deep%20Dive als PDF speichernSeite als PDF speichern

Seminar weiterempfehlen

Inhouse-Durchführung anfragen


Teilnehmer dieser Veranstaltung interessierten sich auch für

in Zusammenarbeit mit

Gesellschaft für Informatik (GI)

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.

Ziel der Weiterbildung

Teilnehmerinnen und Teilnehmer 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 Teilnehmerinnen und Teilnehmer 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 Teilnehmerinnen und Teilnehmer 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.

Sie erhalten Qualität
Das Qualitätsmanagementsystem der Technischen Akademie Esslingen ist nach DIN EN ISO 9001 und AZAV zertifiziert.

Teilnehmer:innenkreis

Die Schulung richtet sich primär an Softwareentwicklerinnen und Softwareentwickler, aber auch an interessierte Testerinnen und Tester, die mehr über den Zusammenhang zwischen Unit-Tests und Codedesign erfahren möchten

Inhalte

Montag, 7. und Dienstag, 8. November 2022
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 Pattersn

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

Referent:innen

Dr. rer. nat. Frank Raiser
Konzept Informationssysteme GmbH, Ulm

Termine & Preise

Extras
Die Seminarteilnahme beinhaltet ausführliche Seminarunterlagen.

Die Teilnehmerzahl ist begrenzt, um den optimalen Lernerfolg zu garantieren.

Kosten
Die Kosten betragen pro Teilnehmer EUR 1.240,00(MwSt.-frei), inklusive aller Extras.

Fördermöglichkeiten
weniger bezahlen – so geht´s

Die nächsten Termine

Datum / Uhrzeit Seminartitel Ort Preis
07.11.2022, 9:00 Uhr Unit Testing in der Softwareentwicklung - Deep Dive Online$$ortdetail$$ EUR 1.240,00
24.04.2023, 9:00 Uhr Unit Testing in der Softwareentwicklung - Deep Dive Ostfildern$$ortdetail$$ EUR 1.240,00

© Technische Akademie Esslingen e.V., An der Akademie 5, 73760 Ostfildern  | Impressum