data migration testing tutorial
Übersicht über Datenmigrationstests:
Es ist ziemlich oft zu hören, dass eine Anwendung auf einen anderen Server verschoben, die Technologie geändert, auf die nächste Version aktualisiert oder auf einen anderen Datenbankserver usw. verschoben wird.
- Was bedeutet das eigentlich?
- Was wird in diesen Situationen vom Testteam erwartet?
Aus Testsicht bedeutet dies, dass die Anwendung durchgängig getestet und die Migration vom vorhandenen System auf das neue System erfolgreich durchgeführt werden muss.
Tutorials in dieser Reihe:
In diesem Fall müssen Systemtests mit allen Daten durchgeführt werden, die in einer alten Anwendung verwendet werden, sowie mit den neuen Daten. Bestehende Funktionen müssen zusammen mit den neuen / geänderten Funktionen überprüft werden.
Anstatt nur Migrationstests durchzuführen, kann dies auch als Datenmigrationstest bezeichnet werden, bei dem die gesamten Daten des Benutzers auf ein neues System migriert werden.
Migrationstests umfassen also das Testen mit alten Daten, neuen Daten oder einer Kombination aus beiden, alten Funktionen (unveränderten Funktionen) und neuen Funktionen.
Alte Anwendungen werden normalerweise als „ Erbe Anwendung. Neben der neuen / aktualisierten Anwendung ist es auch obligatorisch, die Legacy-Anwendung so lange zu testen, bis die neuen / aktualisierten Anwendungen stabil und konsistent sind. Ein umfassender Migrationstest für eine neue Anwendung zeigt die neuen Probleme auf, die in der Legacy-Anwendung nicht gefunden wurden.
Was du lernen wirst:
- Was ist Migrationstest?
- Warum Migrationstest?
- Wann ist dieser Test erforderlich?
- Teststrategie für Datenmigration
- Verschiedene Phasen der Migration
- Abwärtskompatibilitätstest
- Rollback-Test
- Zusammenfassender Bericht zum Migrationstest
- Herausforderungen beim Testen der Datenmigration
- Tipps zur Glättung der Datenmigrationsrisiken
- Fazit
- Literatur-Empfehlungen
Was ist Migrationstest?
Migrationstests sind ein Überprüfungsprozess für die Migration des Altsystems auf das neue System mit minimalen Unterbrechungen / Ausfallzeiten, Datenintegrität und ohne Datenverlust, wobei sichergestellt wird, dass alle angegebenen funktionalen und nicht funktionalen Aspekte der Anwendung nachträglich erfüllt werden. Migration.
Einfache Darstellung des Migrationssystems:
Warum Migrationstest?
Wie wir wissen, kann die Anwendungsmigration auf ein neues System verschiedene Gründe haben: Systemkonsolidierung, veraltete Technologie, Optimierung oder andere Gründe.
Während das verwendete System auf ein neues System migriert werden muss, müssen daher die folgenden Punkte unbedingt beachtet werden:
- Jede Art von Störung / Unannehmlichkeit, die dem Benutzer aufgrund der Migration verursacht wird, muss vermieden / minimiert werden. ZB: Ausfallzeiten, Datenverlust
- Es muss sichergestellt werden, dass der Benutzer weiterhin alle Funktionen der Software nutzen kann, indem er während der Migration nur minimale oder keine Schäden verursacht. ZB: Änderung der Funktionalität, Entfernung einer bestimmten Funktionalität
- Es ist auch wichtig, alle möglichen Störungen / Hindernisse zu antizipieren und auszuschließen, die während der tatsächlichen Migration des Live-Systems auftreten können.
Um eine reibungslose Migration des Live-Systems durch Beseitigung dieser Fehler zu gewährleisten, ist es daher unerlässlich, Migrationstests im Labor durchzuführen.
Dieser Test hat seine eigene Bedeutung und spielt eine wichtige Rolle, wenn die Daten ins Bild kommen.
Technisch muss es auch für die folgenden Zwecke ausgeführt werden:
- Um die Kompatibilität der neuen / aktualisierten Anwendung mit der gesamten möglichen Hardware und Software sicherzustellen, die von der Legacy-Anwendung unterstützt wird. Auch neu Kompatibilität sollte auch auf neue Hardware- und Softwareplattformen getestet werden.
- Um sicherzustellen, dass alle vorhandenen Funktionen wie in der Legacy-Anwendung funktionieren. Die Funktionsweise der Anwendung sollte sich im Vergleich zur alten nicht ändern.
- Die Möglichkeit einer großen Anzahl von Fehlern aufgrund von Migration ist sehr hoch. Viele der Fehler beziehen sich normalerweise auf Daten, und daher müssen diese Fehler während des Tests identifiziert und behoben werden.
- Um sicherzustellen, dass die Systemantwortzeit der neuen / aktualisierten Anwendung gleich oder kürzer ist als die für die Legacy-Anwendung erforderliche.
- Um sicherzustellen, dass die Verbindung zwischen Servern, Hardware, Software usw. intakt ist und beim Testen nicht unterbrochen wird. Der Datenfluss zwischen verschiedenen Komponenten sollte unter keinen Umständen unterbrochen werden.
Wann ist dieser Test erforderlich?
Die Tests müssen sowohl vor als auch nach der Migration durchgeführt werden.
Die verschiedenen Phasen des Migrationstests Die Durchführung im Testlabor kann wie folgt klassifiziert werden.
- Tests vor der Migration
- Migrationstests
- Tests nach der Migration
Zusätzlich zu den oben genannten, die Folgende Tests werden ebenfalls ausgeführt als Teil der gesamten Migrationsaktivität.
- Überprüfung der Abwärtskompatibilität
- Rollback-Test
Bevor Sie diesen Test durchführen, muss jeder Tester die folgenden Punkte klar verstehen:
- Die Änderungen, die als Teil des neuen Systems vorgenommen werden (Server, Front-End, DB, Schema, Datenfluss, Funktionalität usw.)
- Um die tatsächliche Migrationsstrategie des Teams zu verstehen. Wie die Migration abläuft, schrittweise Änderungen im Backend des Systems und die für diese Änderungen verantwortlichen Skripte.
Daher ist es wichtig, das alte und das neue System gründlich zu untersuchen und dann die Testfälle und Testszenarien, die als Teil der obigen Testphasen behandelt werden sollen, entsprechend zu planen und zu entwerfen und die Teststrategie vorzubereiten.
Teststrategie für Datenmigration
Das Entwerfen der Teststrategie für die Migration umfasst eine Reihe von durchzuführenden Aktivitäten und einige zu berücksichtigende Aspekte. Dies dient dazu, die Fehler und Risiken zu minimieren, die durch die Migration entstehen, und die Migrationstests effektiv durchzuführen.
Aktivitäten in diesem Test:
# 1) Spezialisierte Teambildung ::
Bilden Sie das Testteam mit den Mitgliedern, die über die erforderlichen Kenntnisse und Erfahrungen verfügen, und bieten Sie Schulungen in Bezug auf das zu migrierende System an.
#zwei) Geschäftsrisikoanalyse, mögliche Fehleranalyse ::
Das derzeitige Geschäft sollte nach der Migration nicht behindert werden und daher „ Analyse des Geschäftsrisikos “ Treffen mit den richtigen Stakeholdern (Testmanager, Business Analyst, Architekten, Product Owners, Business Owner usw.) und Ermittlung der Risiken und der umsetzbaren Minderungen. Die Tests sollten Szenarien enthalten, um diese Risiken aufzudecken und zu überprüfen, ob angemessene Abhilfemaßnahmen getroffen wurden.
Verhalten ' Mögliche Fehleranalyse mit geeigneten ‘Fehlerraten-Ansätze’ Entwerfen Sie dann Tests um diese Fehler herum, um sie während des Tests aufzudecken.
Was tun mit .torrent-Dateien?
# 3) Analyse und Identifizierung des Migrationsumfangs:
Analysieren Sie den klaren Umfang des Migrationstests dahingehend, wann und was getestet werden muss.
# 4) Identifizieren Sie das geeignete Tool für die Migration:
Identifizieren Sie bei der Definition der automatisierten oder manuellen Teststrategie die Tools, die verwendet werden sollen. Z.B: Automatisiertes Tool zum Vergleichen von Quell- und Zieldaten.
# 5) Identifizieren Sie die geeignete Testumgebung für die Migration:
Identifizieren Sie separate Umgebungen für Umgebungen vor und nach der Migration, um alle Überprüfungen durchzuführen, die im Rahmen von Tests erforderlich sind. Verstehen und dokumentieren Sie die technischen Aspekte des Legacy- und New-Migrationssystems, um sicherzustellen, dass die Testumgebung entsprechend eingerichtet ist.
# 6) Migrations-Testspezifikationsdokument und Überprüfung:
Bereiten Sie das Dokument mit der Migrationstestspezifikation vor, in dem der Testansatz, die Testbereiche, die Testmethoden (automatisiert, manuell) und die Testmethode (Black Box, White-Box-Testtechnik ), Anzahl der Testzyklen, Zeitplan für Tests, Ansatz zur Erstellung von Daten und Verwendung von Live-Daten (vertrauliche Informationen müssen maskiert werden), Spezifikation der Testumgebung, Qualifikation der Tester usw. und Durchführung einer Überprüfungssitzung mit den Stakeholdern.
# 7) Produktionsstart des migrierten Systems ::
Analysieren und dokumentieren Sie die Aufgabenliste für die Produktionsmigration und veröffentlichen Sie sie rechtzeitig
Verschiedene Phasen der Migration
Im Folgenden sind die verschiedenen Phasen der Migration aufgeführt.
Phase 1:Tests vor der Migration
Vor der Migration der Daten werden im Rahmen der Testphase vor der Migration eine Reihe von Testaktivitäten durchgeführt. Dies wird in einfacheren Anwendungen ignoriert oder nicht berücksichtigt. Wenn komplexe Anwendungen migriert werden sollen, sind die Aktivitäten vor der Migration ein Muss.
Nachfolgend finden Sie eine Liste der Aktionen, die in dieser Phase ausgeführt werden:
- Legen Sie einen klaren Datenbereich fest - welche Daten müssen enthalten sein, welche Daten müssen ausgeschlossen werden, welche Daten müssen transformiert / konvertiert werden usw.
- Führen Sie eine Datenzuordnung zwischen Legacy und der neuen Anwendung durch. Vergleichen Sie für jeden Datentyp in der Legacy-Anwendung den relevanten Typ in der neuen Anwendung und ordnen Sie sie dann zu. - Zuordnung auf höherer Ebene.
- Wenn die neue Anwendung das Feld enthält, das obligatorisch ist, dies jedoch bei Legacy nicht der Fall ist, stellen Sie sicher, dass das Legacy dieses Feld nicht als null enthält. - Zuordnung auf niedrigerer Ebene.
- Studieren Sie das Datenschema der neuen Anwendung - Feldnamen, Typen, Minimal- und Maximalwerte, Länge, Pflichtfelder, Validierungen auf Feldebene usw. - klar
- Eine Anzahl von Tabellen im Altsystem ist zu notieren, und wenn Tabellen gelöscht und nach der Migration hinzugefügt werden, muss dies überprüft werden.
- Eine Reihe von Datensätzen in jeder Tabelle, Ansichten sollten in der Legacy-Anwendung notiert werden.
- Studieren Sie die Schnittstellen in der neuen Anwendung und ihre Verbindungen. Daten, die in der Schnittstelle fließen, sollten hochsicher und nicht fehlerhaft sein.
- Bereiten Sie Testfälle, Testszenarien und Anwendungsfälle für neue Bedingungen in den neuen Anwendungen vor.
- Führen Sie eine Reihe von Testfällen und Szenarien mit einer Reihe von Benutzern aus und bewahren Sie die Ergebnisse und Protokolle auf. Dasselbe muss nach der Migration überprüft werden, um sicherzustellen, dass die alten Daten und Funktionen intakt sind.
- Die Anzahl der Daten und Datensätze sollte deutlich notiert werden. Sie muss nach der Migration überprüft werden, damit keine Daten verloren gehen.
Phase 2:Migrationstests
' Migrationshandbuch “ Die vom Migrationsteam vorbereiteten Schritte müssen strikt befolgt werden, um die Migrationsaktivität durchzuführen. Im Idealfall beginnt die Migrationsaktivität mit der Sicherung der Daten auf dem Band, sodass das Altsystem jederzeit wiederhergestellt werden kann.
Überprüfung des Dokumentationsteils von „ Migrationshandbuch “ist auch Teil des Datenmigrationstests . Überprüfen Sie, ob das Dokument klar und leicht zu befolgen ist. Alle Skripte und Schritte müssen ohne Mehrdeutigkeit korrekt dokumentiert werden. Jegliche Art von Dokumentationsfehlern, fehlende Übereinstimmungen in der Reihenfolge der Ausführung von Schritten müssen ebenfalls als wichtig angesehen werden, damit sie gemeldet und behoben werden können.
Migrationsskripte, Anleitungen und andere Informationen zur tatsächlichen Migration müssen zur Ausführung aus dem Versionskontroll-Repository abgerufen werden.
Die tatsächliche Zeit, die für die Migration vom Beginn der Migration bis zur erfolgreichen Wiederherstellung des Systems benötigt wird, ist einer der auszuführenden Testfälle und damit der ‘Zeitaufwand für die Migration des Systems’ muss im endgültigen Testbericht aufgezeichnet werden, der als Teil der Migrationstestergebnisse geliefert wird, und diese Informationen sind während des Produktionsstarts nützlich. Die in der Testumgebung aufgezeichnete Ausfallzeit wird extrapoliert, um die ungefähre Ausfallzeit im Live-System zu berechnen.
Auf dem Legacy-System wird die Migrationsaktivität ausgeführt.
Während dieses Tests werden normalerweise alle Komponenten der Umgebung heruntergefahren und aus dem Netzwerk entfernt, um die Migrationsaktivitäten auszuführen. Daher ist es notwendig, die zu beachten 'Ausfallzeit' für den Migrationstest erforderlich. Im Idealfall entspricht dies der Migrationszeit.
Im Allgemeinen umfasst die im Dokument „Migrationshandbuch“ definierte Migrationsaktivität Folgendes:
- Tatsächliche Migration der Anwendung
- Firewalls, Ports, Hosts, Hardware- und Softwarekonfigurationen werden gemäß dem neuen System geändert, auf das das Legacy migriert wird
- Datenlecks, Sicherheitsüberprüfungen werden durchgeführt
- Die Konnektivität zwischen allen Anwendungskomponenten wird überprüft
Es ist ratsam, dass die Tester dies im Backend des Systems oder durch White-Box-Tests überprüfen.
Sobald die im Handbuch angegebene Migrationsaktivität abgeschlossen ist, werden alle Server hochgefahren und grundlegende Tests zur Überprüfung der erfolgreichen Migration durchgeführt. Dadurch wird sichergestellt, dass alle End-to-End-Systeme ordnungsgemäß verbunden sind und alle Komponenten miteinander kommunizieren Andernfalls ist die Datenbank betriebsbereit und das Front-End kommuniziert erfolgreich mit dem Back-End. Diese Tests müssen früher identifiziert und im Dokument mit den Migrationstestspezifikationen aufgezeichnet werden.
Es gibt Möglichkeiten, dass die Software mehrere verschiedene Plattformen unterstützt. In diesem Fall muss die Migration auf jeder dieser Plattformen separat überprüft werden.
Die Überprüfung von Migrationsskripten ist Teil des Migrationstests. Manchmal wird ein einzelnes Migrationsskript auch mithilfe von 'White-Box-Tests' in einer eigenständigen Testumgebung überprüft.
Daher werden Migrationstests eine Kombination aus White-Box- und Black-Box-Tests sein.
Sobald diese migrationsbezogene Überprüfung abgeschlossen ist und die entsprechenden Tests bestanden wurden, kann das Team mit der Aktivität der Tests nach der Migration fortfahren.
Phase 3:Tests nach der Migration
Sobald die Anwendung erfolgreich migriert wurde, werden Tests nach der Migration angezeigt.
Hier werden End-to-End-Systemtests in der Testumgebung durchgeführt. Tester führen identifizierte Testfälle, Testszenarien, Anwendungsfälle mit Legacy-Daten sowie einen neuen Datensatz aus.
Darüber hinaus müssen in den unten aufgeführten migrierten Umgebungen bestimmte Elemente überprüft werden:
All dies ist als Testfall dokumentiert und im Dokument „Testspezifikation“ enthalten.
- Überprüfen Sie, ob alle Daten im Legacy innerhalb der geplanten Ausfallzeit auf die neue Anwendung migriert wurden. Vergleichen Sie dazu die Anzahl der Datensätze zwischen Legacy und der neuen Anwendung für jede Tabelle und jede Ansicht in der Datenbank. Geben Sie außerdem die Zeit an, die zum Verschieben von beispielsweise 10000 Datensätzen benötigt wird.
- Überprüfen Sie, ob alle Schemaänderungen (Felder und Tabellen hinzugefügt oder entfernt) gemäß dem neuen System aktualisiert wurden.
- Daten, die vom Legacy auf eine neue Anwendung migriert wurden, sollten ihren Wert und ihr Format behalten, sofern dies nicht angegeben ist. Vergleichen Sie dazu die Datenwerte zwischen der alten und der Datenbank der neuen Anwendung.
- Testen Sie die migrierten Daten anhand der neuen Anwendung. Hier wird eine maximale Anzahl möglicher Fälle abgedeckt. Verwenden Sie das automatisierte Testtool, um eine 100% ige Abdeckung bei der Überprüfung der Datenmigration sicherzustellen.
- Überprüfen Sie die Datenbanksicherheit.
- Überprüfen Sie die Datenintegrität für alle möglichen Beispieldatensätze.
- Überprüfen Sie, ob die zuvor unterstützten Funktionen im Altsystem wie erwartet im neuen System funktionieren.
- Überprüfen Sie den Datenfluss innerhalb der Anwendung, die die meisten Komponenten abdeckt.
- Die Schnittstelle zwischen den Komponenten sollte ausgiebig getestet werden, da die Daten beim Durchlaufen von Komponenten nicht geändert, verloren und beschädigt werden dürfen. Integrationstestfälle können verwendet werden, um dies zu überprüfen.
- Überprüfen Sie die Redundanz älterer Daten. Während der Migration sollten keine alten Daten selbst dupliziert werden
- Überprüfen Sie, ob Daten nicht übereinstimmen, z. B. der Datentyp geändert wurde, das Speicherformat geändert wurde usw.
- Alle Feldebenenprüfungen in der Legacy-Anwendung sollten auch in der neuen Anwendung behandelt werden
- Das Hinzufügen von Daten in der neuen Anwendung sollte nicht das Erbe widerspiegeln
- Das Aktualisieren der Daten älterer Anwendungen über die neue Anwendung sollte unterstützt werden. Nach der Aktualisierung in der neuen Anwendung sollte das Erbe nicht mehr berücksichtigt werden.
- Das Löschen der Daten der Legacy-Anwendung in der neuen Anwendung sollte unterstützt werden. Nach dem Löschen in der neuen Anwendung sollten auch keine Daten in Legacy gelöscht werden.
- Stellen Sie sicher, dass die am Altsystem vorgenommenen Änderungen die neuen Funktionen unterstützen, die als Teil des neuen Systems bereitgestellt werden.
- Stellen Sie sicher, dass die Benutzer des Altsystems weiterhin sowohl die alten als auch die neuen Funktionen verwenden können, insbesondere diejenigen, bei denen die Änderungen betroffen sind. Führen Sie die Testfälle und Testergebnisse aus, die während des Tests vor der Migration gespeichert wurden.
- Erstellen Sie neue Benutzer im System und führen Sie Tests durch, um sicherzustellen, dass die Funktionen des Legacy- und der neuen Anwendung die neu erstellten Benutzer unterstützen und einwandfrei funktionieren.
- Führen Sie funktionsbezogene Tests mit einer Vielzahl von Datenstichproben durch (unterschiedliche Altersgruppen, Benutzer aus unterschiedlichen Regionen usw.).
- Außerdem muss überprüft werden, ob für die neuen Funktionen 'Feature Flags' aktiviert sind. Durch Ein- und Ausschalten können die Funktionen ein- und ausgeschaltet werden.
- Leistungstests sind wichtig, um sicherzustellen, dass die Migration auf ein neues System / eine neue Software die Leistung des Systems nicht beeinträchtigt.
- Es ist auch erforderlich, Last- und Stresstests durchzuführen, um die Systemstabilität sicherzustellen.
- Stellen Sie sicher, dass durch das Software-Upgrade keine Sicherheitslücken entstanden sind, und führen Sie daher Sicherheitstests durch, insbesondere in dem Bereich, in dem während der Migration Änderungen am System vorgenommen wurden.
- Die Benutzerfreundlichkeit ist ein weiterer Aspekt, der überprüft werden muss. Wenn sich das GUI-Layout / Front-End-System oder eine Funktionalität geändert hat, wie einfach ist die Benutzerfreundlichkeit, die der Endbenutzer im Vergleich zum Altsystem empfindet.
Da der Umfang der Tests nach der Migration sehr groß wird, ist es ideal, die wichtigen Tests zu trennen, die zuerst durchgeführt werden müssen, um zu qualifizieren, dass die Migration erfolgreich ist, und die verbleibenden Tests später durchzuführen.
Es ist auch ratsam, die End-to-End-Funktionstestfälle und andere mögliche Testfälle zu automatisieren, damit die Testzeit verkürzt werden kann und die Ergebnisse schnell verfügbar sind.
Einige Tipps für Tester zum Schreiben der Testfälle für die Ausführung nach der Migration:
- Wenn die Anwendung migriert wird, bedeutet dies nicht, dass die Testfälle für die gesamte neue Anwendung geschrieben werden müssen. Testfälle, die bereits für das Legacy entwickelt wurden, sollten für die neue Anwendung weiterhin gültig sein. Verwenden Sie also so weit wie möglich die alten Testfälle und konvertieren Sie die alten Testfälle, wo immer erforderlich, in die Fälle einer neuen Anwendung.
- Wenn sich in der neuen Anwendung Änderungen an den Funktionen ergeben, sollten die mit der Funktion verbundenen Testfälle geändert werden.
- Wenn in der neuen Anwendung eine neue Funktion hinzugefügt wird, sollten neue Testfälle für diese bestimmte Funktion entworfen werden.
- Wenn in der neuen Anwendung ein Funktionsverlust auftritt, sollten die Testfälle der zugehörigen Legacy-Anwendung für die Ausführung nach der Migration nicht berücksichtigt werden. Sie sollten als ungültig markiert und getrennt gehalten werden.
- Testfälle sollten immer zuverlässig und konsistent in Bezug auf die Verwendung sein. Die Überprüfung kritischer Daten sollte in Testfällen behandelt werden, damit sie bei der Ausführung nicht übersehen werden.
- Wenn sich das Design der neuen Anwendung von dem des Legacy (UI) unterscheidet, sollten die UI-bezogenen Testfälle geändert werden, um das neue Design anzupassen. Die Entscheidung, entweder zu aktualisieren oder neue zu schreiben, kann in diesem Fall vom Tester basierend auf dem Änderungsvolumen getroffen werden.
Abwärtskompatibilitätstest
Bei der Migration des Systems müssen die Tester außerdem die Abwärtskompatibilität überprüfen, wobei das neu eingeführte System mit dem alten System (mindestens 2 frühere Versionen) kompatibel ist und sicherstellt, dass es mit diesen Versionen einwandfrei funktioniert.
Abwärtskompatibilität soll sicherstellen:
- Gibt an, ob das neue System die in früheren 2 Versionen unterstützten Funktionen zusammen mit der neuen unterstützt.
- Das System kann problemlos von den früheren 2 Versionen erfolgreich migriert werden.
Daher ist es wichtig, die Abwärtskompatibilität des Systems sicherzustellen, indem speziell die Tests durchgeführt werden, die sich auf die Unterstützung der Abwärtskompatibilität beziehen. Die Tests zur Abwärtskompatibilität müssen entworfen und zur Ausführung in das Testspezifikationsdokument aufgenommen werden.
Was sind die Stufen der SDLC
Rollback-Test
Bei Problemen während der Durchführung der Migration oder wenn zu irgendeinem Zeitpunkt während der Migration ein Migrationsfehler auftritt, sollte es dem System möglich sein, ein Rollback auf das Altsystem durchzuführen und seine Funktion schnell wieder aufzunehmen, ohne die Benutzer und zu beeinträchtigen die früher unterstützte Funktionalität.
Um dies zu überprüfen, müssen Migrationsfehlertestszenarien als Teil eines negativen Tests entworfen und ein Rollback-Mechanismus getestet werden. Die Gesamtzeit, die erforderlich ist, um zum Altsystem zurückzukehren, muss ebenfalls aufgezeichnet und in den Testergebnissen angegeben werden.
Nach dem Rollback werden die Hauptfunktionalität und die Regressionstests (automatisiert) sollte ausgeführt werden, um sicherzustellen, dass die Migration keine Auswirkungen hat und ein Rollback erfolgreich ist, um das Altsystem wieder in Betrieb zu nehmen.
Zusammenfassender Bericht zum Migrationstest
Der Testzusammenfassungsbericht sollte nach Abschluss des Tests erstellt werden und den Bericht über die Zusammenfassung der verschiedenen Tests / Szenarien, die im Rahmen verschiedener Migrationsphasen durchgeführt wurden, mit dem Ergebnisstatus (bestanden / nicht bestanden) und den Testprotokollen abdecken.
Die für die folgenden Aktivitäten aufgezeichnete Zeit sollte klar angegeben werden:
- Gesamtzeit für die Migration
- Ausfallzeit der Anwendungen
- Zeitaufwand für die Migration von 10000 Datensätzen.
- Zeitaufwand für den Rollback.
Zusätzlich zu den oben genannten Informationen können auch Beobachtungen / Empfehlungen gemeldet werden.
Herausforderungen beim Testen der Datenmigration
Die Herausforderungen bei diesen Tests bestehen hauptsächlich aus Daten. Unten sind einige in der Liste:
# 1) Datenqualität:
Möglicherweise stellen wir fest, dass die in der Legacy-Anwendung verwendeten Daten in der neuen / aktualisierten Anwendung von schlechter Qualität sind. In solchen Fällen muss die Datenqualität verbessert werden, um die Geschäftsstandards zu erfüllen.
Faktoren wie Annahmen, Datenkonvertierungen nach Migrationen, in die Legacy-Anwendung selbst eingegebene Daten sind ungültig, schlechte Datenanalyse usw. führen zu einer schlechten Datenqualität. Dies führt zu hohen Betriebskosten, erhöhten Datenintegrationsrisiken und Abweichungen vom Geschäftszweck.
# 2) Dateninkongruenz:
Daten, die vom Legacy auf die neue / aktualisierte Anwendung migriert wurden, stimmen möglicherweise nicht mit der neuen überein. Dies kann auf die Änderung des Datentyps und des Formats der Datenspeicherung zurückzuführen sein. Der Zweck, für den die Daten verwendet werden, kann neu definiert werden.
Dies führt zu einem enormen Aufwand, die erforderlichen Änderungen zu ändern, um entweder die nicht übereinstimmenden Daten zu korrigieren oder sie zu akzeptieren und zu diesem Zweck zu optimieren.
# 3) Datenverlust:
Bei der Migration vom Legacy auf die neue / aktualisierte Anwendung können Daten verloren gehen. Dies kann bei Pflichtfeldern oder nicht Pflichtfeldern der Fall sein. Wenn die verlorenen Daten für nicht obligatorische Felder bestimmt sind, ist der Datensatz weiterhin gültig und kann erneut aktualisiert werden.
Wenn jedoch die Daten des Pflichtfelds verloren gehen, wird der Datensatz selbst ungültig und kann nicht zurückgezogen werden. Dies führt zu einem enormen Datenverlust und sollte bei korrekter Erfassung entweder aus der Sicherungsdatenbank oder aus Überwachungsprotokollen abgerufen werden müssen.
# 4) Datenvolumen:
Riesige Daten, deren Migration innerhalb des Ausfallzeitfensters der Migrationsaktivität viel Zeit erfordert. Z.B: Rubbelkarten in der Telekommunikationsbranche, Benutzer auf einer intelligenten Netzwerkplattform usw. Hier besteht die Herausforderung darin, dass die alten Daten gelöscht werden und riesige neue Daten erstellt werden, die erneut migriert werden müssen. Automatisierung ist die Lösung für eine enorme Datenmigration.
# 5) Simulation einer Echtzeitumgebung (mit den tatsächlichen Daten):
Die Simulation einer Echtzeitumgebung im Testlabor ist eine weitere echte Herausforderung, bei der Tester auf unterschiedliche Probleme mit den realen Daten und dem realen System stoßen, die beim Testen nicht auftreten.
Daher ist die Datenerfassung, die Replikation der realen Umgebung und die Identifizierung des an der Migration beteiligten Datenvolumens bei der Durchführung von Datenmigrationstests sehr wichtig.
# 6) Simulation des Datenvolumens:
Die Teams müssen die Daten im Live-System sehr sorgfältig studieren und sollten die typische Analyse und Stichprobe der Daten erstellen.
Z.B: Benutzer mit einer Altersgruppe unter 10 Jahren, 10 bis 30 Jahren usw. Soweit möglich müssen Daten aus dem Live abgerufen werden, wenn nicht, muss die Datenerstellung in der Testumgebung erfolgen. Automatisierte Tools müssen verwendet werden, um ein großes Datenvolumen zu erstellen. Gegebenenfalls kann eine Extrapolation verwendet werden, wenn das Volumen nicht simuliert werden kann.
Tipps zur Glättung der Datenmigrationsrisiken
Im Folgenden finden Sie einige Tipps, die Sie ausführen müssen, um die Datenmigrationsrisiken zu glätten:
- Standardisieren Sie die im Altsystem verwendeten Daten so, dass bei der Migration Standarddaten im neuen System verfügbar sind
- Verbessern Sie die Qualität der Daten, sodass bei der Migration qualitative Daten getestet werden müssen, die das Gefühl vermitteln, als Endbenutzer getestet zu werden
- Bereinigen Sie die Daten vor der Migration, damit bei der Migration keine doppelten Daten im neuen System vorhanden sind und das gesamte System sauber bleibt
- Überprüfen Sie die Einschränkungen, gespeicherten Prozeduren und komplexen Abfragen, die genaue Ergebnisse liefern, damit bei der Migration auch im neuen System korrekte Daten zurückgegeben werden
- Identifizieren Sie das richtige Automatisierungstool, um Datenprüfungen / Datensatzprüfungen im neuen System im Vergleich zum Legacy durchzuführen.
Fazit
Angesichts der Komplexität bei der Durchführung von Datenmigrationstests ist es daher sehr wichtig, eine sorgfältige und gründliche Untersuchung durchzuführen, da ein kleiner Fehler bei einem Aspekt der Überprüfung während des Tests zu dem Risiko eines Migrationsfehlers in der Produktion führt & Analyse des Systems vor und nach der Migration. Planen und entwerfen Sie die effektive Migrationsstrategie mit den robusten Tools zusammen mit qualifizierten und geschulten Testern.
Da wir wissen, dass die Migration einen großen Einfluss auf die Qualität der Anwendung hat, muss das gesamte Team große Anstrengungen unternehmen, um das gesamte System in allen Aspekten wie Funktionalität, Leistung, Sicherheit, Benutzerfreundlichkeit, Verfügbarkeit, Zuverlässigkeit und Kompatibilität zu überprüfen usw., was wiederum einen erfolgreichen 'Migrationstest' gewährleistet.
‘Verschiedene Arten von Migrationen’ Das kommt in der Realität normalerweise ziemlich oft vor und die Art und Weise, wie mit ihren Tests umgegangen wird, wird in unserem Artikel kurz erläutert nächstes Tutorial in dieser Reihe .
Über die Autoren: Dieser Leitfaden wurde vom STH-Autor Nandini verfasst. Sie verfügt über mehr als 7 Jahre Erfahrung im Testen von Software. Vielen Dank auch an die STH-Autorin Gayathri S. für die Überprüfung und Bereitstellung ihrer wertvollen Vorschläge zur Verbesserung dieser Serie. Gayathri verfügt über mehr als 18 Jahre Erfahrung in der Softwareentwicklung und im Testen von Diensten.
Teilen Sie uns Ihre Kommentare / Vorschläge zu diesem Tutorial mit.
Literatur-Empfehlungen
- Tutorial zum Testen von ETL-Data Warehouse-Tests (Eine vollständige Anleitung)
- Alpha-Tests und Beta-Tests (eine vollständige Anleitung)
- Funktionstests gegen nichtfunktionale Tests
- Arten von Migrationstests: Mit Testszenarien für jeden Typ
- Tutorial zum Testen der Benutzerfreundlichkeit: Eine vollständige Anleitung für die ersten Schritte
- 13 besten Datenmigrationswerkzeuge für vollständige Datenintegrität (2021 LIST)
- Vollständige Anleitung zum Erstellen von Verifikationstests (BVT-Tests)
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)