Katalog
method#Qualitätssicherung#Zuverlässigkeit#Observability

Sanity Testing

Leichtgewichtige Prüfung kritischer Funktionen nach kleineren Änderungen, um grundlegende Stabilität sicherzustellen.

Sanity Testing ist eine schlanke Prüfungspraktik, die nach kleinen Code- oder Konfigurationsänderungen ausgeführt wird, um zentrale Funktionen schnell zu verifizieren.
Etabliert
Niedrig

Klassifikation

  • Niedrig
  • Technisch
  • Design
  • Fortgeschritten

Technischer Kontext

CI/CD-Systeme (z. B. GitHub Actions, GitLab CI, Jenkins)Testframeworks (z. B. Playwright, pytest, JUnit)Observability-Tools für schnelle Diagnose

Prinzipien & Ziele

Fokus auf kritische Pfade statt vollständiger Abdeckung.Schnelligkeit vor Tiefe: rasches Feedback ist das Ziel.Automatisiere so viel wie sinnvoll, aber behalte Handprüfungen für Randfälle.
Umsetzung
Team, Domäne

Use Cases & Szenarien

Kompromisse

  • Verlassen auf Sanity-Tests statt kompletter Regression führt zu unentdeckten Fehlern.
  • Flaky oder unsaubere Tests erzeugen unnötige Rollbacks und Verzögerungen.
  • Unzureichende Abdeckung kritischer Bereiche kann falsche Sicherheit suggerieren.
  • Beschränke Tests auf wirklich kritische Funktionalität.
  • Integriere Sanity-Tests früh in die Pipeline (pre-merge oder post-build).
  • Automatisiere Auswertung und Eskalation bei Fehlschlägen.

I/O & Ressourcen

  • Build-Artefakt / Container-Image
  • Minimaler Satz an Testdaten
  • Automatisierte Testskripte oder Checklisten
  • Pass/Fail-Status
  • Fehler-Logs und erste Diagnosehinweise
  • Entscheidungsempfehlung (Rollback, Release, Debug)

Beschreibung

Sanity Testing ist eine schlanke Prüfungspraktik, die nach kleinen Code- oder Konfigurationsänderungen ausgeführt wird, um zentrale Funktionen schnell zu verifizieren. Sie verhindert, dass fehlerhafte Grundzustände Ressourcen in aufwändigere Regressionstests investieren. Sanity-Tests sind fokussiert, kurz, häufig automatisierbar und werden in CI-Pipelines integriert, um rasches Feedback zu liefern.

  • Schnelle Erkennung von schwerwiegenden Problemen unmittelbar nach Änderungen.
  • Reduzierung verschwendeter Zeit bei langlaufenden Regressionstests.
  • Einfachere Entscheidungsgrundlage für Rollbacks oder Freigaben.

  • Keine vollständige Qualitätsgarantie; tiefergehende Tests bleiben nötig.
  • Kann False-Positives verursachen, wenn Testdaten oder Umgebungen inkonsistent sind.
  • Nicht geeignet, um Performance- oder Skalierungsprobleme umfassend zu prüfen.

  • Durchlaufzeit der Sanity-Suite

    Misst die durchschnittliche Zeit, die zur Ausführung der Sanity-Tests benötigt wird.

  • Fehlschlagsrate pro Build

    Anteil der Builds, bei denen Sanity-Tests fehlschlagen.

  • Zeit bis zur ersten Rückmeldung

    Zeitspanne zwischen Build-Start und Verfügbarkeit des Sanity-Testergebnisses.

Web-API: Health- und Auth-Checks

Sanity-Suite prüft Status-Endpunkt, grundlegende Authentifizierung und DB-Verbindung nach Deployment.

Microservice: Start-up Smoke

Nach Container-Start werden Kern-APIs und Konfigurationswerte geprüft, um Startfehler früh zu erkennen.

Frontend: Basale UI-Workflows

Automatisierte Sanity-Tests prüfen, ob Login, Navigation und Kerndialoge erreichbar sind.

1

Identifiziere kritische Pfade und minimale Testfälle.

2

Implementiere automatisierte Sanity-Skripte und integriere sie in CI-Jobs.

3

Definiere klare Schwellenwerte und Benachrichtigungsprozesse für Fehlschläge.

4

Überwache und pflege die Suite regelmäßig, um Flakiness zu reduzieren.

⚠️ Technische Schulden & Engpässe

  • Veraltete Testskripte ohne Refactoring.
  • Fehlende Parameterisierung von Testdaten.
  • Monolithische Sanity-Suiten statt modularer Checks.
TestdatenbereitstellungInfrastrukturstartzeitenFlaky Tests
  • Verwenden von Sanity-Tests als einzigen Release-Gate.
  • Aufblähen der Suite mit nicht-kritischen Prüfungen.
  • Manuelle Sanity-Checks in CI-Prozessen statt Automatisierung.
  • Zu breiter Umfang zerstört das Ziel der Schnelligkeit.
  • Mangelnde Wartung führt zu wachsender Fehleranfälligkeit.
  • Unklare Verantwortlichkeiten für Pflege und Reaktion.
Grundkenntnisse in TestautomatisierungVerständnis von CI/CD PipelinesFähigkeit zur schnellen Fehlerdiagnose
Schnelle Rückmeldung für EntwicklerStabilitätsprüfung vor aufwändigen TestsIntegration in CI/CD-Pipelines
  • Begrenzte Zeitbudget für schnelle Checks
  • Zugänglichkeit stabiler Testumgebungen
  • Notwendigkeit deterministischer Testdaten