Abstract
Software-Qualität ist ein zentrales, jedoch uneinheitlich definiertes Konzept der Softwaretechnik. Trotz zahlreicher Normen, Modelle und Standards existiert keine universell akzeptierte Definition, die Qualität unabhängig vom Kontext eindeutig beschreibt oder valide messbar macht. Dieser Beitrag analysiert die theoretischen Grundlagen von Software-Qualität, zeichnet ihre historische Entwicklung nach und untersucht etablierte Qualitätsmodelle kritisch. Ergänzend wird die praxisnahe Definition des International Software Testing Qualifications Board (ISTQB) eingeordnet. Ziel ist es, Software-Qualität als kontextabhängiges, multidimensionales Konstrukt zu positionieren und die Grenzen normativer Modellierung aufzuzeigen.
1. Einleitung
Qualität gilt in der Softwareentwicklung als zentrales Ziel, bleibt jedoch eines der unschärfsten Konzepte der Disziplin. Begriffe wie „hochwertige Software“ oder „gute Qualität“ werden häufig verwendet, ohne präzise zu definieren, welche Eigenschaften gemeint sind oder wie deren Erfüllung festgestellt werden kann. Diese Unschärfe ist problematisch, da Qualitätsannahmen technische Entscheidungen, wirtschaftliche Prioritäten und organisatorische Strukturen maßgeblich beeinflussen.
Im Gegensatz zu klassischen Ingenieursdisziplinen ist Software immateriell, hochgradig veränderlich und stark kontextabhängig. Entsprechend existieren zahlreiche Qualitätsdefinitionen, die unterschiedliche Perspektiven einnehmen und sich teilweise widersprechen. Der vorliegende Artikel verfolgt drei Ziele: (1) eine begriffliche und theoretische Klärung von Software-Qualität, (2) eine kritische Analyse etablierter Qualitätsmodelle sowie (3) die Einordnung praxisorientierter Definitionen – insbesondere des ISTQB – in einen wissenschaftlichen Rahmen.
2. Begriffsklärung: Qualität im softwaretechnischen Kontext
2.1 Allgemeiner Qualitätsbegriff
Der Qualitätsbegriff ist historisch durch industrielle Fertigung geprägt. Nach ISO 9000 ist Qualität der „Grad, zu dem ein Satz inhärenter Merkmale Anforderungen erfüllt“. Diese bewusst generische Definition verschiebt die Komplexität auf die Bestimmung relevanter Anforderungen sowie deren Bewertung. Übertragen auf Software ergeben sich mehrere Herausforderungen: Anforderungen können funktional oder nicht-funktional sein, explizit oder implizit vorliegen und sich im Projektverlauf ändern.
2.2 Die ISTQB-Definition von Qualität
Das International Software Testing Qualifications Board (ISTQB) definiert Qualität als „den Grad, zu dem ein Arbeitsergebnis explizite und implizite Anforderungen erfüllt“ (ISTQB Glossary). Diese Definition ist in der Softwaretestpraxis weit verbreitet und lehnt sich konzeptionell an die ISO-9000-Terminologie an. Sie ist insbesondere für Ausbildungs- und Zertifizierungskontexte geeignet, da sie kompakt und handlungsorientiert ist.
Aus wissenschaftlicher Perspektive ist diese Definition jedoch kritisch einzuordnen. Der Verweis auf implizite Anforderungen wirft methodische Fragen auf, da solche Anforderungen häufig weder vollständig spezifiziert noch eindeutig validierbar sind. Empirische Studien zeigen, dass implizite Anforderungen stark vom Nutzungskontext, von Stakeholder-Erwartungen sowie von organisationalen Annahmen abhängen. Die ISTQB-Definition eignet sich daher als praxisorientierte Arbeitsdefinition, nicht jedoch als alleinige theoretische Fundierung von Software-Qualität.
2.3 Qualität versus Güte
In der deutschsprachigen Literatur wird teilweise zwischen „Qualität“ als Eigenschaftsraum und „Güte“ als Bewertungsgrad unterschieden. Diese Differenzierung ist konzeptionell sinnvoll, hat sich jedoch international nicht durchgesetzt und findet in Normen kaum Anwendung. International wird der Begriff „Software Quality“ sowohl für Eigenschaften als auch für deren Bewertung verwendet, was zu begrifflicher Mehrdeutigkeit führt.
3. Historische Entwicklung der Software-Qualität
3.1 Frühe Qualitätsmodelle
Mit wachsender Softwarekomplexität in den 1970er-Jahren wurde deutlich, dass funktionale Korrektheit allein kein ausreichendes Qualitätskriterium darstellt. McCall et al. entwickelten eines der ersten systematischen Qualitätsmodelle, das Qualität in Faktoren, Kriterien und Metriken unterteilt. Parallel dazu formulierte Boehm ein Modell, das Qualität stärker aus Nutzer- und Wartungsperspektive betrachtete.
3.2 Übergang zur Normierung
Mit der Industrialisierung der Softwareentwicklung entstand der Wunsch nach standardisierten Qualitätsdefinitionen. Internationale Normen sollten Qualität vergleichbar, bewertbar und auditierbar machen. Dieser Übergang markiert einen Paradigmenwechsel: von theoriebasierten Modellen hin zu normativen Rahmenwerken.
4. Etablierte Qualitätsmodelle
4.1 Das McCall-Modell
Das McCall-Modell unterscheidet zwischen Produktrevision, Produktübergang und Produktbetrieb. Es bietet eine strukturierte Sicht auf Qualität, leidet jedoch unter mangelnder Operationalisierbarkeit vieler Kriterien und fehlender Gewichtung.
4.2 Das Boehm-Modell
Boehms Modell integriert menschliche und organisatorische Aspekte. Qualität wird explizit als Nutzen für unterschiedliche Stakeholder verstanden. Trotz seiner konzeptionellen Stärke ist das Modell komplex und in der Praxis schwer anwendbar.
4.3 ISO/IEC 25010
ISO/IEC 25010 definiert acht Qualitätsmerkmale, darunter Funktionale Eignung, Zuverlässigkeit, Benutzbarkeit und Wartbarkeit. Die Stärke des Modells liegt in seiner weiten Verbreitung. Kritisch sind jedoch die implizite Gleichgewichtung der Merkmale, die fehlende Kontextsensitivität sowie die Annahme, dass Qualität vollständig durch Merkmalslisten beschreibbar ist.
5. Kritische Analyse
Alle betrachteten Modelle reduzieren Software-Qualität auf diskrete Merkmale. Diese Reduktion ist notwendig, führt jedoch zum Verlust emergenter Eigenschaften. Zudem wird der Anwendungskontext häufig unzureichend berücksichtigt. Messbarkeit wird gegenüber Bedeutung priorisiert, wodurch schwer messbare, aber zentrale Aspekte unterrepräsentiert bleiben.
6. Software-Qualität als kontextabhängiges Konstrukt
Auf Basis der Analyse lässt sich Software-Qualität als relationales Konstrukt verstehen, das im Zusammenspiel technischer Eigenschaften, Nutzungskontext, Stakeholder-Erwartungen und zeitlicher Perspektive entsteht. Qualitätsmodelle sind daher heuristische Werkzeuge, keine universellen Wahrheiten.
7. Diskussion
Die verbreitete Praxis, Software-Qualität über Checklisten oder Normkonformität zu definieren, greift zu kurz. Wissenschaftlich fundierte Qualitätssicherung erfordert ein reflektiertes Verständnis der zugrunde liegenden Annahmen und Zielkonflikte. Qualitätsmodelle sollten kritisch angewendet und kontextualisiert werden.
8. Fazit und Forschungsdesiderate
Software-Qualität ist ein vielschichtiges, kontextabhängiges Konzept, das sich nicht vollständig normieren lässt. Bestehende Modelle liefern wertvolle Orientierung, dürfen jedoch nicht als abschließende Definitionen verstanden werden. Zukünftige Forschung sollte sich verstärkt mit kontextadaptiven Qualitätsmodellen, empirischer Validierung von Qualitätsmerkmalen und langfristigen Qualitätswirkungen befassen.
Literatur (APA)
Boehm, B. W. (1978). Characteristics of Software Quality. North-Holland.
ISO. (2015). ISO 9000: Quality management systems — Fundamentals and vocabulary.
ISO/IEC. (2011). ISO/IEC 25010: Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE).
ISTQB. (Year). ISTQB Glossary. International Software Testing Qualifications Board.
Kitchenham, B., & Pfleeger, S. L. (1996). Software quality: The elusive target. IEEE Software, 13(1), 12–21.
McCall, J. A., Richards, P. K., & Walters, G. F. (1977). Factors in Software Quality.
