Testgetriebene Entwicklung mit Python
614 Seiten
German
PDF
4.5

Testgetriebene Entwicklung mit Python

Testgetriebene Entwicklung mit Python

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch von Harry Percival „Test-Driven Development with Python“ (im Deutschen: „Testgetriebene Entwicklung mit Python“) ist nicht nur ein weiteres Python-Lehrbuch. Es ist ein umfassender praktischer Leitfaden, der den Leser anhand der Erstellung einer realen Webanwendung in die Welt des Test-Driven Development (TDD) eintauchen lässt. Das 2017 veröffentlichte Buch (zweite Auflage) ist auch heute noch aktuell, besonders für diejenigen, die professionelle Entwicklungspraktiken mit Python unter Verwendung von Django und Selenium erlernen möchten.

Der Autor – Harry Percival, leitender Ingenieur bei PythonAnywhere, bekannt für seine Erfahrung im Bereich Testen und Webentwicklung. Er erklärt nicht nur die Theorie, sondern führt den Leser Schritt für Schritt von einem leeren Verzeichnis zu einer voll funktionsfähigen, getesteten Anwendung.

Worum geht es in diesem Buch?

Das Buch widmet sich der Methodik des Test-Driven Development (testgetriebene Entwicklung) im Kontext der Webentwicklung mit Python. Das Hauptprojekt ist die Erstellung einer einfachen To-Do-Listen-Anwendung auf Basis von Django. Der wahre Wert des Buches liegt jedoch nicht im Projekt selbst, sondern im Prozess: Sie lernen, Tests zu schreiben, bevor der Code geschrieben wird, und sehen, wie dies die Architektur und Qualität des Endprodukts verändert.

Das Buch behandelt:

  • Grundlagen von TDD: Rot-Grün-Refactoring (Red-Green-Refactor).
  • Funktionale Tests mit Selenium.
  • Unit-Tests für Django (Modelle, Views, Formulare).
  • Testen von JavaScript mit QUnit und Sinon.js.
  • Kontinuierliche Integration (CI) mit Travis CI.
  • Bereitstellung auf Servern (PythonAnywhere, Heroku).
  • Arbeit mit Datenbanken, Migrationen und Test-Fixtures.
  • Mock-Objekte und Testen externer Dienste.

Für wen ist dieses Buch?

Das Buch richtet sich an Entwickler, die bereits mit den Grundlagen von Python vertraut sind und grundlegende Kenntnisse über Web-Frameworks haben (vorzugsweise Django, aber nicht zwingend). Wenn Sie:

  • zuverlässigeren und wartbareren Code schreiben möchten;
  • das „Debuggen mit print“ leid sind und Prüfungen automatisieren möchten;
  • in einem Team arbeiten möchten, in dem TDD Standard ist;
  • verstehen möchten, wie man nicht nur das Backend, sondern auch das Frontend (JavaScript) testet;

– dann ist dieses Buch für Sie. Anfänger in Python werden es schwer haben: Der Autor setzt voraus, dass Sie Pakete installieren, mit virtuellen Umgebungen arbeiten und die Grundlagen der OOP verstehen.

Was lernt der Leser?

Nach der Lektüre des Buches werden Sie in der Lage sein:

  • Tests vor dem Code zu schreiben und zu sehen, wie dies die Entwicklung beschleunigt.
  • Selenium zu verwenden, um Benutzeraktionen im Browser zu simulieren.
  • Django-Anwendungen auf allen Ebenen zu testen: von Modellen bis zu Templates.
  • Code zu refaktorieren, mit der Gewissheit, dass Tests Regressionen abfangen.
  • CI/CD einzurichten für automatische Testläufe.
  • Mit Git im Kontext von TDD zu arbeiten (häufige Commits, atomare Änderungen).
  • Tests für JavaScript zu schreiben und sie in den Gesamtprozess zu integrieren.

Stärken des Buches

1. Praxisorientierung. Sie lesen nicht nur Theorie – Sie schreiben Code zusammen mit dem Autor. Jedes Kapitel enthält konkrete Schritte, Terminalbefehle und Erläuterungen.

2. Schrittweise Komplexitätssteigerung. Es beginnt mit einem einfachen „Hello, world“ in Tests und endet mit der Bereitstellung auf einem Produktionsserver mit HTTPS und statischen Dateien.

3. Realistisches Projekt. Die To-Do-Listen-Anwendung ist kein Spielzeugbeispiel, sondern ein vollwertiges Projekt, das erweitert werden kann.

4. Abdeckung moderner Werkzeuge. Selenium, Django, Git, Travis CI, PythonAnywhere – all dies wird in der Industrie tatsächlich verwendet.

5. Detaillierte Erklärungen. Der Autor gibt nicht nur Befehle, sondern erklärt, warum genau so,

Empfehlungen