Professionelles Testen für Python mit pytest

Online-Workshop: 28. Oktober, 9 bis 16 Uhr

Automatisiertes Testen ist ein essenzielles Werkzeug für qualitativen Code. Das Framework pytest ermöglicht es, Tests sowohl übersichtlicher als auch unkomplizierter umzusetzen als dies mit Python-Bordmitteln wie dem unittest-Modul möglich wäre. Pytest lässt sich nahtlos mit existierenden Testsuites integrieren und bietet auch da viele Vorteile. Weiterhin lässt es sich problemlos an die eigenen Ansprüche anpassen und mit diversen Plug-ins erweitern.

Obwohl pytest primär auf Python ausgelegt ist, eignet es sich auch hervorragend als Basis für andere Systeme: So wird es etwa auch benutzt um IoT-Kühlschränke, Waschmaschinen, Automobil-Komponenten oder gar Audio-Codecs zu testen.

Vorkenntnisse

  • Grundkenntnisse zu Python und zu objektorientiertem Programmieren
  • Vorkenntnisse zum Software-Testing werden nicht benötigt
  • Der Kurs wird auf Deutsch durchgeführt, die dazugehörigen Slides sind jedoch in englischer Sprache verfasst

Lernziele

  • Einführung zu pytest mit zahlreichen Übungen
  • Best Practices für das Testen
  • Wie man mittels eigenen Plug-ins pytest erweitern kann
  • Personen, die noch nie einen Test geschrieben haben, sind genauso willkommen wie solche, die bereits Test-Frameworks nutzen und mehr Wissen zu pytest sammeln wollen

Agenda

9:00 – 10:30:
  • Einleitung und Terminologie: Warum automatisierte Tests, Arten von Tests, Aufgaben eines Test-Frameworks
  • Tests schreiben mit pytest: Installation, wichtige Features, Konfiguration, Assertions
  • Tests organisieren: „markers“, Tests parametrisieren mit Daten, Tests überspringen
10:45 – 12:15:
  • Abhängigkeiten modularisieren mit „fixtures“: Setup/Teardown, Dependency Injection
13:15 - 14:45:
  • Abhängigkeiten vermeiden mit Patching/Mocking: Warum, wann, wann lieber nicht, und wie
  • Mit bestehenden Testsuites und Frameworks umgehen: Existierende Testsuites ausführen, Strategien bei der Migration zu pytest
15:00 - 16:00:
  • Plugins: Automatisch Testdaten generieren mit „hypothesis“ (property-based testing), Testabdeckung (coverage), Nutzung mehrerer CPU-Cores/Maschinen und vieles mehr.
  • Eigene Plugins verfassen: Kurzübersicht der verfügbaren Hooks
Je nach Interesse/Zeit:
  • Offene Fragerunde: Platz für Fragen und Probleme bei der Integration von pytest in bestehende Projekte der Teilnehmenden
  • Je nach Zeit und Interessen des Publikums kann auch auf weitere Themen zu pytest oder zu verwandten Projekten (tox/devpi) eingegangen werden

 

Speaker

 

Florian Bruhin
Florian Bruhin ("The Compiler") hat 2015 das pytest-Framework entdeckt und seither in diversen Firmen sowie an Konferenzen Vorträge und Workshops zu pytest durchgeführt. Er ist Mitentwickler und -Maintainer von pytest selbst sowie diversen Plug-ins. Sein Hauptprojekt qutebrowser, ein Webbrowser für Poweruser, wurde vom Hobby zum spendenfinanzierten Teilzeitjob.

enterPy-Newsletter

Sie möchten über die enterPy
auf dem Laufenden gehalten werden?

 

Anmelden