Artur Södler Software-Qualität

Wie kann Qualität gemessen werden?


Die Qualität einer Software ist nach einschlägigen Normen messbar, wenn Sie...
a) die Anforderungen kennen, die die Software erfüllen soll, und
b) Tests durchführen, die jede mögliche Voraussetzung berücksichtigen, und
c) das Ergebnis mit den Anforderungen vergleichen.

Leider scheitert dies in der Praxis — salopp gesagt — meist an den Voraussetzungen a), b) und deshalb auch c). Denn selbst wenn das Lastenheft die eigentliche Anforderung enthält, fehlen oft wesentliche Details wie Bedienfunktionen, Formate, Zeitangaben usw. Aber mal ehrlich: Selbst wenn diese geklärt sind, wer denkt bei Testszenarien schon daran, dass dem Betriebssystem gerade der Hauptspeicher ausgehen könnte? Oder was passiert, wenn das Ergebnis nicht gespeichert werden kann?

Deshalb weichen unabhängige Berater meist auf ein ganz anderes Thema aus: Die automatisiert ermittelbare Messgröße Komplexität und die daraus prognostizierte Wartbarkeit.

McCall definierte die Wartbarkeit 1977 als zentralen Qualitätsfaktor, und zwar nach bestechender Logik: Jede Software ist bei Auslieferung unvollständig und fehlerhaft (auch "Bananen-Software" genannt, reift beim Kunden). Der überwiegende Entwicklungsaufwand entsteht nach seinen Untersuchungen immer erst nach der Erstauslieferung. Mit der Wartbarkeit bezeichnet McCall den durchschnittlichen Zeitaufwand, um ein Problem zu beheben. Und in der Tat: Wo Entwickler von vornherein an später denken (= Wartbarkeit), muss kaum noch nachgebessert werden (= Qualität). Die beiden Begriffe hängen eng zusammen.

Als automatisierte Code-Analysen gibt es z.B. die Komplexität nach Thomas J. McCabe (1976) oder nach Maurice Howard Halstead (1977). Dabei werden Programm-Quelltexte nach den enthaltenen Verzweigungen oder nach der Menge an Programmcode und verwendetem "Wortschatz" untersucht.

Natürlich haben alle drei wichtige Pionierarbeit geleistet. Aber: kann man automatisiert bewerten, ob der Softwareentwickler eine Aufgabe richtig verstanden hat??? Letztlich bleibt die Messbarkeit von Software-Qualität auf diese Weise eine Illusion.

Fazits:

•    Die Beurteilung von Software-Qualität ist und bleibt Handarbeit mit Fingerspitzengefühl. Es ist aber von Vorteil, die "traditionellen" Methoden zu kennen.

• 

  

Die Beurteilung von Software-Qualität stützt sich auch auf die Analyse des Umfeldes, der Dokumentation. Ein Blick auf den Schreibtisch eines Softwareentwicklers sagt beispielsweise viel über die Qualität seiner Arbeitsergebnisse.

•    Eines ist wirklich immer messbar: Das Endergebnis. Fragen Sie Ihre Kunden, ob sie zufrieden sind.
 
Artur Södler Software Qualität