Eine belastbare Testsuite trennt schnelle Geschäftslogiktests von HTTP-, Datenbank- und Vertragstests. Entscheidend sind reproduzierbare Fixtures, sinnvolle Grenzen und eine CI, die Fehler früh und nachvollziehbar meldet.
Das Seminar entwickelt eine mehrstufige Teststrategie für Flask. Routen, Services, CLI, Datenbank, APIs und Migrationen werden mit passenden Testarten abgedeckt und in verbindliche Qualitätsgates überführt.
Inhaltsübersicht
- pytest-Struktur und Fixtures
- Routen- und Browserfluss-Tests
- Unit-Tests für Services und Domänenlogik
- Integrations- und Migrationstests
- API-, Vertrags- und Integrationstests
- Coverage, Testqualität und Wartbarkeit
- Continuous Integration und Qualitätsgates
- Praxisprojekt und Wissenssicherung
Lernziele
- App-, Client-, CLI- und Daten-Fixtures sauber strukturieren.
- HTTP-Flows und Geschäftslogik mit geeigneten Testarten prüfen.
- Datenbank, Migrationen und API-Verträge realitätsnah testen.
- Coverage und Flaky Tests risikoorientiert bewerten.
- Qualitätsprüfungen als verbindliche CI-Gates umsetzen.
Zielgruppe
Flask- und Python-Entwickler, Testautomatisierer und Teams, die bestehende oder neue Anwendungen mit einer wartbaren Teststrategie absichern.
Voraussetzungen
Gute Python- und Flask-Grundkenntnisse. Erste Erfahrung mit automatisierten Tests ist hilfreich, aber nicht zwingend.
Seminarinhalte
1. pytest-Struktur und Fixtures
Tests erhalten wiederverwendbare, klar begrenzte Setups für Anwendung, Client, CLI und Daten.
- Schritt 1: Testverzeichnisse und Benennung nach pytest-Konventionen anlegen.
- Schritt 2: App-Fixture mit TESTING-Konfiguration und sauberem Teardown erstellen.
- Schritt 3: Client-, Runner- und Daten-Fixtures aus der App-Fixture ableiten.
- Schritt 4: Fixture-Sichtbarkeit und Scope so klein wie möglich halten.
2. Routen- und Browserfluss-Tests
HTTP-Verhalten wird ohne realen Server über den Flask-Test-Client geprüft.
- Schritt 1: GET-, POST- und Redirect-Ketten mit Statuscodes und Headern testen.
- Schritt 2: Formular-, JSON-, Datei- und Cookie-Daten realistisch übermitteln.
- Schritt 3: Anmeldezustand und Request-Kontext kontrolliert erhalten.
- Schritt 4: HTML-Inhalte gezielt auf Semantik und Fehlermeldungen statt auf vollständige Zeichenketten prüfen.
3. Unit-Tests für Services und Domänenlogik
Geschäftsregeln werden ohne HTTP, echte Datenbank oder externe Dienste schnell und präzise geprüft.
- Schritt 1: Komplexe Logik aus Views in reine Funktionen oder Services extrahieren.
- Schritt 2: Abhängigkeiten über kleine Interfaces beziehungsweise Fakes ersetzen.
- Schritt 3: Normal-, Grenz- und Fehlerfälle aus den Fachregeln ableiten.
- Schritt 4: Tests nach beobachtbarem Verhalten statt internen Implementierungsdetails formulieren.
4. Integrations- und Migrationstests
Zusammenspiel von Anwendung, Datenbank, Queue und Fremdsystemadaptern wird in realitätsnahen Umgebungen überprüft.
- Schritt 1: Testdatenbank mit produktionsnahem Datenbanktyp bereitstellen.
- Schritt 2: Migrationen vom leeren Schema bis zum aktuellen Stand ausführen.
- Schritt 3: Transaktionen, Constraints und Adapter gegen lokale Testdienste prüfen.
- Schritt 4: Tests isolieren, parallelisierbar machen und Ressourcen zuverlässig abbauen.
5. API-, Vertrags- und Integrationstests
Schnittstellen werden gegen Statuscodes, Schemas, Nebenwirkungen und Kompatibilitätsregeln getestet.
- Schritt 1: Test-Client mit wiederverwendbaren Authentifizierungs- und Daten-Fixtures konfigurieren.
- Schritt 2: Erfolgs-, Validierungs-, Konflikt- und Berechtigungsfälle tabellarisch abdecken.
- Schritt 3: Response-Schemas und OpenAPI-Beispiele automatisiert vergleichen.
- Schritt 4: Datenbank-, Queue- und Fremdsystemintegrationen in getrennten Teststufen prüfen.
6. Coverage, Testqualität und Wartbarkeit
Abdeckung dient als Hinweis auf ungetestete Risiken und nicht als Ersatz für sinnvolle Testfälle.
- Schritt 1: Branch Coverage und kritische Module separat betrachten.
- Schritt 2: Fehlende Tests nach Risiko, Komplexität und Änderungshäufigkeit priorisieren.
- Schritt 3: Flaky Tests erkennen, reproduzieren und nicht durch bloße Wiederholung kaschieren.
- Schritt 4: Testlaufzeit und Wartungsaufwand regelmäßig gegen den erreichten Schutz bewerten.
7. Continuous Integration und Qualitätsgates
Jede Änderung durchläuft reproduzierbare Prüfungen, bevor sie zusammengeführt oder ausgeliefert wird.
- Schritt 1: Installation aus Lockfile beziehungsweise definierten Abhängigkeiten in sauberer Umgebung durchführen.
- Schritt 2: Formatierung, Linting, Typprüfung, Tests und Sicherheitsprüfung in getrennten Schritten ausführen.
- Schritt 3: Testmatrix für unterstützte Python- und Flask-Stände festlegen.
- Schritt 4: Abbruchkriterien, Artefakte und nachvollziehbare Berichte als Merge-Gate konfigurieren.
Praxisprojekt
Für eine unzureichend getestete Anwendung entsteht eine vollständige Testpyramide. Der fertige Stand durchläuft eine CI mit Linting, Typprüfung, Testmatrix, Coverage-Bericht und klaren Abbruchkriterien.
Methodik
Kurze fachliche Einordnungen wechseln mit Demonstrationen, geführten Umsetzungen, Fehleranalysen und eigenständigen Übungen. Jede größere Änderung wird durch einen Test, eine Diagnose oder eine betriebliche Prüfroutine abgesichert. Die Arbeitsstände werden schrittweise zu einem durchgängigen Beispielprojekt zusammengeführt.
Fachbereichsleitung / Trainerteam / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Flask- und Python-Entwickler, Testautomatisierer und Teams, die bestehende oder neue Anwendungen mit einer wartbaren Teststrategie absichern. |
| Voraussetzungen: | Gute Python- und Flask-Grundkenntnisse. Erste Erfahrung mit automatisierten Tests ist hilfreich, aber nicht zwingend. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
