Softwarequalität: Merkmale prüfen und sichern
Softwarequalität bedeutet: Eine Software erfüllt die festgelegten oder vorausgesetzten Anforderungen, die in ihrem Einsatz wichtig sind. Fehlerfreiheit allein reicht nicht. Auch Zuverlässigkeit, Benutzbarkeit, Effizienz, Wartbarkeit, Sicherheit und weitere Merkmale können zählen.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Qualität erkennen
Wann ist eine Software „gut“? Nicht dann, wenn sie nur startet oder eine einzelne Funktion ausführt. Gute Qualität zeigt sich daran, wie gut das Produkt die für seinen Einsatz festgelegten oder vorausgesetzten Anforderungen erfüllt. Softwarequalität ist deshalb ein Ist-Soll-Vergleich:
- Soll: Welche Funktionen und Eigenschaften werden verlangt?
- Ist: Welche Funktionen und Eigenschaften besitzt die Software tatsächlich?
- Bewertung: Wie gut stimmen Ist und Soll überein?
Softwarequalität
Softwarequalität ist die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die bestimmen, ob es festgelegte oder vorausgesetzte Anforderungen erfüllt.
Ein Textprogramm kann alle vorgesehenen Befehle besitzen und trotzdem schwer bedienbar sein. Eine Spiele-App kann korrekt rechnen, aber durch langsame Bilddarstellung den Nutzungserwartungen nicht genügen. Qualität umfasst daher mehr als bloße Fehlerfreiheit.
Softwarequalität ist kein einzelner Wert. Sie entsteht aus mehreren Eigenschaften, deren Bedeutung vom Produkt und seinem Nutzungskontext abhängt.
Qualitätsmerkmale passend gewichten
Welche Merkmale zählen? Das hängt davon ab, was die Software leisten soll, wer sie nutzt und in welcher Umgebung sie läuft.
Qualitätsmerkmal
Ein Qualitätsmerkmal beschreibt eine prüfbare Seite der Software. Beispiele sind Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Wartbarkeit, Portabilität und Sicherheit.
- Funktionalität: Die benötigten Funktionen sind vorhanden und arbeiten bestimmungsgemäß.
- Zuverlässigkeit: Die Software arbeitet stabil und konsistent, auch unter den vorgesehenen Belastungen.
- Benutzbarkeit: Menschen können die Software verständlich, leicht und wirksam bedienen.
- Effizienz: Die Software nutzt Zeit, Rechenleistung, Speicher oder Netzwerk angemessen.
- Wartbarkeit: Fehler, Erweiterungen und Anpassungen lassen sich gut bearbeiten.
- Portabilität: Die Software kann in unterschiedlichen vorgesehenen Umgebungen eingesetzt werden.
- Sicherheit: Daten und Systeme werden gegen Bedrohungen und Angriffe geschützt.
Nicht jedes Produkt gewichtet diese Merkmale gleich. Bei Systemsoftware können Zeit- und Ressourcenverbrauch besonders wichtig sein. Eine Spiele-App braucht unter anderem flüssige Darstellung und einfache Bedienung. Bei mobiler Software zählen etwa geringer Akkuverbrauch, Bedienbarkeit auf kleinen Anzeigen, wechselnde Ausrichtung, unterschiedliche Plattformen und der Schutz sensibler Daten.
Qualitätsziele können außerdem miteinander konkurrieren. Deshalb werden sie nicht blind maximiert, sondern für das konkrete Produkt begründet priorisiert.
Ein Team entwickelt eine mobile Fahrplan-App. Für dieses Produkt sind mehrere Merkmale wichtig:
- Fahrtauskünfte müssen die vorgesehenen Funktionen erfüllen.
- Die Oberfläche muss auf kleinen Anzeigen bedienbar bleiben.
- Netzwerk und Akku sollen nicht unnötig stark beansprucht werden.
- Gespeicherte oder verarbeitete sensible Daten müssen geschützt werden.
- Änderungen an mobilen Plattformen sollen sich zügig einarbeiten lassen.
Die Liste zeigt: Erst der Nutzungskontext macht aus allgemeinen Merkmalen passende Qualitätsziele.
Aus Zielen prüfbare Anforderungen machen
„Die App soll benutzerfreundlich sein“ nennt eine Richtung, ist aber noch schwer eindeutig zu prüfen. Ein Qualitätsmodell zerlegt einen abstrakten Qualitätsbegriff in Merkmale, Teilmerkmale und schließlich beobachtbare oder messbare Indikatoren.
Qualitätsindikator
Ein Qualitätsindikator ist ein beobachtbarer oder messbarer Hinweis auf die Ausprägung eines Qualitätsmerkmals. Er macht eine allgemeine Qualitätsaussage prüfbarer.
Mögliche Indikatoren sind etwa die Zahl gefundener Fehler, Codekomplexität, Testabdeckung, Rückmeldungen von Nutzenden, Benutzerzufriedenheit, Zuverlässigkeit oder Leistungsfähigkeit. Kein einzelner Indikator beschreibt automatisch die gesamte Qualität. Messwerte müssen immer zur Anforderung und zum Nutzungskontext passen.
Aus dem allgemeinen Ziel Benutzbarkeit auf kleinen Anzeigen wird eine konkrete Prüfkette:
- Merkmal: Benutzbarkeit.
- Teilfrage: Lassen sich die wichtigsten Funktionen auf einer kleinen Anzeige erreichen?
- Beobachtung: Testpersonen bearbeiten festgelegte Aufgaben auf der vorgesehenen Anzeige.
- Bewertung: Das Team vergleicht die Beobachtungen mit vorher festgelegten Akzeptanzkriterien.
Der entscheidende Schritt ist nicht eine beliebige Zahl, sondern die Verbindung zwischen Qualitätsziel, beobachtbarem Verhalten und vorher vereinbarter Bewertung.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Softwarequalität vergleicht das tatsächliche mit dem geforderten . Ein allgemeines Merkmal wird durch einen beobachtbar oder messbar. Ein Messwert ist nur sinnvoll, wenn er zur und zum Nutzungskontext passt.
Qualität während der Entwicklung sichern
Wann beginnt Qualitätssicherung? Nicht erst kurz vor der Veröffentlichung. Ein hochwertiger Entwicklungsprozess kann hochwertige Produkte begünstigen, garantiert sie aber nicht. Deshalb werden vorbeugende und prüfende Maßnahmen verbunden.
Konstruktive Qualitätssicherung
Konstruktive Maßnahmen sollen Qualität während der Herstellung begünstigen. Dazu gehören zum Beispiel eine klare, verbindliche Spezifikation, systematische Entwicklungsregeln, Richtlinien, geeignete Entwürfe und Refactoring.
Analytische Qualitätssicherung
Analytische Maßnahmen untersuchen bereits entstandene Artefakte wie Anforderungen, Entwürfe, Quellcode oder lauffähige Programme.
Analytische Maßnahmen lassen sich weiter unterscheiden:
- Statische Prüfung: Ein Artefakt wird untersucht, ohne die Anwendung auszuführen. Dazu gehören etwa Prüfungen des Quellcodes.
- Dynamischer Test: Die Anwendung wird unter festgelegten Bedingungen ausgeführt; die erzeugten Ergebnisse werden geprüft.
Durchgängiges Testen integriert Prüfungen früh und fortlaufend in die Entwicklung. Dadurch kann das Team früher Rückmeldung erhalten und Probleme früher bearbeiten. Trotzdem gilt: Tests sind nur ein Teil der Qualitätssicherung. Sie untersuchen bestimmte Fälle und schaffen Vertrauen in die Qualität; sie erzeugen Qualität nicht nachträglich von allein.
Ein Team ergänzt eine Suchfunktion.
- Konstruktiv: Es klärt zuerst die erwartete Funktion und vereinbart Regeln für die Umsetzung.
- Statisch analytisch: Es prüft den geänderten Code, ohne das Programm auszuführen.
- Dynamisch analytisch: Es führt die Suche mit festgelegten Eingaben aus und vergleicht die Ergebnisse mit den Erwartungen.
- Verbesserung: Gefundene Probleme führen zu Änderungen; danach wird erneut geprüft.
Die Maßnahmen ergänzen sich. Keine einzelne Stufe ersetzt die anderen.
Eine Qualitätsstrategie begründen
Wie planst du Qualität für ein konkretes Projekt? Gehe nicht von einer beliebigen Werkzeugliste aus, sondern von den Anforderungen.
- Nutzungskontext klären: Wer nutzt die Software, wofür und unter welchen Bedingungen?
- Qualitätsmerkmale auswählen: Welche Eigenschaften sind für diesen Einsatz entscheidend?
- Anforderungen konkretisieren: Woran lässt sich erkennen, dass ein Merkmal erfüllt ist?
- Maßnahmen verbinden: Welche konstruktiven, statischen und dynamischen Maßnahmen passen?
- Ergebnisse bewerten: Was zeigen Beobachtungen und Messwerte, und wo muss nachgebessert werden?
- Erneut prüfen: Änderungen können neue Auswirkungen haben und werden deshalb wieder untersucht.
Beginne bei der Anforderung, nicht beim Werkzeug: Kontext → Qualitätsmerkmal → prüfbares Kriterium → passende Maßnahme → Bewertung.
Für eine mobile Lern-App lautet ein Ziel: Die Oberfläche soll auf kleinen Anzeigen bedienbar sein.
- Das Team legt fest, welche zentralen Aufgaben die Lernenden erledigen können müssen.
- Es entwirft die Oberfläche nach diesen Aufgaben.
- Es prüft die Gestaltung und den Code statisch.
- Es lässt die festgelegten Aufgaben auf den vorgesehenen Anzeigen ausführen.
- Es bewertet die Beobachtungen anhand der vorher vereinbarten Kriterien.
- Nach einer Änderung wiederholt es die passenden Prüfungen.
So entsteht eine nachvollziehbare Kette von der Anforderung bis zum Qualitätsnachweis.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Softwarequalität
- Anforderungen und Kontext
- Ist-Soll-Vergleich
- Gewichtung der Merkmale
- Qualitätsmerkmale
- Funktionalität und Zuverlässigkeit
- Benutzbarkeit und Effizienz
- Wartbarkeit, Portabilität und Sicherheit
- Prüfbarkeit
- Teilmerkmale und Indikatoren
- Akzeptanzkriterien und Bewertung
- Qualitätssicherung
- konstruktive Maßnahmen
- statische und dynamische Analyse
- fortlaufende Verbesserung
- Anforderungen und Kontext
Mit Google fortfahren