Was ist ein Wiederherstellungstest? mit Beispiel

⚡ Intelligente Zusammenfassung

Die Wiederherstellungstests überprüfen, ob die Software nach einem Absturz, einem Netzwerkausfall oder einem Hardwarefehler den normalen Betrieb wiederaufnehmen kann, indem das System auf einen bekannten, funktionierenden Zustand zurückgesetzt und die Transaktionen bis zum Zeitpunkt des Fehlers erneut verarbeitet werden.

  • 🔁 Was es beweist: OperaEs geht nicht nur darum, dass eine Sicherungsdatei existiert, sondern auch darum, dass die Prozesse nach einer Katastrophe weiterlaufen.
  • 🧩 Wo es sich befindet: Eine nicht-funktionale Technik, die von geschulten Testern anhand gesicherter Backup-Daten ausgeführt wird.
  • ️ Wiederherstellungszeittreiber: Neustartpunkte, Datenvolumen sowie die Fähigkeiten und Werkzeuge des Wiederherstellungsteams.
  • 🔄 Prozessform: Normalbetrieb, Katastrophe, Störung, Wiederherstellung, dann Wiederaufbau zurück zum Normalzustand.
  • 💾 Strategieoptionen: Einzelne oder mehrere Datensicherungen, ein oder mehrere Standorte, online oder offline, automatisch oder manuell.
  • ✅ Nach der Wiederherstellung: Zählen Sie Dateien im Vergleich zum Originalordner, öffnen Sie verschiedene Dateitypen und vergleichen Sie Verzeichnisse mit Systemdienstprogrammen.

Was ist Recovery Testing im Softwaretesting (mit Beispiel)?

Was ist ein Wiederherstellungstest?

Wiederherstellungstests Die Wiederherstellungsprüfung ist eine Softwaretestmethode, die die Fähigkeit der Software überprüft, sich von Fehlern wie Software- oder Hardwareabstürzen und Netzwerkausfällen zu erholen. Ziel der Wiederherstellungsprüfung ist es, festzustellen, ob der Softwarebetrieb nach einem Ausfall oder einem Integritätsverlust fortgesetzt werden kann. Die Wiederherstellungsprüfung beinhaltet das Zurücksetzen der Software auf einen Zeitpunkt, an dem die Integrität bekannt war, und die erneute Verarbeitung der Transaktionen bis zum Zeitpunkt des Fehlers.

In der Softwareentwicklung ist der Wiederherstellungstest eine Art von nicht-funktionale Tests — Es umfasst Aspekte, die nicht an eine bestimmte Funktion oder Benutzeraktion gebunden sind, wie Skalierbarkeit oder Sicherheit. Es wird von professionellen Testern durchgeführt, und entsprechende Sicherungsdaten werden im Vorfeld an sicheren Orten aufbewahrt.

Beispiel für einen Wiederherstellungstest

Zwei Szenarien veranschaulichen die Technik in ihrer einfachsten Form. In beiden Fällen wird absichtlich ein Fehler herbeigeführt, anschließend wird die Anwendung beim Neustart beobachtet.

  • Netzwerkunterbrechung: Während eine Anwendung Daten aus dem Netzwerk empfängt, trennen Sie das Verbindungskabel. Schließen Sie es nach einiger Zeit wieder an und prüfen Sie, ob die Anwendung weiterhin Daten ab dem Zeitpunkt des Verbindungsabbruchs empfangen kann.
  • Sitzung wiederherstellen: Starten Sie das System neu, während eine bestimmte Anzahl von Browsersitzungen geöffnet ist, und prüfen Sie, ob der Browser alle Sitzungen wiederherstellt.

Die folgende Abbildung veranschaulicht dieselbe Idee in visueller Form.

Wiederherstellungstestkonzept, das einen Systemausfall und die anschließende Wiederherstellung des Normalbetriebs zeigt.

Die zur Wiederherstellung benötigte Zeit hängt ab von:

  • Die Anzahl der Neustartpunkte
  • Das von der Anwendung gespeicherte Datenvolumen
  • Ausbildung und Fähigkeiten der Personen, die Genesungsmaßnahmen durchführen, sowie die für die Genesung verfügbaren Instrumente

Bei mehreren Fehlern sollten die Wiederherstellungstests strukturiert und nicht alle gleichzeitig durchgeführt werden – also für ein Segment nach dem anderen.

Lebenszyklus des Wiederherstellungsprozesses

Vor der Erstellung von Testfällen ist es hilfreich zu erkennen, wo ein Wiederherstellungstest eingreift. Der Lebenszyklus des Wiederherstellungsprozesses umfasst fünf Schritte:

  1. Normale Operation
  2. Katastrophenvorfall
  3. Störungen und Ausfälle des Betriebs
  4. Katastrophenbeseitigung durch den Wiederherstellungsprozess
  5. Wiederherstellung aller Prozesse und Informationen, um das gesamte System wieder in den Normalbetrieb zu versetzen

Das untenstehende Flussdiagramm zeigt diese fünf Phasen nacheinander.

Lebenszyklus des Wiederherstellungsprozesses: Ablaufdiagramm mit den Phasen Normalbetrieb, Katastrophe, Störung, Wiederherstellung und Wiederaufbau

Lassen Sie uns diese fünf Schritte im Detail besprechen:

  1. Normale Operation. Ein System aus Hardware, Software und Firmware, das zur Erreichung eines gemeinsamen Ziels integriert ist, erfüllt seine vorgesehene Aufgabe innerhalb eines festgelegten Zeitraums störungsfrei.
  2. Katastrophenereignis. Eine Störung kann aufgrund einer Fehlfunktion der Software auftreten, beispielsweise aufgrund einer durch Eingaben ausgelösten Fehlfunktion, eines durch Hardwareausfall verursachten Absturzes oder einer Beschädigung durch Feuer, Diebstahl oder Streik.
  3. Störungen und Misserfolge. Dies ist die schmerzhafteste Phase, die zu Geschäftsverlusten, zerbrochenen Beziehungen, verpassten Chancen, Arbeitsstundenausfall und unweigerlich zu finanziellen Einbußen und einem Verlust des Firmenwerts führt. Ein Notfallplan minimiert diese Phase.
  4. Katastrophenräumung. Sind bereits ein Notfallplan und Risikominderungsmaßnahmen vorhanden, reduziert sich der Zeit- und Arbeitsaufwand für die Wiederherstellung erheblich. Ein festgelegtes Team, in dem die Rolle jedes Einzelnen im Voraus definiert ist, klärt die Verantwortlichkeiten und verhindert längere Ausfallzeiten.
  5. Wiederaufbau. Dies kann mehrere Arbeitsgänge erfordern, um alle Ordner und Konfigurationsdateien neu zu erstellen. Für eine korrekte Wiederherstellung sind eine ordnungsgemäße Dokumentation und ein definierter Wiederherstellungsprozess notwendig.

Wiederherstellungsstrategie

Das Wiederherstellungsteam sollte eine eigene Strategie zur Sicherung wichtiger Codes und Daten entwickeln, um den Normalbetrieb wiederherzustellen. Diese Strategie ist für jede Organisation individuell und richtet sich nach der Kritikalität der von ihr verwalteten Systeme. Bei kritischen Systemen stehen verschiedene Optionen zur Verfügung:

  1. Ein einzelnes Backup oder mehrere
  2. Mehrere Backups an einem Ort oder an verschiedenen Orten
  3. Online-Backup oder Offline-Backup
  4. Backups werden automatisch gemäß einer Richtlinie ausgeführt oder manuell ausgelöst.
  5. Ein unabhängiges Restaurierungsteam oder das Entwicklungsteam, das die Arbeit ausführt

Jede Option ist mit Kosten verbunden, und mehrere Backups können mehr physische Ressourcen beanspruchen oder ein separates Team erfordern. Auch Abhängigkeiten spielen eine Rolle: Unternehmen sind durch den Code und die Daten, die sie bei einem einzigen Anbieter speichern, gefährdet, und ein großes Netzwerk von Backups kann zu erheblichen Problemen führen. AWS Ausfälle haben wiederholt dazu geführt, dass bekannte Verbraucherdienste gleichzeitig offline waren. Eine unabhängige Wiederherstellungsfähigkeit ist in solchen Fällen von entscheidender Bedeutung.

So führen Sie Wiederherstellungstests durch

Nachdem die Strategie feststeht, stellt sich die Frage nach der Testkonfiguration. Folgende Punkte sollten bei der Durchführung von Wiederherstellungstests berücksichtigt werden.

  • Es sollte eine Testumgebung geschaffen werden, die den tatsächlichen Einsatzbedingungen so nahe wie möglich kommt: Schnittstellen, Protokoll, Firmware, Hardware und Software sollten der Produktionsumgebung entsprechen.
  • Auch wenn umfassende Tests zeitaufwändig und kostspielig sein können, sollte dennoch eine identische Konfiguration und eine vollständige Überprüfung durchgeführt werden.
  • Testen Sie nach Möglichkeit auf der Hardware, auf der die Daten schließlich wiederhergestellt werden sollen – insbesondere dann, wenn die Wiederherstellung auf einem anderen Rechner erfolgt als dem, auf dem die Sicherung erstellt wurde.
  • Einige Backup-Systeme gehen davon aus, dass die Festplatte genau die gleiche Größe hat wie die Festplatte, von der das Backup erstellt wurde.
  • Umgang mit Veralterung: Die Laufwerkstechnologie entwickelt sich rasant, und ein altes Laufwerk ist möglicherweise nicht mit einem neuen kompatibel. Wiederherstellung auf ein virtuellen Maschine Dies ist hilfreich, da Virtualisierungssoftware die vorhandene Hardware, einschließlich der Festplattengrößen, nachbilden kann.
  • Auch Online-Backup-Systeme müssen getestet werden. Die meisten Anbieter schützen ihre Nutzer durch fehlertolerante Speichersysteme vor Medienproblemen, sodass Ausfälle erst spät sichtbar werden.
  • Auch wenn Online-Backup-Systeme äußerst zuverlässig sind, muss die Wiederherstellungsfunktion getestet werden, um sicherzustellen, dass es keine Probleme mit dem Abruf, der Sicherheit oder der Verschlüsselung gibt.

Da die Regeneration von Anfang bis Ende erfolgt, werden diese Läufe in der Regel zusammen mit anderen Läufen geplant. Systemtests und nicht auf Einheitsebene.

Prüfverfahren nach der Restaurierung

Die Datenwiederherstellung ist nur die halbe Miete; die wiederhergestellte Kopie muss sich anschließend als nutzbar erweisen. Die meisten großen Unternehmen lassen regelmäßig Wiederherstellungsübungen von unabhängigen Wirtschaftsprüfern durchführen. Ein umfassender Notfallwiederherstellungsplan ist teuer in der Wartung und im Test, weshalb kleinere Organisationen oft stattdessen auf Backups und externe Speicherung zurückgreifen.

Nachdem Ordner und Dateien wiederhergestellt wurden, bestätigen die folgenden Prüfungen, dass sie ordnungsgemäß wiederhergestellt wurden:

  • Benennen Sie den beschädigten Dokumentenordner um, damit die wiederhergestellte Kopie nicht damit verwechselt werden kann.
  • Zähle die Dateien in den wiederhergestellten Ordnern und vergleiche diese Anzahl mit der Anzahl im Originalordner.
  • Öffnen Sie einige Dateien mit der Anwendung, die diese normalerweise verwendet, und vergewissern Sie sich, dass die Daten wie gewohnt durchsucht und aktualisiert werden können.
  • Öffnen Sie mehrere Dateien unterschiedlicher Typen – Bilder, MP3und Dokumente, manche groß, manche klein.
  • Nutzen Sie die Datei- und Verzeichnisvergleichsprogramme, die die meisten Betriebssysteme zu Verfügung stellen.

Häufig gestellte Fragen

Der Failover-Test prüft, ob der Datenverkehr reibungslos auf einen Standby-Knoten umgeleitet wird. Der Wiederherstellungstest geht noch weiter und prüft, ob der ursprüngliche Dienst, seine Daten und seine laufenden Transaktionen in einen korrekten Zustand zurückversetzt werden.

RTO (Recovery Time Objective) bezeichnet die zulässige Zeit für die Wiederherstellung eines Dienstes; RPO (Recovery Point Objective) den maximal zulässigen Datenverlust. Ein Wiederherstellungstest misst beides: die Wiederherstellungszeit für die RTO und den Vergleich der wiederhergestellten Daten mit dem letzten bekannten fehlerfreien Zustand für die RPO.

Drei Varianten treten immer wieder auf: Notfallwiederherstellung bei standortweiten Ausfällen, Datenbankwiederherstellung bei beschädigten Datenspeichern und Umgebungswiederherstellung bei fehlerhafter Konfiguration oder Abhängigkeiten. Jede Variante durchläuft denselben Lebenszyklus, jedoch mit einem anderen Auslöser für einen Fehler.

Maschinelle Lernmodelle ordnen Dienste nach Vorfallhistorie und Abhängigkeitstiefe, sodass die risikoreichsten Wiederherstellungspfade zuerst ausgeführt werden. Die Anomalieerkennung in den Wiederherstellungsprotokollen kennzeichnet zudem Ausführungen, die zwar abgeschlossen wurden, aber unvollständige Daten erzeugt haben.

GitHub-Copilot Es werden schnell Hilfsfunktionen für die Fehlereinspeisung, Wiederherstellungsskripte und Zusicherungen nach der Wiederherstellung erstellt. Der Tester entscheidet weiterhin, welcher Fehler erzwungen werden soll und wie ein korrekter Wiederherstellungszustand aussieht, da beides den Geschäftsregeln folgt.

Jährliche Übungen sind üblich, vierteljährliche Tests für kritische Systeme werden durchgeführt. Jede Änderung am Backup-Tool, der Speicherplattform oder der Architektur sollte einen erneuten Durchlauf auslösen, da eine ungetestete Änderung das vorherige Ergebnis stillschweigend ungültig macht.

Es erzwingt reale Fehler, daher überschneidet es sich mit destruktives TestenZiel ist jedoch die Wiederherstellung, nicht die Fehlerbehebung. Führen Sie den Test in einer isolierten Testumgebung durch, nicht mit Live-Produktionsdaten.

Erfassen Sie den Fehler, Start- und Endzeitpunkt, gemessene RTO- und RPO-Werte, Schritte, die manuelle Eingriffe erforderten, sowie alle Abweichungen in den wiederhergestellten Daten. Ergänzen Sie Korrekturmaßnahmen und das Datum des erneuten Tests.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: