Informatik Softwareentwicklung – Testen und Testpyramide
Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Welche drei Ebenen bilden die klassische Testpyramide? · Warum sollten Unit-Tests den…
Karten
15 KartenWelche drei Ebenen bilden die klassische Testpyramide?
Rückseite
Unit-Tests (Basis), Integrationstests (Mitte), End-to-End-Tests (Spitze).
Warum sollten Unit-Tests den größten Anteil der Testsuite ausmachen?
Rückseite
Sie sind schnell, deterministisch, isoliert testbar und liefern präzises Feedback bei Änderungen.
Was unterscheidet einen Integrationstest von einem Unit-Test?
Rückseite
Integrationstests prüfen das Zusammenspiel mehrerer Komponenten oder externer Systeme (Datenbank, API), Unit-Tests eine einzelne Einheit in Isolation.
Wann ist ein End-to-End-Test gerechtfertigt?
Rückseite
Bei kritischen Nutzerpfaden (z. B. Checkout), die nur im Gesamtsystem verifizierbar sind – sparsam einsetzen wegen hoher Laufzeit und Flakiness.
Was bedeutet das FIRST-Prinzip für gute Unit-Tests?
Rückseite
Fast, Independent, Repeatable, Self-validating, Timely – Tests müssen schnell, unabhängig, wiederholbar, selbstprüfend und zeitnah geschrieben sein.
Wofür wird ein Test-Double (Mock, Stub, Fake) eingesetzt?
Rückseite
Um externe Abhängigkeiten zu ersetzen, damit Unit-Tests deterministisch, schnell und ohne Side-Effects laufen.
Was ist der Unterschied zwischen Mock und Stub?
Rückseite
Ein Stub liefert vorgegebene Antworten; ein Mock verifiziert zusätzlich, ob bestimmte Aufrufe mit erwarteten Parametern erfolgt sind.
Warum ist Testcode-Qualität (Lesbarkeit, Wartbarkeit) genauso wichtig wie Produktionscode?
Rückseite
Tests werden häufiger gelesen als geschrieben; unleserliche Tests werden bei Änderungen ignoriert oder gelöscht, was Sicherheit verliert.
Was misst Code Coverage und was nicht?
Rückseite
Sie misst, welche Codezeilen während der Testausführung durchlaufen wurden – nicht, ob Assertions die korrekte Logik prüfen.
Wann ist 100 % Code Coverage ein Warnsignal?
Rückseite
Wenn sie als Ziel vorgeschrieben wird – sie führt oft zu sinnlosen Tests für Getter/Setter statt relevanter Geschäftslogik.
Was ist Test-Driven Development (TDD) und welchen Zyklus folgt es?
Rückseite
Red-Green-Refactor: erst fehlenden Test schreiben (rot), minimalen Code für grün, dann refactoren bei grünen Tests.
Was bedeutet Flaky Test und wie geht man damit um?
Rückseite
Ein Test, der bei gleichem Code mal grün, mal rot ist – sofort beheben oder quarantänieren, nie ignorieren, da Vertrauen in die Suite verloren geht.
Wie grenzt man Property-Based Testing von Beispiel-basierten Tests ab?
Rückseite
Property-Based Testing generiert hunderte zufällige Eingaben und prüft invariante Eigenschaften, statt einzelne Beispiele hart zu kodieren.
Was ist Contract Testing und wann lohnt es sich?
Rückseite
Verifiziert, dass Provider und Consumer einer API ein gemeinsames Vertrags-Schema einhalten – sinnvoll bei Microservices statt breiter E2E-Tests.
Warum sollten Tests deterministisch sein (kein Random, keine Systemzeit)?
Rückseite
Nicht-deterministische Tests erodieren Vertrauen, verursachen CI-Fehlalarme und machen Debugging extrem schwierig.