Suchen

Definition „Software Reliability“ Was ist Software-Zuverlässigkeit?

| Autor / Redakteur: zeroshope / Stephan Augsten

Die Software-Zuverlässigkeit ist eine Metrik der sogenannten Softwarequalität. Sie wird durch umfangreiche Testverfahren ermittelt. Die Software sollte fehlerfrei über eine bestimmte Zeit oder eine spezifische Zahl von Anwendungen laufen.

Firma zum Thema

Die Reliability oder Zuverlässigkeit einer Software ist eine objektive, messbare Teilmetrik zur Ermittlung der Softwarequalität.
Die Reliability oder Zuverlässigkeit einer Software ist eine objektive, messbare Teilmetrik zur Ermittlung der Softwarequalität.
(Bild gemeinfrei: mohamed_hassan - Pixabay.com / Pixabay )

Grundsätzlich ist die Software-Zuverlässigkeit ein objektiver Wert, der messbar ist und sich reproduzieren lassen sollte. In seiner Eigenschaft als Softwaremetrik soll er als Grundlage für eine künftige Schätzbarkeit dienen.

Konkret bedeutet dies: Wer die Testreihe für die Software-Zuverlässigkeit wiederholt, sollte (abgesehen von minimalen Abweichungen) die identischen Ergebnisse erhalten. Nutzer, die mit dem Programm arbeiten möchten, können auf diese Weise einschätzen, wie sich die Software in der alltäglichen Arbeit verhalten wird.

Die Software-Zuverlässigkeit testen

Die Software-Zuverlässigkeit wird in der Regel automatisiert getestet. Dies ist notwendig, um eine möglichst große Zahl von Wiederholungen in einer möglichst geringen Zeit zu erreichen. Es handelt sich also um sogenannte Regressionstests. Beim Design der Tests müssen die Prüfer allerdings bestimmte Entscheidungen treffen, die von dem jeweiligen Programm und seinem geplanten Einsatzgebiet abhängen.

Getestet werden kann beispielsweise eine Ausfallwahrscheinlichkeit unter Zeit. Dies ist notwendig bei Programmen, die rund um die Uhr laufen sollen. Alternativ kann eine Ausfallwahrscheinlichkeit unter Einsatzfällen geprüft werden. Hierbei geht es also darum, wie häufig die Software eingesetzt wird, bevor sie streikt. Diese Tests werden beispielsweise für klassische Computerprogramme eingesetzt, mit denen Endnutzer arbeiten.

Für sehr sensible Software wird die Zuverlässigkeit unter Zeit und Einsatzfällen überprüft. Dies gilt beispielsweise für Programme, die in Kraftwerken oder in Flugzeugen laufen.

Bei der Art des Tests sind drei Fälle zu unterscheiden:

  • „Black Box“: Design und Architektur werden nicht beachtet. Es geht nur darum, ob die Software grundsätzlich funktioniert.
  • „White-Box“: Eine Software wird in Ihrer Gesamtheit getestet. Man bezeichnet dieses Verfahren auch als "Unitest".
  • „Integrationstest“: Eine Software wurde in eine bestehende Infrastruktur eingefügt. Es wird überprüft, ob sie hier wie gewünscht arbeitet. Dazu werden die Schnittstellen gesondert angesteuert.

Wie sollte die Software-Zuverlässigkeit ausfallen?

Es existiert kein allgemeingültiger Wert für alle Programme. Die Zuverlässigkeit hängt vom individuellen Fall ab. Grundsätzlich sind zwei Varianten zu unterscheiden, welchen Erwartungen die Software-Zuverlässigkeit zu genügen hat:

  • 1. Die Software wird vom Entwickler allgemein zum Verkauf angeboten: In diesem Fall legt der Entwickler die Software-Zuverlässigkeit selbst fest. Da es sich um einen zentralen Teil der Software-Qualität handelt, hat er den Anspruch, dass diese möglichst hoch ist, um den eigenen Verkaufszahlen nicht zu schaden.
  • 2. Die Software wird nach Anforderungen geschrieben: Ein Kunde beauftragt einen Entwickler damit, für ihn ein bestimmtes Programm zu schreiben. In einem Lastenheft legt er fest, welche Anforderungen dieses zu erfüllen hat. Hier ist auch die Software-Zuverlässigkeit niedergelegt.

(ID:45867891)