Qualitätssicherungsmaßnahmen
Dieser Beitrag ist eine Begriffserklärung zu Qualitätssicherungsmaßnahmen – inklusive Prüfungsfragen und Tags.
In a Nutshell
Ganzheitliche Qualität entsteht durch abgestimmte Maßnahmen: Audits, Code Reviews, Testmethoden, statische Codeanalyse, Pair Programming, Bugtracking, ein tragfähiger Entwicklungsprozess und konsequente CI/CD-Pipelines, messbar gemacht über Qualitätsziele und Quality Gates.
Kompakte Fachbeschreibung
Präventiv vs. Detektiv
- Präventiv: Richtlinien, Schulungen, Pair Programming, Definition of Done
- Detektiv: Statische Codeanalyse, Tests, Code Reviews, Audits
Zentral ist eine automatisierte Pipeline mit Continuous Integration, die pro Änderung baut, analysiert, testet und Ergebnisse zurückmeldet, und mit Continuous Delivery oder Continuous Deployment ausliefert. Bugtracking steuert den Fehlerlebenszyklus (Status, Schweregrad, Verknüpfung zu Commits, Releases). Dokumente (Architektur, ADRs, Betrieb) werden als Teil der Qualität gepflegt und versioniert.
Prüfungsrelevante Stichpunkte
- Audits intern/extern: Prüfkataloge, Nachweise, Maßnahmenplan
- Code Review: Vier‑Augen‑Prinzip, Checkliste, Architektur & Sicherheit
- Testmethoden: Unit, Integration, E2E, Explorativ, Regression (basierend auf Testpyramide)
- Statische Codeanalyse: Stil, Komplexität, Duplikate, Security, Quality Gate
- Pair Programming: Echtzeit‑Review, Wissenstransfer, geringere Defektrate
- Bugtracking: Workflow, MTTR, Defektdichte, Verknüpfungen
- Entwicklungsprozess: DoR/DoD, Branch Policy, Release‑Strategie
- CI/CD: automatisierte Stufen, Gates, Rollback, Feature Flags
Kernkomponenten
- Qualitätsziele & Metriken (ISO 25010‑Untermerkmale)
- Review‑Praktiken (Code, Architektur, Security)
- Teststrategie (Testpyramide, Mutation Testing, Flaky‑Kontrolle)
- Statische Codeanalyse & Security Scans
- Pair/Mob Programming
- Bugtracking‑Prozess (Triage, Priorisierung)
- Entwicklungsprozess (DoR, DoD, Release‑Flüsse)
- CI‑Pipeline (Build, Lint, Test, Analyse, Artefakte)
- Continuous Delivery (manuelle Freigabe, Staging, Canary, Blue‑Green)
- Continuous Deployment (automatisch bei erfüllten Gates)
Praxisbeispiel (schlanke QS‑Kette für einen Webservice)
DoD: Unit Tests vorhanden, Coverage steigend, Analyse grün, Review bestätigt, Ticket verlinkt, Changelog, Doku aktualisiert
Pipeline:
1) Lint + Format
2) Unit Tests + Mutation Testing
3) Statische Codeanalyse (Quality Gate)
4) Build + Artefakt signieren
5) Integrationstests im Container
6) Contract Tests gegen Nachbarn
7) Deployment nach Staging (CD)
8) E2E Smoke Tests
9) Freigabe / automatisches Go‑Live (Deployment)
10) Monitoring aktiv
Reviews: PR‑Checkliste (Architektur, Sicherheit, Tests, Doku)
Bugtracking: Ticket (hoch) → Reproduktion → Testfall → Fix (Commit) → Regressionstest → Verifiziert → Geschlossen
Vorteile und Nachteile
Vorteile
- Frühe Fehlererkennung
- Geringere Nacharbeitskosten
- Reproduzierbare Qualität
- Bessere Compliance‑Nachweise
- Höheres Teamwissen
- Schnellere & sicherere Releases
Nachteile
- Initialer Einführungsaufwand
- Lernkurve
- Mögliche Verlangsamung ohne Disziplin
- Metrik‑Steuerung kann Verhalten verzerren
Typische Prüfungsfragen (mit Kurzantwort)
- Continuous Delivery vs. Continuous Deployment? Delivery: jederzeit technisch möglich, manuelle Freigabe. Deployment: automatisch bei grünen Gates.
- Was gehört in eine Review‑Checkliste? Architekturkonformität, Sicherheitsüberprüfung, Fehlerbehandlung, Tests, Naming, Komplexität, Logging, Doku.
- Wie wird ein Audit vorbereitet? Geltungsbereich definieren, Nachweise sammeln, Policies/ADRs bereitstellen, Stichproben, Maßnahmenplan.
- Rolle der statischen Codeanalyse? Automatisiert stilistische/strukturelle/Sicherheits‑Verstöße, setzt Quality Gate.
- Wie misst man Test‑Wirksamkeit? Mutation Score, Flaky Rate, Defekterkennung vor Release, Coverage als Trend.
Wichtigste Quellen
- https://martinfowler.com/articles/continuousIntegration.html
- https://testing.googleblog.com
- https://owasp.org