Qualität

Qualitätsmanagement

Diese Seite behandelt wichtige Aspekte des Qualitätsmanagements in der Softwareentwicklung. Dazu gehören Techniken wie Code Reviews, Debugging, Qualitätskriterien, funktionale Anforderungen sowie Prüf- und Verbesserungsverfahren.

Ziel des Qualitätsmanagements

Qualitätsmanagement umfasst alle Maßnahmen, die sicherstellen, dass eine Softwarelösung den Anforderungen entspricht, zuverlässig funktioniert und wartbar bleibt.

Gute Qualität bedeutet nicht nur „wenige Fehler“, sondern auch Zuverlässigkeit, Benutzerfreundlichkeit und Wartbarkeit.

Qualitätssicherung vs. Qualitätskontrolle

Qualitätssicherung (QS) ist proaktiv und umfasst alle geplanten Maßnahmen, die sicherstellen sollen, dass ein Produkt oder Prozess von Anfang an fehlerfrei ist. Dazu gehören z. B. Reviews, Standards, Schulungen, Prozessdefinitionen oder die Einhaltung von Richtlinien.

Qualitätskontrolle (QK) ist reaktiv und prüft, ob ein Produkt den geforderten Qualitätskriterien entspricht – typischerweise durch Tests, Inspektionen oder Messungen.

AspektQualitätssicherungQualitätskontrolle
ZielFehler vermeidenFehler finden und bewerten
ZeitpunktWährend der EntwicklungAm oder nach dem Produktende
BeispielCoding-Guidelines, Reviews, QS-ProzessModultests, Abnahmetests, Inspektionen
QS = Fehler vermeiden, QK = Fehler finden – beide ergänzen sich im Qualitätsmanagement.

Code Review

Ein Code Review ist die manuelle Überprüfung von Quellcode durch eine zweite Person (oder ein Team), bevor der Code in das Hauptprojekt übernommen wird.

Ziele:

  • Erkennung von Fehlern, Schwachstellen und Stilbrüchen
  • Verbesserung der Codequalität und Lesbarkeit
  • Weitergabe von Wissen im Team
  • Sicherstellung von Konventionen und Standards

Fehlersuche mit dem Debugger

Ein Debugger ist ein Werkzeug, mit dem man ein Programm schrittweise ausführen und den Zustand zur Laufzeit analysieren kann.

Typische Funktionen:

  • Breakpoints setzen
  • Zeilenweise Ausführung (Step-by-Step)
  • Variablen und Speicher analysieren
  • Call Stack verfolgen

Prüfverfahren zur Fehlererkennung

Paritätsprüfung

Die Paritätsprüfung dient zur Erkennung von Übertragungsfehlern:

  • Eine Paritätsbit (gerade oder ungerade) wird ergänzt.
  • Bei der Prüfung wird gezählt, ob die Anzahl der 1-Bits stimmt.

→ Einfaches Verfahren, erkennt jedoch nicht alle Fehlerarten.

Redundanzverfahren

Redundanz bedeutet, zusätzliche Daten zur Fehlererkennung/-korrektur zu speichern:

  • Beispiel: CRC-Prüfung, Checksummen, RAID-Verfahren
  • Wird häufig bei Speicherung und Übertragung eingesetzt.

→ Höhere Sicherheit, aber auch höherer Speicherbedarf.


Kriterien zur Bewertung von Softwarequalität

KriteriumBedeutung
FunktionalitätErfüllt die Software alle Anforderungen korrekt?
ZuverlässigkeitWie stabil läuft das System unter verschiedenen Bedingungen?
BenutzbarkeitIst die Bedienung einfach, intuitiv und nachvollziehbar?
EffizienzWie performant ist die Anwendung (z. B. Reaktionszeit, Ressourcenverbrauch)?
WartbarkeitWie leicht lässt sich der Code verstehen, anpassen und erweitern?
ÜbertragbarkeitWie einfach kann die Software auf andere Systeme oder Plattformen portiert werden?
SicherheitWie gut ist die Software gegen unbefugten Zugriff, Datenverlust und Manipulation geschützt?

Funktionale und nicht-funktionale Anforderungen

Funktionale Anforderungen

Beschreiben was das System leisten soll.

Beispiele:

  • Nutzerregistrierung
  • Bestellabwicklung
  • Datenbankzugriff

Nicht-funktionale Anforderungen

Beschreiben unter welchen Bedingungen das System funktionieren soll.

Beispiele:

  • Ladezeit < 1 Sekunde
  • Zugriffsschutz (z. B. Login erforderlich)
  • Kompatibilität mit verschiedenen Browsern

Soll-Ist-Vergleich

Ein Soll-Ist-Vergleich prüft, ob geplante Ziele erreicht wurden.

Ziel:

  • Abweichungen erkennen und bewerten
  • Korrekturmaßnahmen einleiten

Berechnung von Abweichungen:

Abweichung (%) = ((Ist - Soll) / Soll) × 100

Beispiel:
Soll-Dauer: 20 Stunden
Ist-Dauer: 24 Stunden
→ Abweichung = ((24 – 20) / 20) × 100 = +20 %

Abweichungen können positiv (Mehrleistung) oder negativ (Verzug) sein.

Verbesserungsprozesse

PDCA-Zyklus

Der PDCA-Zyklus (Plan-Do-Check-Act) ist ein kontinuierliches Modell zur Qualitätsverbesserung:

  1. Plan: Zielsetzung, Planung von Maßnahmen
  2. Do: Umsetzung im kleinen Rahmen
  3. Check: Überprüfung der Ergebnisse
  4. Act: Übernehmen in den Standardprozess oder Nachbesserung

→ Ideal für iterative Optimierung in agilen und klassischen Projekten.

KVP – Kontinuierlicher Verbesserungsprozess

  • Ziel: schrittweise und dauerhaft verbessern
  • Beteiligung aller Projektbeteiligten
  • Oft verbunden mit regelmäßiger Reflexion (z. B. Retrospektiven)
  • Wird niemals beendet

Testdatengeneratoren

Ein Testdatengenerator erstellt automatisch geeignete Daten für Testszenarien.

Vorteile:

  • Schnell viele Tests durchführen
  • Reproduzierbare und definierte Ausgangslage
  • Belastungs- und Grenzfalltests möglich

Beispielhafte Einsatzgebiete:

  • Generierung realistischer Benutzerdaten
  • Füllen von Datenbanken mit Testwerten
  • Prüfung von Validierungen (z. B. fehlerhafte Eingaben)

Testprotokolle

Ein Testprotokoll dokumentiert die Durchführung und Ergebnisse von Tests.

Inhalte:

  • Testfallbeschreibung
  • Eingabedaten
  • Erwartetes Ergebnis
  • Tatsächliches Ergebnis
  • Bewertung (Bestanden / Fehlgeschlagen)
  • Datum, Tester, Versionsstand

→ Wichtig für Nachvollziehbarkeit, Fehleranalyse und Abnahme.


Abnahmeprotokoll

Ein Abnahmeprotokoll dokumentiert die formale Übergabe eines Projekts oder Produkts vom Entwickler an den Auftraggeber.

Inhalte:

  • Projektname, Abnahmedatum, Beteiligte
  • Feststellung der Zielerreichung
  • Auflistung noch offener Punkte (Restarbeiten)
  • Bestätigung der Funktionsfähigkeit
  • Unterschriften (Kunde & Projektleitung)
Ein unterschriebenes Abnahmeprotokoll ist rechtlich relevant – es markiert den Projektabschluss und den Übergang der Verantwortung.