Wissen von A bis Z

Software Qualität

Softwarequalität kann man nicht nachträglich hineinprüfen, man muss sie von Anfang an hineinbauen – wie bei einem stabilen Fundament.

Softwarequalität ist die Gesamtheit der Eigenschaften einer Software, die ihre Eignung zur Erfüllung festgelegter und vorausgesetzter Anforderungen bestimmt. Sie umfasst funktionale Eigenschaften (Korrektheit, Vollständigkeit) ebenso wie nicht-funktionale wie Performance, Sicherheit, Wartbarkeit, Zuverlässigkeit und Benutzerfreundlichkeit.

In standardisierten Modellen wie ISO/IEC 25010 (Nachfolger von ISO 9126) ist Softwarequalität in mehrere Kategorien gegliedert: Functional Suitability, Performance Efficiency, Compatibility, Usability, Reliability, Security, Maintainability und Portability. Werkzeuge wie SonarQube, NDepend, Checkmarx oder OWASP ZAP unterstützen die Messung.

Einsatzzweck einer expliziten Qualitätsbetrachtung ist die Vermeidung impliziter Annahmen. Wer Qualität nicht ausdrücklich definiert, optimiert sie selten gezielt. Klare Qualitätsziele steuern Architektur-, Test- und Betriebsentscheidungen und ermöglichen Trade-offs (z. B. zwischen Geschwindigkeit und Wartbarkeit).

Die Disziplin Software Quality Engineering geht auf Pioniere wie Watts Humphrey (Software Engineering Institute), Tom Gilb und Roger Pressman zurück. Standards wie CMMI, ISO 9001 oder SPICE haben Qualitätsbetrachtungen industriell verankert; agile Bewegungen ergänzen sie um Praktiken wie Test-Driven Development, Continuous Integration und Definition of Done.

In der Praxis verschiebt sich die Qualitätsdebatte zunehmend von "Qualität als Phase" hin zu "Qualität als Eigenschaft des gesamten Wertstroms". Passend dazu W. Edwards Demings Aussage: "You cannot inspect quality into a product; it must be built in." – ein Satz, der seit Jahrzehnten in nahezu allen Qualitätsinitiativen widerhallt.

Zurück