Software Qualität nach ISO/IEC 25010
Was ist Softwarequalität nach ISO/IEC 25010?
Ein Rahmenwerk für objektive Qualität
Qualität ist oft subjektiv: Entwickelnde finden einen Code "schön", wenn er elegant geschrieben ist, während Anwendende nur interessiert, ob der Button funktioniert. Um diese unterschiedlichen Sichtweisen zu vereinen, gibt es den internationalen Standard ISO/IEC 25010. In der aktuellen Version von 2023 definiert er ein Qualitätsmodell, das als gemeinsame Sprache zwischen Auftraggebenden, Entwicklung und Testing dient. Das Modell trennt dabei scharf zwischen zwei Perspektiven:
- Produktqualität (Product Quality): Die technischen Eigenschaften der Software selbst (z. B. "Ist der Code modular?").
- Nutzungsqualität (Quality in Use): Die Wirkung der Software im realen Einsatz (z. B. "Kann die Person ihre Aufgabe effizient erledigen?").
Die neun Hauptmerkmale der Produktqualität
Der Standard unterteilt die Produktqualität in neun Hauptkategorien. Diese helfen dir, Anforderungen vollständig zu erfassen und nichts zu vergessen:
- Funktionale Eignung (Functional Suitability): Tut die Software das, was sie soll? Liefert sie korrekte Ergebnisse und deckt alle geforderten Aufgaben ab?
- Leistungseffizienz (Performance Efficiency): Wie geht das System mit Ressourcen um? Hierzu zählen Antwortzeiten (z. B. "Antwortzeit < 1s"), Durchsatz und der Speicherbedarf.
- Kompatibilität (Compatibility): Wie gut verträgt sich die Software mit anderen? Dies betrifft die Koexistenz auf derselben Hardware sowie die Interoperabilität, also den Datenaustausch über Schnittstellen (APIs).
- Interaktionsfähigkeit (Interaction Capability): Wie gut kann ein Mensch mit dem System interagieren? Ist die Oberfläche verständlich, erlernbar und bedienbar?
- Zuverlässigkeit (Reliability): Läuft das System stabil? Ist es verfügbar, wenn man es braucht, und wie verhält es sich bei Fehlern (Fehlertoleranz)?
- Informationssicherheit (Security): Sind Daten geschützt? Hier greifen die dir bekannten Schutzziele Vertraulichkeit, Integrität und Verfügbarkeit, um Daten vor unbefugtem Zugriff oder Manipulation zu schützen.
- Wartbarkeit (Maintainability): Wie leicht kann die Software angepasst werden? Ist der Code modular aufgebaut (Modularität), gut analysierbar und testbar, um Updates effizient einzuspielen?
- Flexibilität (Flexibility): Wie gut passt sich die Software an neue Umgebungen an? Lässt sie sich leicht installieren, auf andere Hardware übertragen (Portabilität) oder skalieren?
- Sicherheit (Safety): Geht von der Software eine Gefahr für Leib, Leben oder Umwelt aus? Dies ist neu als Hauptmerkmal und betrifft kritische Systeme (z. B. Airbag-Steuerung), bei denen Fehler physische Schäden verursachen könnten.
Wie wendet man das Modell in der Praxis an?
Anforderungen richtig zuordnen
In Pflichtenheften oder User Stories findest du oft Anforderungen, die auf den ersten Blick schwammig wirken. Mit der ISO 25010 kannst du diese präzise kategorisieren:
- Anforderung: "Die Software muss auch von Menschen mit Sehbehinderung bedient werden können."
- Merkmal: Interaktionsfähigkeit (Unterpunkt: Barrierefreiheit/Accessibility).
- Anforderung: "Das System muss auf eine Suchanfrage innerhalb von 0,5 Sekunden reagieren."
- Merkmal: Leistungseffizienz (Zeitverhalten).
- Anforderung: "Neue Funktionen müssen hinzugefügt werden können, ohne den gesamten Code neu zu schreiben."
- Merkmal: Wartbarkeit (Modularität).
- Anforderung: "Die App muss sowohl auf iOS als auch auf Android laufen."
- Merkmal: Flexibilität (Portabilität).
- Anforderung: "Bei einem Ausfall der Steuereinheit muss der Roboterarm sofort stoppen, um niemanden zu verletzen."
- Merkmal: Sicherheit (Safety).
Die Perspektive der Nutzenden: Quality in Use
Selbst wenn die Software technisch einwandfrei ist (hohe Produktqualität), kann sie in der Praxis scheitern. Die Nutzungsqualität (Quality in Use) bewertet die Software daher nicht im Labor, sondern im realen Nutzungskontext. Es fragt: Was erreichen die Nutzenden durch den Einsatz der Software?
- Effektivität: Können die Nutzenden ihre Ziele vollständig und genau erreichen? Kann ich die Steuererklärung fehlerfrei abgeben?
- Effizienz: Welchen Aufwand (Zeit, Geld, Stress) müssen sie dafür betreiben? Dauert die Eingabe 10 Minuten oder 2 Stunden?
- Zufriedenheit: Wie fühlt sich die Nutzung an? Werden die Erwartungen erfüllt und entsteht Vertrauen in das System?
- Risikofreiheit: Vermeidet die Software wirtschaftliche, gesundheitliche oder ökologische Schäden? Leitet eine Navigations-App den LKW unter einer zu niedrigen Brücken her?
- Kontextabdeckung: Funktioniert die Software in allen vorgesehenen Situationen flexibel? Funktioniert die Foto-App auch im Keller ohne Internetverbindung?
Lernziele
- konkrete Qualitätsanforderungen zuzuordnen, indem reale Anforderungen (z. B. „Antwortzeit < 1s“, „Barrierefreiheit“, „Modularität“) korrekt den passenden Merkmalen der Norm zugewiesen werden.
- die neun Hauptmerkmale der Produktqualität vergleichen, indem Funktionale Eignung (Functional Suitability), Leistungseffizienz (Performance Efficiency), Kompatibilität (Compatibility), Interaktionsfähigkeit (Interaction Capability), Zuverlässigkeit (Reliability), Informationssicherheit (Security), Wartbarkeit (Maintainability), Flexibilität (Flexibility), Sicherheit (Safety) anhand ihrer Definitionen unterschieden werden.
- das Qualitätsmodell nach ISO/IEC 25010:2023 erklären, indem die Strukturierung von Softwarequalität in neun Hauptmerkmale als ganzheitliches Rahmenwerk (Quality in Use, Product Quality) beschrieben wird.
Vertiefe dein Wissen!
Du hast die Grundlagen verstanden? Perfekt! In unserer App findest du interaktive Übungen, praktische Projekte und erweiterte Inhalte zu Software Qualität nach ISO/IEC 25010.
Ab 5€/Monat • Kostenloser Test verfügbar