Test Driven Python:
Basiskurs

Test Driven Python:
Basiskurs

Meistern Sie die testgesteuerte Entwicklung, um sicherzustellen, dass Ihre Python-Anwendungen robust, effizient und leistungsstark sind.

Mit unserem von Experten geleiteten DBT-Schulungsprogramm
vermitteln wir Ihnen die neuesten Kenntnisse über moderne Anwendungsbereitstellung und -verwaltung.
Profitieren Sie von unserem reichen Erfahrungsschatz aus unzähligen Kundenprojekten:

Erleben Sie eine ausgewogene Mischung aus Theorie, Live-Demonstrationen und praktischen Übungen.

Gewinnen Sie ein umfassendes Verständnis der betriebsorientierten Entwicklung und ihrer Integration in den Software-Lebenszyklus.

Lernen Sie Best Practices für die Erstellung von Schnittstellen wie CLIs und APIs in Python sowie Techniken für die Paketierung, Containerisierung und Orchestrierung von Python-Anwendungen.

Verstehen Sie, wie Sie robuste CI/CD-Pipelines für automatisierte Tests und Bereitstellung sowie Tools und Strategien für Protokollmanagement, Aufgabenplanung und Betriebsautomatisierung implementieren können.

Test Driven Python Training – nächste Termine

26.11.
– 27.11.2024

Test Driven Python in 2 Tagen

23.01.
– 24.01.2025

Test Driven Python in 2 Tagen

10.03.
– 11.03.2025

Test Driven Python in 2 Tagen

Dieser Kurs richtet sich an Python-Entwickler, die die Zuverlässigkeit ihrer Software durch robuste Testverfahren verbessern möchten. Er ist ideal für Software-Ingenieure, die über grundlegende Python-Kenntnisse verfügen und fortgeschrittene Testmethoden wie TDD, BDD und Leistungstests in ihren Arbeitsablauf integrieren möchten. Ganz gleich, ob Sie im Bereich DevOps oder Anwendungsentwicklung arbeiten oder einfach nur Ihre Python-Testing-Kenntnisse verbessern wollen, dieser Kurs wird Ihnen die Werkzeuge an die Hand geben, mit denen Sie Ihre Anwendungen robuster und effizienter machen können.

Praktische Anwendungen, die wir in der Schulung behandeln werden:

  • 1

    Praktische Übungen mit der Erstellung von Schnittstellen, Softwarepaketierung, Anwendungscontainerisierung und CI/CD-Pipeline-Management.

  • 2

    Kenntnisse in der Implementierung von Beobachtbarkeit, Protokollverwaltung, Aufgabenplanung und Betriebsautomatisierung mit verschiedenen Tools.

  • 3

    Verständnis, wie man exzellente Python-Anwendungen entwickelt, die Effizienz und Qualität verbessern.

Nach diesem Kurs werden Sie in der Lage sein:

  • 1
    Schnittstellen, CI/CD-Pipelines und Containerisierungsstrategien für Python-Anwendungen zu entwerfen, implementieren und verwalten.
  • 2
    Beobachtbarkeit, Protokollverwaltung und Aufgabenplanung effektiv mit verschiedenen Tools zu implementieren
  • 3
    modernste Tools zur Überwachung und Optimierung von Python-Anwendungen in Echtzeit zu nutzen
  • 4
    die Kluft zwischen Entwicklung und Betrieb, indem Sie betriebsorientierte Entwicklungstechniken beherrschen zu überbrücken

Das Test Driven Python Training ist perfekt für Sie, wenn…

  • Sie Grundkenntnisse in Phython besitzen.

  • Sie fortschrittliche Testmethoden wie TDD, BDD und Leistungstests in Ihren Arbeitsablauf integrieren möchten.

  • Sie Ihre Anwendungen widerstandsfähiger und effizienter machen wollen-

Die Schulung Testgetriebenes Python ist nicht für Sie geeignet, wenn…

  • Sie Anfänger in der Programmierung sind und nicht über grundlegende Python-Kenntnisse verfügen.
  • Sie auf der Suche nach einem Einführungskurs in die Python-Entwicklung oder DevOps sind.
  • Sie ziehen es vorziehen, sich auf Modelle für maschinelles Lernen zu konzentrieren und nicht auf die operative Entwicklung.

Agenda

Training

Für kleine Unternehmen und Teams, die neu in das Thema einsteigen.

  • Die Bedeutung von Tests bei der Softwareentwicklung
  • Berühmte Fehler in der Geschichte, die hätten verhindert werden können
  • Einführung in Unit-Tests, Integrationstests und Systemtests.
  • Überblick über die Python-Test-Frameworks: unittest, pytest und doctest.
  • Schreiben und Ausführen Ihrer ersten Tests in Python.
  • Fixture Scope, Parametrisierung und Werksvorrichtungen für eine flexible Testanordnung.
  • Benutzerdefinierte Marker und Plugins zur Erweiterung der pytest-Funktionen.
  • Strategien für die Verwendung von pytest in großen Testsuiten und Projekten.
  • Einführung in die Konzepte von Mocking und Patching.
  • Das Modul ‚pytest-mock‘ effektiv nutzen.
  • Praktische Beispiele und Übungen, wann und wie Sie Mocks und Patches verwenden.
  • Der TDD-Zyklus: Red, Green, Refactor.
  • Praktische Übungen zur Implementierung von TDD mit Python.
  • Herausforderungen und Tipps für die Einführung von TDD in bestehenden Projekten.
  • Grundlagen von BDD und seine Vorteile.
  • Einführung in Python BDD-Frameworks wie Behave.
  • Schreiben und Ausführen von BDD-Szenarien in Python.
  • Einführung in Testcontainer und das Konzept von Einwegumgebungen für Tests.
  • Einrichten von Testcontainern für Python-Anwendungen.
  • Bewährte Verfahren für die Verwendung von Testcontainern in Integrationstests.
  • Herausforderungen beim Testen von asynchronem Python-Code.
  • Schreiben von Tests für asynchrone Funktionen mit pytest-asyncio oder ähnlichen Bibliotheken.
  • Bewährte Methoden, um sicherzustellen, dass asynchroner Code korrekt getestet wird.
  • Grundlagen von Leistungstests und ihre Bedeutung.
  • Tools und Bibliotheken für Leistungstests in Python (z.B. Locust, PyPerf).
  • Integration von Leistungstests in den Lebenszyklus der Entwicklung.
  • Etablierung einer Testkultur: Bedeutung und Strategien.
  • Testmetriken und die Debatte um 100%ige Abdeckung.
  • Implementierung von Continuous Integration (CI) mit automatisierten Tests.
  • Verständnis und Nutzung von Unit Test Assistants (UTAs) zur Verbesserung der Testeffizienz.
  • Einführung in Sicherheitstests und häufige Schwachstellen in Webanwendungen.
  • Verwendung von Tools wie Bandit für die statische Analyse und die Erkennung von Sicherheitsproblemen in Python-Code.
  • Einrichtung von Workflows für kontinuierliche Tests mit CI/CD-Tools.
  • Strategien für die Auswahl von Tests, die in verschiedenen Phasen der Pipeline ausgeführt werden sollen.
  • Verwaltung von Testdaten und -umgebungen in CI/CD-Workflows.

Costumized

Für große Unternehmen und Teams, die besondere Herausforderungen meistern wollen.

  • Ihr Ökosystem
  • Ihre Best Practices
  • Ihre Probleme und Themen
  • Die Bedeutung von Tests bei der Softwareentwicklung
  • Berühmte Fehler in der Geschichte, die hätten verhindert werden können
  • Einführung in Unit-Tests, Integrationstests und Systemtests.
  • Überblick über die Python-Test-Frameworks: unittest, pytest und doctest.
  • Schreiben und Ausführen Ihrer ersten Tests in Python.
  • Fixture Scope, Parametrisierung und Werksvorrichtungen für eine flexible Testanordnung.
  • Benutzerdefinierte Marker und Plugins zur Erweiterung der pytest-Funktionen.
  • Strategien für die Verwendung von pytest in großen Testsuiten und Projekten.
  • Einführung in die Konzepte von Mocking und Patching.
  • Das Modul ‚pytest-mock‘ effektiv nutzen.
  • Praktische Beispiele und Übungen, wann und wie Sie Mocks und Patches verwenden.
  • Der TDD-Zyklus: Red, Green, Refactor.
  • Praktische Übungen zur Implementierung von TDD mit Python.
  • Herausforderungen und Tipps für die Einführung von TDD in bestehenden Projekten.
  • Grundlagen von BDD und seine Vorteile.
  • Einführung in Python BDD-Frameworks wie Behave.
  • Schreiben und Ausführen von BDD-Szenarien in Python.
  • Einführung in Testcontainer und das Konzept von Einwegumgebungen für Tests.
  • Einrichten von Testcontainern für Python-Anwendungen.
  • Bewährte Verfahren für die Verwendung von Testcontainern in Integrationstests.
  • Herausforderungen beim Testen von asynchronem Python-Code.
  • Schreiben von Tests für asynchrone Funktionen mit pytest-asyncio oder ähnlichen Bibliotheken.
  • Bewährte Methoden, um sicherzustellen, dass asynchroner Code korrekt getestet wird.
  • Grundlagen von Leistungstests und ihre Bedeutung.
  • Tools und Bibliotheken für Leistungstests in Python (z.B. Locust, PyPerf).
  • Integration von Leistungstests in den Lebenszyklus der Entwicklung.
  • Etablierung einer Testkultur: Bedeutung und Strategien.
  • Testmetriken und die Debatte um 100%ige Abdeckung.
  • Implementierung von Continuous Integration (CI) mit automatisierten Tests.
  • Verständnis und Nutzung von Unit Test Assistants (UTAs) zur Verbesserung der Testeffizienz.
  • Einführung in Sicherheitstests und häufige Schwachstellen in Webanwendungen.
  • Verwendung von Tools wie Bandit für die statische Analyse und die Erkennung von Sicherheitsproblemen in Python-Code.
  • Einrichtung von Workflows für kontinuierliche Tests mit CI/CD-Tools.
  • Strategien für die Auswahl von Tests, die in verschiedenen Phasen der Pipeline ausgeführt werden sollen.
  • Verwaltung von Testdaten und -umgebungen in CI/CD-Workflows.

Das sagen unsere zufriedenen Schulungsteilnehmer

A1 Telekom Austria AG

Reinhard Burgmann
Head of Data Ecosystem

„UTA hat mein Team bei der Entwicklung des Migrationsplans für die Umstellung unseres Data Lake auf die Public Cloud unterstützt.

Das herausragende Maß an Fachwissen sowohl auf technischer als auch auf organisatorischer Ebene gewährleistete einen gut strukturierten und realistischen Migrationsplan, einschließlich Zeitplan, Meilensteine und Aufwände.

Die Befähigung meines Teams stand im Mittelpunkt einer sehr reibungslosen Zusammenarbeit. Durch UTA haben wir unser Ziel schneller erreicht und die Risiken des Migrationsprojekts erheblich reduziert.

Ich kann die Dienste von UTA nur empfehlen!“

Vattenfall

Bernard Benning
BA Heat

„Ich habe kürzlich an dem von Ultra Tendency veranstalteten Online-Kafka-Schulungstag von Vattenfall IT teilgenommen und es war eine bereichernde Erfahrung.

Der Trainer, Ahmed, hat die Theorie hinter Kafka fantastisch erklärt, und der Schwerpunkt auf der praktischen Anwendung war großartig. Die praktischen Programmierübungen waren besonders hilfreich, und ich habe noch nie ein Training mit so vielen interaktiven Beispielen erlebt!

Insgesamt kann ich diese Schulung jedem empfehlen, der seine Kafka-Kenntnisse interaktiv verbessern und wertvolle Fähigkeiten erwerben möchte.“

VP Bank

Eisele Peer
Lead Architect Head of IT Integration Development

„Die MLOps-Schulung hat unsere Erwartungen übertroffen!

Sie bot eine perfekte Mischung aus einem Überblick, praktischen Kodierungsbeispielen und realen Anwendungsfällen. Der Trainer beantwortete alle Fragen kompetent und passte die Inhalte an die Infrastruktur unseres Unternehmens an.

Diese Schulung vermittelte uns nicht nur Wissen, sondern auch praktische Fähigkeiten, die wir sofort anwenden können.

Ihre Investition

1949 €zzgl MwSt.
  • Lernen Sie die Grundlagen des Softwaretestens, einschließlich Unit-, Integrations- und Systemtests, unter Verwendung beliebter Python-Test-Frameworks wie pytest und unittest.
  • Beherrschen Sie fortgeschrittene Testtechniken wie Mocking, Patching und das Testen von asynchronem Code, um sicherzustellen, dass alle Komponenten Ihrer Python-Anwendung wie vorgesehen funktionieren.
  • Lernen Sie Test Driven Development (TDD) und Behaviour-Driven Development (BDD) kennen, um durch kontinuierliche Tests und Refactoring sauberen, effizienten Code zu produzieren.
  • Verstehen Sie, wie Sie Tests in CI/CD-Workflows für kontinuierliche, automatisierte Qualitätsprüfungen integrieren können, indem Sie Tools wie Jenkins oder GitHub Actions verwenden, um die Entwicklung und Bereitstellung zu optimieren.

Lernen Sie Ihre Trainer kennen

Marvin Taschenberger

Professional Software Architect, Ultra Tendency

Hudhaifa Ahmed

Senior Lead Big Data Developer Berlin Territory Manager, Ultra Tendency

Matthias Baumann

Chief Technology Officer Principal Big Data Solutions Architect Lead, Ultra Tendency

Benötigte Hardware Infrastruktur für Ihr Python Training

  • Sie benötigen einen PC oder Mac mit einem Webbrowser und MS Teams.
  • Während der Schulung stellen wir Ihnen eine virtuelle Maschine mit den erforderlichen lokalen Abhängigkeiten, Diensten und Root-Zugriffen zur Verfügung.
  • Auf dieser VM läuft ein Kubernetes-Cluster, auf dem Sie die Trainingsanweisungen testen und ausführen können.
  • Sie können über einen Browser oder SSH auf die Maschine zugreifen, wenn Sie möchten und die Netzwerkbeschränkungen dies zulassen.