Kapitel 22. Abnahmeprüfung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Als Entwicklerin oder Entwickler ist es einfach, sich auf die Tests zu konzentrieren, die deine Codebasis direkt umgeben: Unit-Tests, Integrationstests, UI-Tests und dergleichen. Diese Tests überprüfen, ob der Code das tut, was du beabsichtigst. Sie sind ein unschätzbares Werkzeug, um deine Codebasis frei von Regressionen zu halten. Sie sind aber auch das völlig falsche Werkzeug, wenn es darum geht, das zu entwickeln, was der Kunde erwartet.

Die Entwickler schreiben diese Tests mit voller Kenntnis des Codes, was bedeutet, dass die Tests auf die Erwartungen des Entwicklers ausgerichtet sind. Es gibt jedoch keine Garantie dafür, dass das getestete Verhalten auch wirklich dem entspricht, was der Kunde wünscht.

Betrachte den folgenden Einheitstest:

def test_chili_has_correct_ingredients():
    assert make_chili().ingredients() == [
        "Ground Beef",
        "Chile Blend",
        "Onion",
        ...
        "Tomatoes",
        "Pinto Beans"
    ]

Dieser Test könnte hieb- und stichfest sein; er besteht und fängt jeden Rückschritt im Code ab. Aber wenn du ihn einem Kunden vorlegst, wirst du vielleicht mit der Frage konfrontiert: "Nein, ich wollte Chili nach texanischer Art! Du weißt schon, ohne Tomaten und Bohnen?" Alle Unit-Tests der Welt können dich nicht davor bewahren, das Falsche zu bauen.

An dieser Stelle kommen die Abnahmetests ins Spiel. Abnahmetests prüfen, ob du das ...

Get Robustes Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.