Einführung in die Softwarequalität

In dieser grundlegenden Lerneinheit erfährst du, was Softwarequalität bedeutet und welche Aspekte sie umfasst. Du lernst die wichtigsten Qualitätsmerkmale von Software kennen und verstehst, warum sie für erfolgreiche Softwareprojekte entscheidend sind. Diese Basis-Konzepte helfen dir dabei, von Anfang an qualitativ hochwertige Software zu entwickeln und typische Qualitätsprobleme zu vermeiden.

Einführung

Ein Update dauert nur fünf Minuten. Dann läuft das System wieder. Zumindest war das der Plan. Doch nach dem Update startet das Kassensystem im Supermarkt nicht mehr. Kunden warten, das Personal improvisiert, der Frust wächst.

Solche Situationen kennt fast jeder. Ob abstürzende Apps, verwirrende Bedienoberflächen oder Software, die nicht das tut, was sie verspricht:

Was unterscheidet eigentlich gute Software von schlechter? Und warum funktioniert manche Software zuverlässig, während andere ständig Probleme macht?

Die Antwort liegt in der Softwarequalität. Sie ist kein Zufall, sondern das Ergebnis gezielter Planung, Standards und Methoden.

In dieser Lerneinheit erfährst du, was Softwarequalität bedeutet, welche Merkmale sie ausmachen und warum sie für erfolgreiche Projekte entscheidend ist.

Lernziele

Nach dieser Lerneinheit kannst du:

  • Softwarequalität definieren und erklären, was sie von reiner Funktionsfähigkeit unterscheidet
  • Die 9 Qualitätsmerkmale nach ISO/IEC 25010:2023 benennen und voneinander abgrenzen
  • Den Unterschied zwischen Produktqualität und Qualität in der Nutzung erläutern
  • Kosten und Nutzen von Qualitätssicherungsmaßnahmen gegenüberstellen und bewerten

Überleitung

Kassensysteme, die nach Updates streiken. Apps, die abstürzen. Webseiten, die nicht laden. Diese Probleme sind kein Zufall, sondern Symptome mangelnder Softwarequalität.

Um solche Probleme systematisch zu vermeiden, brauchen wir ein gemeinsames Verständnis davon, was “Qualität” bei Software überhaupt bedeutet.

Beginnen wir mit der grundlegenden Frage: Was genau ist Softwarequalität?

Was ist Softwarequalität?

Softwarequalität beschreibt, in welchem Maß eine Software die Anforderungen und Erwartungen ihrer Nutzer erfüllt. Das klingt einfach, ist aber vielschichtiger als gedacht.

Denn Qualität bedeutet mehr als nur “die Software funktioniert” oder “es gibt keine Fehler”. Eine Software kann technisch fehlerfrei sein und trotzdem von Nutzern als schlecht empfunden werden, etwa weil sie umständlich zu bedienen ist oder langsam reagiert.

Softwarequalität umfasst sowohl die technischen Eigenschaften der Software als auch die Erfahrung, die Nutzer bei der Verwendung machen.

Dazu gehören Aspekte wie: Funktioniert die Software korrekt? Ist sie zuverlässig? Lässt sie sich gut bedienen? Reagiert sie schnell genug? Kann sie gewartet und erweitert werden?

Warum ist Softwarequalität wichtig?

Softwarequalität ist kein Selbstzweck. Sie hat direkte Auswirkungen auf den Erfolg eines Projekts und eines Unternehmens.

  • Kundenzufriedenheit: Software, die zuverlässig funktioniert und einfach zu bedienen ist, führt zu zufriedenen Nutzern. Unzufriedene Nutzer wechseln zur Konkurrenz.

  • Kostenersparnis: Fehler, die erst spät im Entwicklungsprozess oder nach der Auslieferung entdeckt werden, sind deutlich teurer zu beheben. Je später ein Fehler entdeckt wird, desto aufwendiger ist die Korrektur.

  • Markenreputation: Unternehmen, die konstant qualitativ hochwertige Software liefern, bauen Vertrauen auf. Ein einzelner schwerwiegender Fehler kann den Ruf jahrelanger Arbeit beschädigen.

  • Wettbewerbsvorteil: In einem Markt mit vielen ähnlichen Produkten kann Qualität das entscheidende Unterscheidungsmerkmal sein.

Die Entwicklung der Qualitätsstandards

Um Softwarequalität messbar und vergleichbar zu machen, wurden internationale Standards entwickelt. Diese Standards definieren, welche Eigenschaften gute Software haben sollte.

Die Entwicklung im Überblick:

  • ISO 9126 (2001): Der erste umfassende Standard für Softwarequalität. Er definierte 6 Qualitätsmerkmale und legte den Grundstein für systematische Qualitätsbewertung.

  • ISO/IEC 25010:2011: Der Nachfolgestandard erweiterte das Modell auf 8 Qualitätsmerkmale und führte die Unterscheidung zwischen Produktqualität und Qualität in der Nutzung ein.

  • ISO/IEC 25010:2023: Die aktuelle Version mit 9 Qualitätsmerkmalen. Neu hinzugekommen ist das Merkmal “Safety” (Sicherheit), das angesichts zunehmend kritischer Softwareanwendungen immer wichtiger wird.

Wenn du in älteren Dokumenten auf ISO 9126 stößt: Die Konzepte sind ähnlich, aber ISO/IEC 25010:2023 ist umfassender und aktueller.

ISO/IEC 25010:2023 im Überblick

Der aktuelle Standard ISO/IEC 25010:2023 unterscheidet zwei Perspektiven auf Qualität:

Produktqualität beschreibt die technischen Eigenschaften der Software selbst. Sie umfasst 9 Qualitätsmerkmale:

  1. Functional Suitability (Funktionalität)
  2. Performance Efficiency (Leistungseffizienz)
  3. Compatibility (Kompatibilität)
  4. Interaction Capability (Interaktionsfähigkeit)
  5. Reliability (Zuverlässigkeit)
  6. Security (Sicherheit)
  7. Maintainability (Wartbarkeit)
  8. Flexibility (Flexibilität)
  9. Safety (Betriebssicherheit)

Qualität in der Nutzung betrachtet die Software aus Sicht der Anwender. Sie umfasst 5 Merkmale wie Effektivität, Effizienz und Zufriedenheit.

Beide Perspektiven ergänzen sich: Hohe Produktqualität ist die Voraussetzung für gute Qualität in der Nutzung.

⏳ Lädt Dataview-Inhalt...

Die 9 Produktqualitätsmerkmale

Die folgende Tabelle gibt einen Überblick über alle 9 Qualitätsmerkmale nach ISO/IEC 25010:2023:

MerkmalBeschreibung
Functional SuitabilityDie Software stellt die benötigten Funktionen korrekt bereit
Performance EfficiencyReaktionszeiten und Ressourcenverbrauch sind angemessen
CompatibilityDie Software arbeitet mit anderen Systemen zusammen
Interaction CapabilityDie Software ist verständlich, erlernbar und bedienbar
ReliabilityDie Software arbeitet zuverlässig und erholt sich von Fehlern
SecuritySchutz vor unbefugtem Zugriff und Datenmissbrauch
MaintainabilityDie Software lässt sich analysieren, ändern und testen
FlexibilityAnpassbar an neue Umgebungen und Anforderungen
SafetySchutz vor Gefahren für Menschen, Eigentum und Umwelt

Die Merkmale “Interaction Capability” und “Flexibility” hießen in der älteren Version von 2011 noch “Usability” und “Portability”.

Safety: Das neue 9. Merkmal

Mit der Aktualisierung 2023 wurde Safety (Betriebssicherheit) als eigenständiges Qualitätsmerkmal eingeführt. Es beschreibt, inwieweit eine Software Menschen, Eigentum und Umwelt vor Schaden schützt.

Warum ist Safety so wichtig? Software steuert heute kritische Systeme: Medizingeräte, Autos, Flugzeuge, Industrieanlagen. Fehler können fatale Folgen haben.

Reale Beispiele für Safety-Probleme:

  • Therac-25 (1985-87): Ein Strahlentherapiegerät mit Softwarefehlern verabreichte Patienten tödliche Strahlendosen. Mehrere Menschen starben.

  • Boeing 737 MAX (2018-19): Softwarefehler im MCAS-System führten zu zwei Abstürzen mit 346 Todesopfern.

  • Toyota Beschleunigung (2009-11): Softwareprobleme führten zu unkontrollierter Beschleunigung von Fahrzeugen.

Diese Fälle zeigen: Bei sicherheitskritischer Software kann mangelnde Qualität Menschenleben kosten.

Qualität in der Nutzung

Während die Produktqualität die technischen Eigenschaften beschreibt, betrachtet die Qualität in der Nutzung die Software aus Sicht der Anwender. Sie beantwortet die Frage: Wie gut unterstützt die Software den Nutzer bei seinen Aufgaben?

Die 5 Merkmale der Qualität in der Nutzung:

  • Effektivität: Erreichen Nutzer ihre Ziele vollständig und korrekt?
  • Effizienz: Wie viel Aufwand benötigen Nutzer dafür?
  • Zufriedenheit: Sind Nutzer mit der Software zufrieden?
  • Freiheit von Risiken: Minimiert die Software Risiken für Gesundheit, Geschäft und Umwelt?
  • Kontextangepasstheit: Funktioniert die Software in verschiedenen Nutzungskontexten?

Eine technisch perfekte Software kann in der Praxis trotzdem scheitern, wenn sie die Nutzer nicht effektiv unterstützt. Produktqualität und Qualität in der Nutzung müssen zusammen betrachtet werden.

Kosten und Nutzen von Qualitätssicherung

Qualitätssicherung kostet Zeit und Geld. Aber sie spart langfristig deutlich mehr, als sie kostet.

Kosten von QS-Maßnahmen:

  • Werkzeuge und Lizenzen für Testautomatisierung
  • Zeit für Code-Reviews, Tests und Dokumentation
  • Schulungen für Qualitätsstandards und -werkzeuge

Nutzen von QS-Maßnahmen:

  • Frühe Fehlererkennung: Je später ein Fehler gefunden wird, desto teurer ist die Behebung. Ein Fehler in der Produktion zu beheben kann ein Vielfaches dessen kosten, was die Behebung während der Entwicklung gekostet hätte.
  • Weniger Nacharbeit: Gute Tests verhindern Regressionsfehler.
  • Höhere Kundenzufriedenheit: Stabile Software führt zu zufriedenen Nutzern.

Die Herausforderung: Die richtige Balance finden. Nicht jedes Projekt braucht dieselben QS-Maßnahmen. Eine kritische Medizinsoftware erfordert strengere Qualitätssicherung als ein internes Verwaltungstool.

⏳ Lädt Dataview-Inhalt...

Zusammenfassung und Ausblick

Zusammenfassung

Softwarequalität beschreibt, wie gut eine Software die Anforderungen und Erwartungen ihrer Nutzer erfüllt. Sie umfasst weit mehr als reine Funktionsfähigkeit: Zuverlässigkeit, Bedienbarkeit, Sicherheit und Wartbarkeit sind ebenso entscheidend.

Der internationale Standard ISO/IEC 25010:2023 definiert zwei Qualitätsperspektiven:

Die Produktqualität mit 9 Merkmalen beschreibt die technischen Eigenschaften der Software:

MerkmalKernfrage
Functional SuitabilityFunktioniert die Software korrekt?
Performance EfficiencyReagiert sie schnell genug?
CompatibilityArbeitet sie mit anderen Systemen?
Interaction CapabilityIst sie gut bedienbar?
ReliabilityIst sie zuverlässig?
SecurityIst sie sicher vor Angriffen?
MaintainabilityLässt sie sich warten?
FlexibilityIst sie anpassbar?
SafetySchützt sie vor Schäden?

Das Merkmal Safety wurde 2023 neu hinzugefügt. Reale Vorfälle wie die Therac-25-Unfälle und die Boeing 737 MAX-Abstürze zeigen, wie wichtig Betriebssicherheit bei kritischen Systemen ist.

Die Qualität in der Nutzung betrachtet die Software aus Nutzersicht: Wie effektiv und zufriedenstellend unterstützt sie bei der Arbeit? Beide Perspektiven ergänzen sich und müssen gemeinsam betrachtet werden.

Qualitätssicherung kostet Zeit und Geld, aber sie zahlt sich aus: Früh erkannte Fehler sind deutlich günstiger zu beheben als spät entdeckte. Die Herausforderung liegt darin, für jedes Projekt die passenden Maßnahmen zu wählen.

Ausblick

In der nächsten Lerneinheit Qualitätsmanagement im Software-Lebenszyklus erfährst du, wie Qualität systematisch geplant und gesteuert wird. Du lernst den Unterschied zwischen Qualitätssicherung (QA) und Qualitätskontrolle (QC) sowie wichtige Methoden wie den PDCA-Zyklus und das CMMI-Modell kennen.