Kursbeschreibung
Die testgetriebene Entwicklung (TDD – Test Driven Development) ist eine Methode in der Softwareentwicklung, die eine umgekehrte Herangehensweise nutzt: Zuerst schreibst du einen Test und erst danach den dazugehörigen Python-Code. Damit wird der klassische Ablauf umgedreht, bei dem normalerweise zuerst der Code entwickelt und anschließend getestet wird. Doch warum ist dieser Ansatz sinnvoll?
TDD bietet mehrere Vorteile. Bevor du überhaupt Code schreibst, musst du klar definieren, was der Code leisten soll. Dadurch werden zunächst unklare Anforderungen früh präzisiert. Außerdem ermöglichen die Tests eine schnelle Kontrolle, ob spätere Änderungen oder Erweiterungen zu Fehlern führen. Da die Tests automatisch und regelmäßig ausgeführt werden können, bleibt die Qualität des Codes kontinuierlich überprüfbar.
Zur Unterstützung von TDD hat sich pytest als De-facto-Standard in der Python-Community etabliert. Mit pytest kannst du Tests einfach erstellen, organisieren und ausführen. Dadurch wird der Entwicklungsprozess strukturierter, effizienter und zuverlässiger.
Die wichtigsten Themen im Überblick
- Testgetriebene Entwicklung mit Python
- Unit-Tests mit pytest meistern
- Parametrisierung effektiv nutzen
- Fixtures professionell einsetzen
- Teststruktur sauber organisieren
- Tests automatisiert & stabil halten
Zielgruppe
Voraussetzung für die Schulung
Kursinhalte
Folgende Lerninhalte werden in dem pytest Einführungskurs vermittelt:
- Einführung in die Testgetriebene Entwicklung mit Python
- Vor- und Nachteile der Testgetriebenen Entwicklung
- Wie ist ein Test aufgebaut? Die Anatomie eines Tests
- Installation von pytest
- Ein erster Test mit pytest
- Testfunktionen und Testklassen
- Kategorisierung von Tests
- Filtern von Tests nach Kategorien
- Filtern von Tests nach Mustern
- Einstellungsmöglichkeiten in der Initialisierungsdatei py.ini
- Tests parametrisieren
- Viele Kombinationen von Eingaben durch Parametrisierung durchtesten
- Fixtures zur Testvorbereitung
- Projektstruktur: Wie organisiert man Tests und Code im Projekt am besten?
- pytest Plugins: Individuelle Erweiterung der Funktionalität von pytest
- Flaky Tests
- GUIs (Grafische Benutzeroberflächen) für pytest






















