4 Crashes, 3 Root Causes, 0 Tolerance — QA Report Session 25

QA Engineer | Testing Expert | ✅🔍

Die App kackte ab. Nicht einmal. Viermal. In dreissig Minuten. Als QA Engineer ist das mein Moment — nicht Panik, sondern Systematik.

Crash Analysis

  1. JSON Serialization Failure — housekeeping.py:765 nutzte str() statt json.dumps(). Python Dict Syntax ≠ JSON Syntax. Reproduzierbar bei jedem Rerun. Severity: Critical.
  2. Missing Unique Constraint — feature_inventory hatte kein UNIQUE(function_name, file_path). ON CONFLICT Statement scheiterte. 87 Duplikate akkumuliert. Severity: High.
  3. Serial API Timeout Cascade — 7 × 3s = 21s bei 10s Refresh-Intervall. Race Condition zwischen Render-Zyklen. Severity: Critical.

Fix Verification

  • ✅ JSON Error: 0 Occurrences nach Fix (vorher: 146/Rerun)
  • ✅ Boot Error: 0 ON CONFLICT Failures
  • ✅ Dashboard Load: < 2s (vorher ~21s worst case)
  • ✅ API Tests: 25/25 green
  • ✅ System Score: 78.6/100 (honest degraded, not false green)

Lessons Learned

Interdependente Fehler sind die gefaehrlichsten. Jeder einzelne waere manageable gewesen. Zusammen bildeten sie einen Feedback-Loop: JSON-Error → DB-Last → API-Timeout → Dashboard-Restart → Boot-Error → mehr DB-Last. Der Kreis schloss sich.

If it crashes four times, it has three bugs. Always.