Seminare
Seminare

Test Driven Development (TDD) mit Python

Seminar - GFU Cyrus AG

Am Ende des Seminars sind die Teilnehmenden in der Lage, TDD mit Python effektiv zu nutzen, um qualitativ hochwertige, wartbare und gut getestete Software zu entwickeln. Sie lernen, wie sie Projekte planen, den TDD-Zyklus anwenden, fortgeschrittene Testtechniken implementieren und TDD in ihren Entwicklungsprozess integrieren.
Termin Ort Preis*
firmenintern auf Anfrage auf Anfrage
*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:
  • Einführung in Test Driven Development (TDD)
    • Überblick über TDD: Was ist es und warum ist es wichtig?
    • Hauptmerkmale und Vorteile von TDD im Vergleich zu anderen Entwicklungsansätzen.
    • Die drei Schritte des TDD-Zyklus: Red, Green, Refactor.

  • Grundlagen der Testautomatisierung in Python
    • Überblick über die Python-Test-Frameworks: unittest, pytest.
    • Einrichtung der Entwicklungsumgebung für TDD (z.B. PyCharm, VSCode).
    • Schreiben und Ausführen von einfachen Tests mit unittest und pytest.

  • Einführung in pytest
    • Installation und Einrichtung von pytest.
    • Strukturieren von Testfällen und Testmodulen.
    • Nutzung von pytest-Funktionen: Fixtures, Parametrisierung, Assertions.

  • Praktische Übung 1: Einrichtung und Schreiben von einfachen Tests
    • Problemstellung
      : Einrichtung einer TDD-Umgebung und Schreiben von einfachen Tests.
    • Lösung
      :
      • Installation von pytest und Einrichtung der Entwicklungsumgebung.
      • Schreiben und Ausführen von ersten Tests mit pytest.
      • Tool
        : pytest, IDE (PyCharm/VSCode).
      • Ergebnis
        : Funktionsfähige TDD-Umgebung mit ersten Testfällen.


  • Der TDD-Zyklus in der Praxis
    • Schreiben von Tests bevor der Code implementiert wird.
    • Implementieren des Codes, um die Tests bestehen zu lassen.
    • Refaktorieren des Codes, um die Qualität zu verbessern, ohne die Tests zu brechen.

  • Praktische Übung 2: Durchlaufen des TDD-Zyklus
    • Problemstellung
      : Implementierung einer einfachen Funktion mit TDD.
    • Lösung
      :
      • Schreiben eines Tests für eine neue Funktion.
      • Implementieren der Funktion, um den Test zu bestehen.
      • Refaktorieren des Codes, um die Qualität zu verbessern.
      • Tool
        : pytest, IDE (PyCharm/VSCode).
      • Ergebnis
        : Implementierte Funktion nach dem TDD-Zyklus.


  • Mocking und Test-Doubles
    • Einführung in Mocking: Was ist es und warum ist es nützlich?
    • Nutzung von unittest.mock zum Erstellen von Mock-Objekten.
    • Verwendung von Test-Doubles: Mocks, Stubs, Fakes.

  • Praktische Übung 3: Mocking und Test-Doubles
    • Problemstellung
      : Testen von Funktionen mit Abhängigkeiten.
    • Lösung
      :
      • Erstellen von Mock-Objekten mit unittest.mock.
      • Schreiben von Tests, die Mock-Objekte verwenden.
      • Tool
        : unittest.mock, pytest.
      • Ergebnis
        : Tests, die Funktionen mit Abhängigkeiten abdecken.


  • Fortgeschrittene pytest-Funktionen
    • Nutzung von Fixtures zur Einrichtung wiederverwendbarer Testumgebungen.
    • Parametrisierung von Tests zur Ausführung mit verschiedenen Eingabewerten.
    • Nutzung von pytest-Plugins zur Erweiterung der Testfunktionalität.

  • Praktische Übung 4: Erweiterte Tests mit pytest
    • Problemstellung
      : Schreiben von erweiterten Tests mit pytest.
    • Lösung
      :
      • Erstellung und Nutzung von Fixtures.
      • Parametrisierung von Tests.
      • Einsatz von pytest-Plugins.
      • Tool
        : pytest, pytest-plugins, IDE (PyCharm/VSCode).
      • Ergebnis
        : Erweiterte und wiederverwendbare Tests mit pytest.


  • Integration von TDD in den Entwicklungsprozess
    • Best Practices für die Integration von TDD in den Softwareentwicklungsprozess.
    • Verwendung von Continuous Integration (CI) Tools zur Automatisierung von Tests.
    • Fallstudien und Beispiele aus der Praxis.

  • Praktische Übung 5: Integration von TDD in CI
    • Problemstellung
      : Integration von TDD in einen CI-Prozess.
    • Lösung
      :
      • Einrichtung einer CI-Pipeline (z.B. mit GitHub Actions, GitLab CI).
      • Automatisierung der Testausführung bei jedem Commit.
      • Tool
        : pytest, CI-Tool (GitHub Actions, GitLab CI).
      • Ergebnis
        : Automatisierte Tests als Teil des CI-Prozesses.





Zielgruppe:
Dieses Seminar richtet sich an Softwareentwickler, QA-Ingenieure, DevOps-Ingenieure und technische Projektmanager, die ihre Kenntnisse in der Nutzung von TDD mit Python erweitern möchten. Grundlegende Kenntnisse in der Python-Programmierung sind nützlich
Seminarkennung:
S4270
Nach unten
Nach oben
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern. Diese Cookies werden nicht automatisiert gesetzt. Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren. Weitere Informationen finden Sie hier.
Akzeptieren Nicht akzeptieren









Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha