Definition „Software Reliability“

Was ist Software-Zuverlässigkeit?

| Autor / Redakteur: zeroshope / Stephan Augsten

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)

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.

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.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Couchbase Cloud geht im Sommer an den Start

NoSQL-DBaaS für Multi-Clouds

Couchbase Cloud geht im Sommer an den Start

Mit Couchbase Cloud hat Couchbase eine vollständig gemanagte Database-as-a-Service (DBaaS) angekündigt. Sie kombiniert die NoSQL-Datenbank mit umfangreichem Multi-Cloud-Management. lesen

Welche Entwickler-Plattformen in der Cloud gibt es?

Marktübersicht zu Cloud Native Development

Welche Entwickler-Plattformen in der Cloud gibt es?

Vor der Cloud-Native-Entwicklung steht die Auswahl einer entsprechenden Plattform. Neben den großen Playern Amazon, Google und Microsoft gibt es eine Reihe Alternativen, die durchaus einen Blick wert sind. lesen

6 Cloud-Native-Versprechen

Vorteile in der Cloud entwickelter Software

6 Cloud-Native-Versprechen

Cloud Native Development verspricht robuste und agile Softwareentwicklung mit leistungsstarken Ergebnissen. Statt sich um die Infrastruktur und ihre Eigenheiten zu kümmern, können Entwickler sich voll und ganz auf die eigentliche Softwareentwicklung konzentrieren. lesen

Container Orchestration Tools im Vergleich

Die Konsolidierung der Cloud

Container Orchestration Tools im Vergleich

Seit Docker das Licht der IT-Welt erblickte, haben Container die DevOps-Idee revolutioniert. Dazu bedarf es eines Container-Clusters nebst zugehöriger Verwaltungsinstrumente wie Google Kubernetes. Hier klären wir die Zusammenhänge von Containern, Docker, DevOps und Cloud-native Computing. lesen

6 Empfehlungen von Veeam für IT-Entscheider

Techniktrends 2020

6 Empfehlungen von Veeam für IT-Entscheider

Von den ersten 5G-Projekten bis zu den Einsatzmöglichkeiten künstlicher Intelligenz (KI) – 2019 war für Unternehmen ebenso für wie öffentliche Institutionen ein weiteres Jahr mit rasantem Technologiewandel. Aus IT-Sicht gibt es zwei wesentliche Trends, die sich auch im Jahr 2020 fortsetzen werden: On-Premises und Public Cloud nähern sich von der Relevanz an, Cloud wird zum „normalen“ Bereitstellungsmodell. lesen

Site Reliability Engineering verwirklicht agiles Paradigma

DevOps in der IT angekommen

Site Reliability Engineering verwirklicht agiles Paradigma

Vor einigen Jahren machten wir auf einen neuen Trend aufmerksam, der sich anschickte, die IT (wiedermal) umzukrempeln: DevOps. Nun ist er in der Praxis angekommen, berichtet Anna-Lena Schwalm vom Analystenhaus Crisp Research und macht dies nicht zuletzt an einem neuen Trend fest: Site Reliability Engineering. lesen

Pflegeanleitung für sichere Software

Sichere Softwareentwicklung – Teil 2

Pflegeanleitung für sichere Software

Will man eine Software auch sicher machen bedeutet das viel Arbeit. Es gilt Schwachstellen zu verhindern und von Beginn an einen sorg­samen Umgang mit Daten zu pflegen. Dazu gehört die Trennung von Datenverarbeitung und ihrer Darstellung ebenso wie eine konsequente Validierung von Ein- und Ausgangsdaten. Dann braucht es nur noch sichere Übertragungswege und regelmäßige Prüfroutinen. Oder fehlt da noch was? lesen

Die ideale DevOps-Teamstruktur

Kooperation nach dem Gesetz von Conway

Die ideale DevOps-Teamstruktur

Die Zusammenarbeit von Development und Operations verbessert und beschleunigt Prozesse. Doch erst eine wohlüberlegte DevOps-Struktur hilft dabei, dass die beiden völlig unterschiedlichen Bereiche reibungslos miteinander kooperieren. lesen

Wie intelligente Software-Bots arbeiten

RPA für schnelle Entscheidungen in Hightech-Lieferketten

Wie intelligente Software-Bots arbeiten

Mit Robotic Process Automation, kurz RPA, lassen sich wiederkehrende Geschäftsprozesse automatisieren und beschleunigen. Dies erlaubt es, schnellere und bessere Entscheidungen im und für das Unternehmen zu treffen. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45867891 / Definitionen)