Qualitätsmanagement
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.
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.
Aspekt | Qualitätssicherung | Qualitätskontrolle |
---|---|---|
Ziel | Fehler vermeiden | Fehler finden und bewerten |
Zeitpunkt | Während der Entwicklung | Am oder nach dem Produktende |
Beispiel | Coding-Guidelines, Reviews, QS-Prozess | Modultests, Abnahmetests, Inspektionen |
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
Kriterium | Bedeutung |
---|---|
Funktionalität | Erfüllt die Software alle Anforderungen korrekt? |
Zuverlässigkeit | Wie stabil läuft das System unter verschiedenen Bedingungen? |
Benutzbarkeit | Ist die Bedienung einfach, intuitiv und nachvollziehbar? |
Effizienz | Wie performant ist die Anwendung (z. B. Reaktionszeit, Ressourcenverbrauch)? |
Wartbarkeit | Wie leicht lässt sich der Code verstehen, anpassen und erweitern? |
Übertragbarkeit | Wie einfach kann die Software auf andere Systeme oder Plattformen portiert werden? |
Sicherheit | Wie 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 %
Verbesserungsprozesse
PDCA-Zyklus
Der PDCA-Zyklus (Plan-Do-Check-Act) ist ein kontinuierliches Modell zur Qualitätsverbesserung:
- Plan: Zielsetzung, Planung von Maßnahmen
- Do: Umsetzung im kleinen Rahmen
- Check: Überprüfung der Ergebnisse
- 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)
Vereinbarungen in IT-Projekten
Diese Seite erklärt prüfungsrelevante Vereinbarungen und Dokumente wie Lastenheft, Pflichtenheft, SLA und SOP im Projektumfeld.
Softwaretests
Diese Seite enthält prüfungsrelevantes Wissen zu verschiedenen Testarten, Testprinzipien und Testverfahren in der Softwareentwicklung.