Testen von Legacy-Systemen
Qualität in gewachsenen Systemen auch ohne perfekte Testbasis beherrschbar machen
01 Intro
Legacy-Systeme stellen Quality Engineering vor besondere Herausforderungen:
unvollständige Dokumentation, starke Kopplung, unbekannte Abhängigkeiten,
schwer reproduzierbare Datenzustände und wenige automatisierte Tests.
Gleichzeitig sind gerade diese Systeme häufig geschäftskritisch.
Der Kurs behandelt Strategien, um ein bestehendes System schrittweise
testbar und sein Verhalten nachvollziehbar zu machen. Der Schwerpunkt liegt
auf Charakterisierung, Risikoanalyse, Regression, Schnittstellen und dem
Aufbau eines belastbaren Sicherheitsnetzes für weitere Änderungen.
Kurs-ID
QE-012
Dauer
3 Tage
Format
Präsenz · Live Online · Inhouse
Vorkenntnisse
Praktische Erfahrung im Softwaretest, in der Entwicklung oder im Betrieb bestehender Systeme
02 Trainingsprogramm
Inhalte
Was macht ein System zu Legacy?
- Alter versus Veränderbarkeit
- fehlendes Wissen
- technische Schulden
- Kopplung
- kritische Abhängigkeiten
- fehlende Tests als Risiko
Das System erschließen
- vorhandene Dokumentation
- Code und Architektur
- Logs
- Datenbanken
- Schnittstellen
- tatsächliches Verhalten als Informationsquelle
Risiken identifizieren
- kritische Geschäftsprozesse
- häufig geänderte Bereiche
- Fehlerhistorie
- technische Hotspots
- externe Abhängigkeiten
- Priorisierung
Verhalten charakterisieren
- Characterization Tests
- Golden Master
- Snapshot-basierte Ansätze
- bestehendes Verhalten sichern
- unbekannte Nebenwirkungen
- Verhalten versus fachliche Korrektheit
Regression aufbauen
- kritische Pfade
- vorhandene Defects
- Produktionsszenarien
- Regressionstestbestand
- Priorisierung
- Kosten und Nutzen
Testbare Schnittstellen finden
- APIs
- Datenbanken
- Dateien
- Messaging
- interne Schnittstellen
- geeignete Testebenen auswählen
Abhängigkeiten kontrollieren
- externe Systeme
- Test Doubles
- Service Virtualization
- Stubs
- Simulatoren
- Grenzen der Isolation
Testdaten in Legacy-Systemen
- komplexe Datenzustände
- produktionsnahe Daten
- Datenschutz
- anonymisierte Daten
- Setup
- reproduzierbare Ausgangszustände
Automatisierung schrittweise einführen
- geeignete Einstiegspunkte
- API vor UI
- stabile Regression
- Wartbarkeit
- vorhandene Frameworks
- realistische Automatisierungsziele
Änderungen sicher begleiten
- Impact Analysis
- betroffene Komponenten
- Regression
- Feature Flags
- Parallelbetrieb
- kleine kontrollierbare Schritte
Wissen und Beobachtbarkeit verbessern
- Logs
- technische Metriken
- Tracing
- Dokumentation aus Tests
- bekannte Verhaltensweisen
- kontinuierlicher Wissensaufbau
Praktische Legacy-Teststrategie
- unbekanntes System analysieren
- Risiken bestimmen
- kritische Pfade identifizieren
- Charakterisierung entwickeln
- Regression priorisieren
- Sicherheitsnetz schrittweise aufbauen
03 Durchführung
Rahmen und Organisation
Dauer
3 Tage
Durchführung
Präsenz oder Live Online, vorzugsweise als Inhouse-Schulung
Schwerpunkt
Inhouse-Schulungen für Unternehmen und Teams
Sprache
Deutsch, englische Fachbegriffe und Dokumentation
Unterlagen
Kursunterlagen, Beispiele und Übungsaufgaben
Technik
Eigener Rechner für die praktischen Übungen
Inhouse-Schulungen
Ein eigenes Legacy-System kann als Grundlage für Analyse und
Teststrategie verwendet werden.
04 Zielgruppe
Für wen ist der Kurs gedacht?
Tester, Quality Engineers, Entwickler und technische Verantwortliche, die
bestehende, schwer testbare oder unzureichend dokumentierte Systeme
absichern müssen.
Voraussetzungen
Praktische Erfahrung mit Softwareentwicklung oder Softwaretest.
05 Lernziele
Was Sie nach dem Kurs können
Die Teilnehmer können Legacy-Systeme schrittweise erschließen, kritische
Risiken und Verhaltensweisen identifizieren und ein pragmatisches
Regressionstest- und Qualitätssicherungsnetz aufbauen.
06 FAQ
Häufige Fragen
Muss der Quellcode verfügbar sein?
Nein. Viele Verfahren funktionieren auch auf Schnittstellen-, Daten- oder Systemebene. Verfügbarer Quellcode erweitert allerdings die Analysemöglichkeiten.
Bedeutet Characterization Testing, fehlerhaftes Verhalten festzuschreiben?
Characterization Tests dokumentieren zunächst beobachtetes Verhalten. Ob dieses fachlich korrekt ist, muss separat beurteilt werden.
Was unterscheidet den Kurs von Modernisierung und Migration?
Hier geht es um den laufenden Umgang mit einem bestehenden Legacy-System. Der Migrationskurs konzentriert sich auf die besondere Qualitätssicherung während einer geplanten Modernisierung oder Migration.