Unit Test 04: Unit Test Python
Unit Test, PyTest und doctest Praxiskurs für Python Programmierer

Du willst strukturierte und hochwertige Unit Tests für Deinen Python Code schreiben? Du willst gerne Datenbanken, fremde APIs und fremden Code testen? Du willst schlechte und sinnlose Unit Tests und PyTests auf Anhieb erkennen und anhand von bewährten Patterns in gute Unit Tests umwandeln? Oder Du willst endlich wissen, wie Test-Driven-Development in der Praxis aussieht und wie Du TDD vernünftig einsetzen kannst? Dann brauchst Du nicht weiter zu suchen. Das Python Unit Testing Praxisseminar ist ideal für alle Python-Programmierer, die Unit Test, PyTest und Doctest auf effiziente und praxisorientierte Weise mittels anschaulicher Beispiele und Aufgaben erlernen möchten, um damit Python Code sauber testen und erheblich verbessern zu können. Erfahre mehr über dieses Unit Test Praxisseminar..

Nutzen

  • Schneller und effektiver Einstieg in Unit Test, Pytest und Doctest
  • Praktischer Einstieg in Test-Driven-Development (TDD)
  • Best Practices für Testable Design, Clean Test und Test Smell
  • Fortgeschrittene Techniken wie Test Double
  • Code Qualität durch gute Tests deutlich verbessern

Anhand vieler Beispiele und Aufgaben lernst Du die wichtigsten Python Testing Frameworks (Unit Test & Pytest) sowie fortgeschrittene Techniken wie TDD aus praktischer Sicht kennen und wie Du sie in Deinem laufenden Projekt erfolgreich einsetzen kannst. Auch goldene Regeln für Clean Test und Code lernst Du kennen und anzuwenden. Du verbesserst die Qualität und Güte Deines Python Production Codes und verkürzt somit die Entwicklungszeit.

Kursformate

1-Tages-Crash-Kurs

Live-Training

Live oder online large

Lehrmaterial

Lehrmaterial

Video-Clips

Video clips
3-Tages-Kurs

Live-Training

Live oder online large

Lehrmaterial

Lehrmaterial

Verpflegung

Snacks large
4-Wochen Trainingsprogramm

Live-Training

Online large

Lehrmaterial

Lehrmaterial

Video-Clips

Video clips

Alle Kurse beinhalten zusätzlich den zeitlich unbegrenzten Zugang zu unserem Member-Bereich mit vielen weiteren Videos, Tutorials und Infos rund ums Coden.

Inhalte

Der Unit Kurs behandelt eine Auswahl folgender Themen:

  • Test Structure
  • Name Conversion
  • Test Lifecycle
  • Test Data
  • Features von pytest
  • Exceptions in pytest
  • unittest
  • Test with Fixtures
  • Parameterized Test
  • Test Double
  • doctest
  • Test-Driven-Development
  • Test Smells Catalog
  • Test Readability
  • Test Maintainability
  • Test Trustworthiness

Für weitere Details bitte die untenstehende Agenda ansehen.

Vorkenntnisse

Das Unit Test in Python Seminar an der Münchner Coding Akademie richtet sich an Programmierer mit grundlegenden Python-Kenntnissen, vergleichbar mit unserem Python-Kurs für Programmierer. Es setzt keine Kenntnisse in alten Unit Testing Versionen voraus. 

  • Individuell: wir gehen gezielt auf Dich ein und berücksichtigen Deine Vorkenntnisse, Wunschthemen und Schwerpunkte

  • Strukturiert und leicht verständlich

  • Bringe deine Karriere, Studium oder Ausbildung auf die nächste Stufe: mit Zertifikat

  • Sicher und eigenständig Programme entwickeln (ob privat, beruflich oder für dein Startup)

  • Viel, viel, viel Praxis: sofort anwendbare Ergebnisse

  • kleine Gruppen: max. 8 Teilnehmer im 3-Tages-Kurs max. 15 Teilnehmer im Online-Coaching

  • Von Experten nach der Raed- Methode® entwickelt & auf die Anforderungen von Tech-Unternehmen im Jahr 2020 ausgerichtet

  • E-Mail-Support auch nach Ende des Kurses

Kursbeschreibung

Dieser dreitägige Kurs bietet eine Einführung und einen tiefen Einblick in das Testen von Python-Code. Der Kurs richtet sich an Programmierer mit Vorkenntnissen in Python, die ein besseres Verständnis für das Testen des eigenen Codes gegen Fehler und Regressionen sowie für die Verbesserung der Testabdeckung bestehender Codebasen entwickeln wollen. Die Teilnehmer erhalten instruktive Problemstellungen, die sie mit den neu erlernten Techniken lösen sollen.

-Warum sollte ich meinen Code testen?

-Wie können Tests helfen, Probleme zu lokalisieren?

-Was macht einen guten Test aus und wie kann ich ihn schreiben?

-Wie kann ich Code mit externen Abhängigkeiten testen?

-Wie kann ich sie vermeiden?

-Wie kann ich vermeiden, (zu viel) Testcode zu schreiben?

-Wie kann ich meine Testsuite auch in Zukunft wartbar halten?

-Wann und warum sollte ich "unittest", "pytest" oder "doctest" verwenden?

Was lernst Du am ersten Tag?

Du lernst wie Du Dein erstes Unit Testing Programm in Python schreiben kannst. Wir steigen langsam ein und schauen uns das Soll/Ist Prinzip von Testing Frameworks an. Du lernst wie die Test Struktur aussehen soll, wie Du Deine Test-Methoden benennen solltest und wie Du die Testdaten ausfindig machen kannst. Dafür eignen sich die Äquivalenz-Klassen sowie Randwerte Techniken. Du meisterst die Syntax und Semantik von Unit Test und PyTest. Nach diesem Tag kannst Du bereits gute Unit Tests für Deinen Python Code schreiben und anwenden.

Was lernst Du am am zweiten Tag?

Am zweiten Tag lernst Du weitere fortgeschrittene Techniken mit Pytest, Unit Test und doctest. Du lernst z.B. wie Du Datenbank und fremde APIs testen kannst, in dem den Code von denen simulierst. Dafür gibt es die Test Double Technik. Test Double ist ein Sammelbegriff für 5 Techniken: Dummy, Fake, Stub, Spy und Mock. Du lernst wie Du diese Techniken mit den Python Test Frameworks anwenden kannst. 

Was lernst Du am am dritten Tag?

am letzten Unit Testing Schulung mit Java geht es darum, wie Du gute Tests schreibst. Hier lernst Du die SOLID Prinzipen für Testable Design. Danach schauen wir uns die Test-Driven-Development (TDD)Technik an. TDD realisiert die "Test First: Test code vor Production code" Methode. 

TDD verlangsamt zwar am Anfang die Entwicklungsgeschwindigkeit, holt aber später massiv nach an Geschwindigkeit und ist durchaus vorteilhafter ist, als die Tests nachträglich zu schreiben. Denn Clean Code basiert weitgehend auch darauf, dass man Unit Tests vor Production Code schreibt und sich daher grundlegende Gedanken über den Production Code machen muss! Du lernst auch die wichtigen Regeln zum Schreiben von aussagekräftigen und guten Tests und die Best-Practice dazu. Dadurch erkennst Du die sogenannte "Test-Smells". 

Test-Smells ist ein Begriff für schlechte Tests, welche eher Nachteile als Vorteile bringen. Hier gibt es ein langes Katalog dafür, welches die Test-Smells in 3 Kategorien unterteilt und bei jeder Kategorie gibt es etliche Test-Smells Fälle. Wir sehen uns die allerwichtigste Test-Smells Fälle an. 

DEINE TRAINER

Der Unit Test Kurs für Python-Programmierer wird von einem der folgenden Trainer durchgeführt:

ZERTIFIKAT

Selbstverständlich erhältst Du als Teilnehmer am Python Unit Test Kurs für Programmierer ein Zertifikat. Voraussetzung dafür ist die komplette Teilnahme an allen Kurseinheiten und Programmier-Aufgaben und die erfolgreiche Programmierung eines kleinen Abschlussprojektes. Das allerdings wird Dir nach diesem intensiven Unit Testing Kurs mehr Freude als Stress bereiten.

AGENDA

Die Agenda ist aufgrund der zahlreichen Fachbegriffe in englischer Sprache verfasst. Beschreibungen sowie Kursmaterial erhaltest Du auf Deutsch. Den Kurs kannst Du wahlweise in deutscher oder englischer Sprache buchen.

Alle Seminarinhalte werden individuell an die Wünsche unserer Teilnehmer angepasst. Sie können je nach Wissensstand variieren und werden gemeinsam mit dem Seminarleiter an Tag 1 definiert. Bei diesem Java Unit-Test-Seminar hast Du die Wahl aus folgenden Themen:

Python Unit Testing Tag 1

Introduction:

  • Test Motivation
  • Test Frameworks
  • pytest
  • unittest
  • doctest

Generic Rules:

  • Test Structure
  • Test Life Cyce
  • The AAA-Rule
  • Name Conversions
  • Test Data
  • Happy Path
  • Exception Path
  • Equivalence classes
  • Test Strategy

pytest

  • install pytest
  • Your first pytest
  • assert statement
  • failed test
  • pytest features
  • Expected exceptions
  • Marking test methods
  • Selection of test methods
  • Tests with error handling

Fixture

  • what is fixture?
  • Reuse of fixture
  • config.py
  • Multiple fixtures
  • Scope of fixtures
  • predefined fixtures

unittest

  • xUnit-Framework
  • unittest
  • Fixtures
  • Test Cases
  • Test Suites
  • Why pytst over unittest?

Python Unit Testing Tag 2

Test Double

  • Motivation
  • Testing Database?
  • Dummy
  • Fake
  • Stub
  • Spy
  • Mock

doctest

  • why doctest?
  • Executable documentation
  • Executable specification
  • pytst vs. unites vs. doctest

Python Unit Testing Tag 3

Test Driven Development

  • Motivation
  • RED
  • GREEN
  • REFACTORING
  • Baby Steps
  • TDD Advantages

Testable Design

  • SOLID Principle
  • Single Responsibility
  • Open Close
  • Liskov Substitution
  • Interface Segregation
  • Dependency Inversion

Clean Test

  • Clean Test Rules
  • Test Readability
  • Test Maintainability
  • Test Trustworthiness
  • Test Smells Catalog

Kursformate / Termine

1-Tages-Crash-Kurs

In München oder Online
830,00 €

3-Tages-Kurs

In München oder Online
1.876,00 €

Termine:
04.10.-06.10.2021

4-Wochen-Training

1.876,00 €
Einstieg jederzeit möglich

Für Teams

Haben Sie Interesse an einem Kurs für Ihr Team? Get in touch – wir finden eine perfekte Lösung. Gerne kommen unsere Profis auch zu Ihnen. Wir bieten u.a.:

  • Inhouse-Schulungen
  • Technisches Coaching
  • Consulting
Anfragen Anfragen

Fragen & Beratung

Unser Serviceteam berät Sie gerne persönlich. Mo-Fr von 9.00 bis 18.00 Uhr unter:
+49 89 17958-820
info@coding-academy.com

Veranstaltungsort

Coding Akademie München
Landsberger Straße 290
80687 München

Online-Teilnahme

An diesem Kurs können Sie auch online von jedem Ort der Welt teilnehmen.

Referenzen

BMW Apple Draeger VW Sky Siemens 2000px TÜ V Süd Logo Agfa Kopie Samsung Fraunhofer
Kurs-Katalog Raketen-Kurse im Überblick: