Weder der Mensch noch Software ist frei von Fehlern. In Schnittstellen und Systemen kann Funktionalität daher nur gewährleistet werden, wenn nicht jeder Fehler verheerende Auswirkungen hat. Der Schlüsselfaktor lautet Fehlertoleranz.
Im Idealfall ist die Fehlertoleranz eines Systems so hoch, dass User einen Fehler nicht einmal bemerken.
Wenn Entwicklerinnen und Entwickler Systeme programmieren und Schnittstellen entwerfen, dann werden während der Entwicklung die meisten und die gröbsten Fehler beseitigt, um volle Lauffähigkeit zu gewährleisten. Doch selbst ein rigoroses und umfassendes Testverfahren kann niemals gründlich genug sein, um alle Fehler vollkommen auszuschließen.
Je größer Systeme sind, desto eher kann es zu Fehlern kommen. Trotzdem bleiben selbst gigantische und komplex ineinander verwobene Systeme wie Google und Facebook bleiben rund um die Uhr ohne Downtime lauffähig und das nicht, weil Fehler unmöglich sind. Vielmehr ist eine eingerichtete Fehlertoleranz dafür verantwortlich, dass auch einzelne Ausfallstellen nicht zu einem kompletten Systemausfall führen.
Was bedeutet Fehlertoleranz in der Praxis?
Fehlertolerante Systeme gibt es in unterschiedlichen IT-Zusammenhängen (bei Hardware, Software, in Netzwerken oder bei verteilten Systemen), wobei stets andere Lösungen gefunden werden müssen, um das System unanfälllig genug gegenüber Fehlern zu gestalten. Anhand einfacher Beispiele sei dies verdeutlicht:
Hardware: Hardware-Systeme können beispielsweise durch identische oder gleichwertige Systeme unterstützt werden, so dass gespiegelte Festplatten oder parallel laufende Server bei Ausfällen die Aufgaben des fehlerhaften Systems bis zur Ausmerzung des Fehlers übernehmen können. RAID-Speicherlösungen fallen etwa in diese Kategorie.
Software: Datenbanken, Speichersysteme oder Programmversionen können durch ständige Backups fehlerresistent gemacht werden, da der Ausfall der primär laufenden Software nicht zum kompletten Absturz führt. Stattdessen kann auf sekundär laufende Software zurückgegriffen werden.
Energieversorgung: Einen besonderen Teil des Hardwareschutzes stellt die Gewährleistung der Energieversorgung dar, weswegen kritische Server oftmals auf Notfallgeneratoren setzen, um auch für Katastrophenfälle gewappnet zu sein.
Fehlerquelle Mensch – Fehlertoleranz in Schnittstellen
Irren ist menschlich – und so dürfte es kaum überraschen, dass Anwender und Nutzerinnen oftmals für einen großen Teil antizipierbarer und unvorhersehbarer Fehler verantwortlich sind. An Schnittstellen ist es daher besonders wichtig, eine Fehlertoleranz einzurichten, damit User Software nicht durch unbeabsichtigt oder vorsätzlich falsche Eingaben zum Absturz bringen können. Daher stellt Fehlertoleranz auch einen Schutz gegen vorsätzlich bösartige DoS-Attacken und ähnliches dar.
Fehlerkategorien in Schnittstellen
Vermeidbare Fehler
Dieser Form des Fehlers liegt meist ein Irrtum beim UI-Design zugrunde, da die Zielgruppe nicht korrekt eingeschätzt wurde oder aber das Navigationsverhalten nicht ausreichend untersucht. User verhalten sich dann in der Praxis anders, füllen Formulare falsch aus oder klicken auf den falschen Link. Erfahrung und vor allem lange Tests können diese Fehler tatsächlich meist vermeiden.
Bekannte, aber nicht vermeidbare Fehler
Diese Art Fehler ist an der Schnittstelle bekannt, kann aber nicht gänzlich ausgeschlossen werden. Hierbei füllen User*innen Formulare nicht vollständig aus, verschicken Formulare unbesehen oder kreuzen wichtige Erklärungen nicht an. Solche Schnittstellenfehler sollten das Interface nicht komplett zurücksetzen oder zu einem Fehlerstatus führen, sondern zu entsprechenden Korrekturseiten führen.
Nicht vorhersehbare Fehler
Die schwerste Art des Fehlers ist der nicht vorhersehbare, da Programmierer*innen hier schlichtweg nicht vorhergesagt werden kann, was letztlich an der Schnittstelle zu einem Fehler führt. Oftmals sind es auch Attacken, die zu nicht vorhersehbaren Fehlern führen können.
Wie Robustheit auf Software-Ebene entsteht
Um Software und Schnittstellen weiterhin lauffähig zu halten, führt die Fehlertoleranz in der Regel zu einem von zwei unterschiedlichen Pfaden.
Die Fehlervorwärtskorrektur ignoriert den Fehler einfach und ersetzt Eingaben oder Ergebnisse durch Erfahrungswert oder erwartete Werte. Was der Fehler tatsächlich war, spielt hierfür keine Rolle, da das Programm einfach wie gehabt weitermacht. Das funktioniert analog zur Autokorrektur auf dem Smartphone, bei der eine falsche Eingabe durch prädiktiv ermittelbare Werte ersetzt/ergänzt wird.
Die Rückwärtsfehlerkorrektur nimmt den Fehler zur Kenntnis und setzt die Software auf einen Zustand vor dem Fehler zurück, um vom letzten bekannt richtigen Status aus weiter zu arbeiten. Ein Beispiel hierfür wäre ein RAID-Festplattensystem, bei dem der Ausfall eines Drives rückwärts ignoriert wird und vom letzten gespeicherten Status der arbeitsfähigen Laufwerke aus geladen wird.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Fehlertolerante Systeme in der Praxis erstellen
Für die praktische Programmieranwendung gibt es unterschiedliche Methoden, mit denen Fehlertolerante Software, Schnittstellen und Systeme entwickelt werden können. Ein Beispiel dafür sind Circuit-Breaker, welche im Fehlerfall einfach umleiten. Zu den Nutzern zählt etwa Netflix, hier werden gescheiterte Service-Anfragen umgeleitet – Tools wie Hystrix oder Resilience4j stehen Ihnen hierfür zur Verfügung.
Ein anderes Beispiel praktischer Fehlertoleranz ist das Load Balancing, bei dem Überlastungen in redundante Kapazitäten umgeleitet werden. Hier wird Software-seitig eine hohe Auslastung über verschiedene Knoten verteilt, um die Ressourcen besser zu verwalten und Downtime zu verhindern. HaProxy und Nginx sind beliebte Tools hierfür.
Theoretische Fehlertoleranz ist praktische Robustheit
Keine Schnittstelle, keine Software, kein System und kein Webservice kommen ohne Fehler aus. Mit zunehmender Komplexität und Dauer des Betriebes lassen sich auch Fehler immer weniger ausschließen.
Umso mehr Augenmerk sollte auf Fehlertoleranz, Fehlerkorrektur und Systemrobustheit bei minimalen Ausfallzeiten gelegt werden. Im Idealfall ist die Fehlertoleranz so hoch, dass User nicht einmal bemerken, dass hinter den Kulissen oder an der Tastatur ein Fehler passierte.