Zum Inhalt
wannacode

Was Qualität ist

Kurz gesagt: Qualität ist das Maß, in dem ein Produkt den Menschen um sich herum gibt, was sie brauchen. Die ISO/IEC 25010:2023 teilt sie in neun Qualitätsmerkmale: eines dafür, was das System tut, und acht dafür, wie gut es das tut.

Problem

Alles funktioniert. Die Kunden gehen

Nach dem Start des neuen Shops bestehen alle 300 Tests. Die Lieferung wird richtig berechnet, die Gutscheincodes funktionieren, und eine Bestellung lässt sich nur vor dem Versand stornieren.

Aber die Warenkorbseite braucht auf dem Handy 9 Sekunden zum Laden. Die Hälfte der Kunden schließt sie, bevor sie die Summe sieht. Das Programm macht alles richtig. Und trotzdem ist es schlecht.

„Richtig“ ist also nicht die ganze Qualität. Was ist der Rest?

Die Idee

Qualität für wen?

Ein und derselbe Shop ist für verschiedene Menschen aus verschiedenen Gründen „gut“:

  • Kunden wollen das Produkt finden, schnell bezahlen und nicht ihre Karte gestohlen bekommen;
  • das Lager will, dass die Bestellung im richtigen Format in seiner Software ankommt;
  • die Buchhaltung will, dass Summen und Rabatte auf den Cent aufgehen;
  • das Entwicklungsteam, das nächstes Jahr die Schwelle für die Lieferung ändern wird, will sie an einer einzigen Stelle finden.

Qualität ist das Maß, in dem das Produkt diesen Menschen gibt, was sie brauchen: das Ausgesprochene und das Unausgesprochene. Die erste Frage lautet also nicht „Ist es gut?“, sondern „Für wen, und worin?“.

Die Idee

Die neun Qualitätsmerkmale

Der Standard ISO/IEC 25010:2023 ordnet die Qualität eines Produkts in neun Qualitätsmerkmale. Das ist ein Qualitätsmodell (quality model): eine Liste, damit du nichts vergisst.

Qualitätsmerkmal Im Shop
Funktionale Eignung (functional suitability) Die Lieferung ist ab 50 € kostenlos, der Rabatt wird richtig abgezogen.
Leistungseffizienz (performance efficiency) Der Warenkorb öffnet sich in unter 2 Sekunden, auch bei 500 Kunden gleichzeitig.
Kompatibilität (compatibility) Die Bestellung erreicht die Software des Lagers und den Paketdienst in ihrem jeweiligen Format.
Interaktionsfähigkeit (interaction capability) Ein Kunde mit Screenreader bestellt allein; eine Fehlermeldung sagt, was zu tun ist.
Zuverlässigkeit (reliability) Antwortet der Paketdienst nicht, wird die Bestellung gespeichert und später gesendet.
Informationssicherheit (security) Niemand sieht fremde Bestellungen; ein Gutscheincode lässt sich nicht erraten.
Wartbarkeit (maintainability) Die Schwelle von 50 € wird an einer Stelle geändert, und die Tests zeigen, was betroffen ist.
Flexibilität (flexibility) Der Shop verkraftet am Black Friday fünfmal so viele Kunden und startet in einem neuen Land.
Betriebssicherheit (safety) Lebensmittel ohne angegebene Allergene werden nicht verkauft: Das System hält sie zurück, statt sie anzuzeigen.

Die deutschen Namen sind die Übersetzung dieses Kurses. Die englischen sind die, die dir im Standard und in der Prüfung begegnen.

Genauer, für Neugierige

ISO/IEC 25010 definiert die Produktqualität als den Grad, in dem ein Produkt die festgelegten und vorausgesetzten Bedürfnisse seiner Interessengruppen erfüllt. Die Ausgabe von 2023 hat gegenüber 2011 einiges geändert:

  • die Betriebssicherheit (safety) ist ein neues, neuntes Qualitätsmerkmal;
  • die Gebrauchstauglichkeit (usability) heißt jetzt Interaktionsfähigkeit (interaction capability) und hat neue Teilmerkmale, zum Beispiel Inklusivität (inclusivity) und Selbstbeschreibungsfähigkeit (self-descriptiveness);
  • die Übertragbarkeit (portability) heißt jetzt Flexibilität (flexibility) und umfasst die Skalierbarkeit (scalability).

Jedes Merkmal hat Teilmerkmale. Die funktionale Eignung besteht zum Beispiel aus Vollständigkeit, Korrektheit und Angemessenheit. Das Modell der Qualität bei Nutzung (quality in use: wie es der Person geht, die das Produkt benutzt) steht seit 2023 in einem eigenen Standard, ISO/IEC 25019.

Im Deutschen heißen security und safety beide oft „Sicherheit“. In diesem Kurs steht Informationssicherheit für security und Betriebssicherheit für safety.

Übung

Sortiere die Beschwerden

1. Beschwerden von Kunden. Jede Beschwerde ist echt. Zu welchem Qualitätsmerkmal gehört sie?

1. „Die Zahlung hat 12 Sekunden zum Laden gebraucht, und ich habe abgebrochen.“
2. „Ich habe den Code HERBST10 eingegeben, und der Rabatt wurde nicht von der Summe abgezogen.“
3. „Der Screenreader sagt bei jeder Schaltfläche nur ‚Schaltfläche‘. Ich weiß nicht, welche ‚Bestellen‘ ist.“
4. „Am Freitagabend war die Website zwei Stunden lang nicht erreichbar.“
5. „Ich habe die Nummer in der Adresse meiner Bestellseite geändert und eine fremde Bestellung mit Name, Adresse und Telefonnummer gesehen.“
6. „Seit der Paketdienst das Format seiner Daten geändert hat, kommen Bestellungen nicht mehr bei ihm an, und die Pakete gehen nicht raus.“
7. „Bei der Haselnussschokolade standen keine Allergene in der Beschreibung. Mein Kind ist allergisch.“
8. „Das Entwicklungsteam sagt, die Änderung der Schwelle von 50 auf 60 € dauert zwei Wochen, weil die Zahl an 14 Stellen steht.“

Die Idee

Funktional und nichtfunktional

Das erste der neun Merkmale sagt, was das System tut: Bei einem Warenkorb von 50 € kostet die Lieferung 0 €. Das sind die funktionalen Anforderungen.

Die anderen acht sagen, wie gut es das tut: wie schnell, für wen, wie sicher, wie lange ohne Unterbrechung, wie schnell es sich ändern lässt. Das sind die nichtfunktionalen Anforderungen (non-functional).

Nichtfunktionale Anforderungen werden am häufigsten vergessen. Niemand spricht sie aus, weil sie „sich von selbst verstehen“: Der Shop muss natürlich schnell und sicher sein. Bis sich herausstellt, dass er es nicht ist. In der Geschichte vom Anfang haben alle funktionalen Tests bestanden. Es fehlte eine nichtfunktionale Anforderung.

Probier es aus

Was oder wie gut?

1. Ab einer Bestellung von 50 € ist die Lieferung kostenlos.
2. Der Warenkorb öffnet sich in unter 2 Sekunden, während 500 Menschen gleichzeitig im Shop einkaufen.
3. Ein Kunde sieht nur seine eigenen Bestellungen, nicht die anderer.

Die Idee

Qualität wird vereinbart

„Die Website soll schnell sein“ lässt sich nicht prüfen. Wie schnell? Welche Seite? Bei wie vielen Kunden? Auf welchem Handy?

Der Satz wird zur Anforderung, wenn er ein Maß bekommt: „95 % der Öffnungen des Warenkorbs dauern unter 2 Sekunden, bei 500 Kunden gleichzeitig, im Mobilfunknetz“. Jetzt weiß, wer testet, was zu messen ist, und der Shop-Inhaber weiß, was versprochen wurde.

Die Qualitätsmerkmale ziehen in verschiedene Richtungen. Ein Login mit SMS-Code macht den Shop sicherer und für den Kunden langsamer. Deshalb wiegen nicht alle gleich, und wie viel jedes wiegt, ist eine Entscheidung des Geschäfts. Im Shop wiegen Geschwindigkeit und Informationssicherheit der Zahlung mehr als die Betriebssicherheit. In Krankenhaussoftware ist es umgekehrt. Das ist der Grundsatz „Testen ist kontextabhängig“, angewandt auf Anforderungen.

Die Idee

Qualität verifizieren und validieren

Die zwei Fragen aus der ersten Lektion gelten auch hier.

  • Verifizierung: Die Anforderung sagt „unter 2 Sekunden“, und gemessen sind 1,8 Sekunden. Sie besteht.
  • Validierung: Aber sind 2 Sekunden die richtige Grenze? Wurde dort gemessen, wo die Kunden sind: auf dem Handy, im Mobilfunknetz? Wenn die Kunden trotzdem abbrechen, ist die Anforderung falsch, nicht das Programm.

Eine nichtfunktionale Anforderung kann einen Fehler haben wie jede andere. Und dasselbe fängt ihn ab: eine Frage und ein konkretes Beispiel, bevor Code geschrieben wird.

Test

Teste dich

1. Wie viele Qualitätsmerkmale des Produkts hat die ISO/IEC 25010:2023?
2. Wie heißt in der 25010:2023 das Merkmal, das früher Gebrauchstauglichkeit (usability) hieß?
3. „Die Website muss schnell sein.“ Was stimmt daran nicht?
4. Der Warenkorb öffnet sich in 1,8 Sekunden bei einer Grenze von 2 Sekunden. Kunden mit Handy brechen trotzdem ab. Was fehlt?

Erstellt von Ivo Gergov im Rahmen der Kampagne von Evo Tech für zugängliche Programmierausbildung ·