AWS Konzepte für das Testen von Anwendungen zur Mainframe-Modernisierung - AWS Mainframe-Modernisierung

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS Konzepte für das Testen von Anwendungen zur Mainframe-Modernisierung

AWS Application Testing verwendet Begriffe, die andere Testdienste oder Softwarepakete möglicherweise verwenden, mit einer etwas anderen Bedeutung. In den folgenden Abschnitten wird erklärt, wie AWS Mainframe Modernization Application Testing diese Terminologie verwendet.

Testfall

Ein Testfall ist die individuellste Aktionseinheit in Ihrem Test-Workflow. Normalerweise wird ein Testfall verwendet, um eine unabhängige Einheit der Geschäftslogik darzustellen, die Daten modifiziert. Vergleiche werden für jeden Testfall durchgeführt. Testfälle werden einer Testsuite hinzugefügt. Testfälle enthalten Metadaten zu den Datenartefakten (Datensätze, Datenbanken), die durch den Testfall geändert werden, und zu den Geschäftsfunktionen, die während der Testfallausführung ausgelöst werden: Batch-Jobs, 3270 interaktive Dialoge und andere. Zum Beispiel die Namen und Codepages von Datensätzen.

Eingabedaten → Testfall → Ausgabedaten

Testfälle können entweder online oder stapelweise sein:

  • Online-3270-Bildschirmtestfälle sind Testfälle, bei denen der Benutzer interaktive Bildschirmdialoge (3270) ausführt, um neue Geschäftsdaten (Datenbank und/oder Datensatzdatensätze) zu lesen, zu ändern oder zu erstellen.

  • Batch-Testfälle sind Testfälle, bei denen ein Batch eingereicht werden muss, um neue Geschäftsdaten (Datensätze und/oder Datenbankdatensätze) zu lesen, zu verarbeiten und zu ändern oder zu erzeugen.

Testsuite

Testsuiten enthalten eine Sammlung von Testfällen, die nacheinander ausgeführt werden. Die Wiedergabe erfolgt auf der Ebene der Testsuite. Alle Testfälle in der Testsuite werden in der Zieltestumgebung ausgeführt, wenn eine Testsuite wiedergegeben wird. Wenn es nach dem Vergleich von Referenz- und Wiederholungstestartefakten Unterschiede gibt, werden die Unterschiede auf Testfallebene angezeigt.

Zum Beispiel Test Suite A:

Testfall 1, Testfall 2, Testfall 3 usw.

Konfiguration der Testumgebung

Die Konfiguration der Testumgebung ermöglicht es Ihnen, den anfänglichen Satz von Daten und Konfigurationsparametern (oder Ressourcen) einzurichten CloudFormation , die Sie benötigen, um den Testlauf wiederholbar zu machen.

Hochladen

Uploads werden auf der Ebene der Testsuite durchgeführt. Während des Uploads müssen Sie einen Amazon S3 S3-Speicherort angeben, der die Artefakte, Datensätze und CDC-Journale der relationalen Datenbank vom Quell-Mainframe enthält, mit denen verglichen werden soll. Diese werden als Referenzdaten aus dem Quell-Mainframe betrachtet. Während der Wiedergabe werden die generierten Wiedergabedaten mit den hochgeladenen Referenzdaten verglichen, um die Gleichwertigkeit der Anwendung sicherzustellen.

Erneut abspielen

Wiederholungen werden auf Testsuite-Ebene durchgeführt. Während der Wiedergabe verwendet AWS Mainframe Modernization Application Testing das CloudFormation Skript, um die Zieltestumgebung zu erstellen und die Anwendung auszuführen. Datensätze und Datenbankdatensätze, die während der Wiedergabe geändert werden, werden erfasst und mit den Referenzdaten vom Mainframe verglichen. In der Regel werden Sie den Upload einmal auf den Mainframe durchführen und dann mehrmals wiederholen, bis die funktionale Äquivalenz erreicht ist.

Compare

Vergleiche werden automatisch durchgeführt, nachdem eine Wiederholung erfolgreich abgeschlossen wurde. Bei Vergleichen werden die referenzierten Daten, die Sie während der Upload-Phase hochgeladen und erfasst haben, mit den während der Wiedergabephase generierten Wiedergabedaten verglichen. Vergleiche werden auf der Ebene einzelner Testfälle für Datensätze, Datenbankeinträge und Online-Bildschirme getrennt durchgeführt.

Datenbankvergleiche

Application Testing verwendet beim Vergleich von Änderungen in Datenbankdatensätzen zwischen der Quell- und der Zielanwendung eine Funktion zum Abgleich des Status und des Fortschritts. Beim State-Progress-Abgleich werden die Unterschiede in den einzelnen INSERT-, UPDATE- und DELETE-Anweisungen verglichen, im Gegensatz zum Vergleich von Tabellenzeilen am Ende des Prozesses. Der State-Progress-Abgleich ist effizienter als Alternativen und ermöglicht schnellere und genauere Vergleiche, indem nur geänderte Daten verglichen und Fehler im Transaktionsablauf erkannt werden, die sich selbst korrigieren. Mithilfe der CDC-Technologie (Changed Data Capture) kann Application Testing einzelne Änderungen in der Relationsdatenbank erkennen und sie zwischen Quelle und Ziel vergleichen.

Änderungen an der Relationsdatenbank werden an Quelle und Ziel durch den getesteten Anwendungscode mithilfe von DML-Anweisungen (Data Modification Language) wie SQL INSERT, UPDATE oder DELETE generiert, aber auch indirekt, wenn die Anwendung gespeicherte Prozeduren verwendet oder wenn Datenbank-Trigger für einige Tabellen gesetzt sind oder wenn CASCADE DELETE verwendet wird, um die referenzielle Integrität zu gewährleisten, wodurch automatisch zusätzliche Löschungen ausgelöst werden.

Vergleiche von Datensätzen

Application Testing vergleicht automatisch die Referenz- und Wiedergabedatensätze, die auf den Quell- (Aufnahme-) und Zielsystemen (Wiedergabe) erzeugt wurden.

Um Datensätze zu vergleichen:

  1. Beginnen Sie mit denselben Eingabedaten (Datensätze, Datenbank) sowohl auf der Quelle als auch auf dem Ziel.

  2. Führen Sie Ihre Testfälle auf dem Quellsystem (Mainframe) aus.

  3. Erfassen Sie die produzierten Datensätze und laden Sie sie in einen Amazon S3 S3-Bucket hoch. Sie können Eingabedatensätze von der Quelle an AWS CDC-Journale, Bildschirme und Datensätze übertragen.

  4. Geben Sie den Speicherort des Amazon S3 S3-Buckets an, in den die Mainframe-Datensätze hochgeladen wurden, als Sie den Testfall hochgeladen haben.

Nach Abschluss der Wiedergabe vergleicht Application Testing automatisch die ausgegebenen Referenz- und Zieldatensätze und zeigt, ob die Datensätze identisch, gleichwertig, unterschiedlich sind oder fehlen. Beispielsweise werden Datumsfelder, die sich auf den Zeitpunkt der Workload-Ausführung beziehen (Tag +1, Ende des aktuellen Monats usw.), automatisch als gleichwertig betrachtet. Darüber hinaus können Sie optional Äquivalenzregeln definieren, sodass Datensätze, die nicht identisch sind, immer noch dieselbe geschäftliche Bedeutung haben und als gleichwertig gekennzeichnet werden.

Status des Vergleichs

Application Testing verwendet die folgenden Vergleichsstatus: IDENTISCH, ÄQUIVALENT und UNTERSCHIEDLICH.

IDENTISCH

Die Quell- und Zieldaten sind exakt identisch.

ÄQUIVALENT

Die Quell- und Zieldaten enthalten falsche Unterschiede, die als Äquivalenzen angesehen werden, z. B. Datums- oder Zeitstempel, die sich nicht auf die funktionale Gleichwertigkeit auswirken, wenn sie sich auf den Zeitpunkt der Workload-Ausführung beziehen. Sie können Äquivalenzregeln definieren, um zu ermitteln, worin diese Unterschiede bestehen. Wenn alle wiedergegebenen Testsuiten im Vergleich zu ihren Referenztestsuiten den Status IDENTISCH oder ÄQUIVALENT aufweisen, weist Ihre Testsuite keine Unterschiede auf.

ANDERS

Die Quell- und Zieldaten enthalten Unterschiede, z. B. eine unterschiedliche Anzahl von Datensätzen in einer Datenmenge oder unterschiedliche Werte in demselben Datensatz.

Regeln für die Gleichwertigkeit

Eine Reihe von Regeln zur Identifizierung falscher Unterschiede, die als gleichwertige Ergebnisse angesehen werden können. Offline-Funktionale Äquivalenztests (OFET) führen bei einigen Ergebnissen unweigerlich zu Unterschieden zwischen dem Quell- und dem Zielsystem. Beispielsweise sind die Zeitstempel für Aktualisierungen konstruktionsbedingt unterschiedlich. Die Äquivalenzregeln erläutern, wie diese Unterschiede ausgeglichen und Fehlalarme beim Vergleich vermieden werden können. Wenn ein Datum beispielsweise Laufzeit +2 Tage in einer bestimmten Datenspalte ist, beschreibt es die Äquivalenzregel und akzeptiert eine Zeit auf dem Zielsystem, die Laufzeit am Zielsystem + 2 Tage ist, anstatt einen Wert, der genau derselben Spalte beim Referenz-Upload entspricht.

Vergleich von Datensätzen im Endzustand

Der Endstatus von Datensätzen, die erstellt oder geändert wurden, einschließlich aller Änderungen oder Aktualisierungen, die an den Datensätzen gegenüber ihrem ursprünglichen Zustand vorgenommen wurden. Bei Datensätzen untersucht Application Testing am Ende eines Testfalllaufs die Datensätze in diesen Datensätzen und vergleicht die Ergebnisse.

Vergleiche zwischen Datenbanken zum Stand und zum Fortschritt

Vergleiche von Änderungen, die an Datenbankeinträgen vorgenommen wurden, als Folge einzelner DML-Anweisungen (Delete, Update, Insert). Application Testing vergleicht einzelne Änderungen (Einfügen, Aktualisieren oder Löschen einer Tabellenzeile) in der Quelldatenbank mit der Zieldatenbank und ermittelt Unterschiede für jede einzelne Änderung. Beispielsweise kann eine einzelne INSERT-Anweisung verwendet werden, um in eine Tabelle eine Zeile mit anderen Werten in der Quelldatenbank als in der Zieldatenbank einzufügen.

Funktionale Äquivalenz (FE)

Zwei Systeme gelten als funktionell gleichwertig, wenn sie bei gleichen Eingabedaten bei allen beobachtbaren Operationen dieselben Ergebnisse liefern. Zwei Anwendungen gelten beispielsweise als funktionell gleichwertig, wenn dieselben Eingabedaten identische Ausgabedaten erzeugen (durch Bildschirme, Datensatzänderungen oder Datenbankänderungen).

Online-Bildschirmvergleiche von 3270

Vergleicht die Ausgabe der Mainframe-3270-Bildschirme mit der Ausgabe der Webbildschirme der modernisierten Anwendung, wenn das Zielsystem unter AWS Blu Age-Laufzeit in der läuft. AWS Cloud Und es vergleicht die Ausgabe der Mainframe-3270-Bildschirme mit den 3270-Bildschirmen der neu gehosteten Anwendung, wenn das Zielsystem unter Micro Focus Runtime in der läuft. AWS Cloud

Daten erneut abspielen

Wiedergabedaten werden verwendet, um die Daten zu beschreiben, die durch das Abspielen einer Testsuite in der Zieltestumgebung generiert werden. Wiedergabedaten werden beispielsweise generiert, wenn eine Testsuite auf einer AWS Mainframe-Modernisierungsdienstanwendung ausgeführt wird. Die Wiedergabedaten werden dann mit den Referenzdaten verglichen, die von der Quelle erfasst wurden. Jedes Mal, wenn Sie den Workload in der Zielumgebung wiedergeben, wird eine neue Generation von Wiedergabedaten generiert.

Referenzdaten

Referenzdaten werden verwendet, um die auf dem Quell-Mainframe erfassten Daten zu beschreiben. Dies ist die Referenz, mit der die von der Wiedergabe (Ziel) generierten Daten verglichen werden. Normalerweise gibt es für jeden Datensatz auf dem Mainframe, der Referenzdaten erstellt, viele Wiederholungen. Das liegt daran, dass Benutzer in der Regel den korrekten Status der Anwendung auf dem Mainframe erfassen und die Testfälle auf der modernisierten Zielanwendung erneut abspielen, um die Gleichwertigkeit zu überprüfen. Wenn Fehler gefunden werden, werden sie behoben und die Testfälle werden erneut abgespielt. Oft werden mehrere Zyklen wiederholt, Fehler behoben und erneut abgespielt, um das Auftreten zu überprüfen. Dies wird als Testparadigma bezeichnet: einmal aufzeichnen, mehrfach wiedergeben.

Hochladen, Wiedergeben und Vergleichen

Das Testen von Anwendungen erfolgt in drei Schritten:

  • Upload: erfasst die referenzierten Daten, die auf dem Mainframe für jeden Testfall eines Testszenarios erstellt wurden. Dazu können 3270 Online-Bildschirme, Datensätze und Datenbankeinträge gehören.

    • Für Online-3270-Bildschirme müssen Sie den Blu Insights-Terminalemulator verwenden, um Ihren Quell-Workload zu erfassen. Weitere Informationen finden Sie in der Blu Insights-Dokumentation.

    • Bei Datensätzen müssen Sie die von jedem Testfall auf dem Mainframe erzeugten Datensätze mithilfe gängiger Tools wie FTP oder dem Dataset-Transfer-Service, der Teil von AWS Mainframe Modernization ist, erfassen.

    • Für Datenbankänderungen verwenden Sie die AWS Mainframe Modernization Data Replication with Precisely Documentation, um CDC-Journale mit Änderungen zu erfassen und zu generieren.

  • Wiederholung: Die Testsuite wird in der Zielumgebung wiedergegeben. Alle in der Testsuite angegebenen Testfälle werden ausgeführt. Spezifizierte Datentypen, die durch die einzelnen Testfälle erstellt wurden, wie Datensätze, relationale Datenbankänderungen oder 3270-Bildschirme, werden automatisiert erfasst. Diese Daten werden als Wiedergabedaten bezeichnet und mit den während der Upload-Phase erfassten Referenzdaten verglichen.

    Anmerkung

    Für die Änderungen an der relationalen Datenbank sind DMS-spezifische Konfigurationsoptionen in Ihrer Vorlage für Ausgangsbedingungen erforderlich. CloudFormation

  • Vergleich: Die Referenzdaten für den Quelltest und die Ziel-Wiedergabedaten werden verglichen, und die Ergebnisse werden Ihnen als identische, unterschiedliche, gleichwertige oder fehlende Daten angezeigt.

Unterschiede

Zeigt an, dass beim Datenvergleich Unterschiede zwischen den Referenz- und den Wiederholungsdatensätzen festgestellt wurden. Beispielsweise wird ein Feld auf einem Online-3270-Bildschirm, das aus Sicht der Geschäftslogik unterschiedliche Werte zwischen dem Quell-Mainframe und der modernisierten Zielanwendung anzeigt, als Unterschied betrachtet. Ein anderes Beispiel ist ein Upload in einem Datensatz, der zwischen Quell- und Zielanwendungen nicht identisch ist.

Äquivalenzen

Äquivalente Datensätze sind Datensätze, die sich zwischen den Referenz- und Wiedergabedatensätzen unterscheiden, die aber aus Sicht der Geschäftslogik nicht als unterschiedlich behandelt werden sollten. Zum Beispiel ein Datensatz, der den Zeitstempel enthält, wann der Datensatz erstellt wurde (Workload-Ausführungszeit). Mithilfe anpassbarer Äquivalenzregeln können Sie Application Testing anweisen, eine solche falsch positive Differenz als Äquivalenz zu behandeln, auch wenn sie unterschiedliche Werte zwischen Referenz- und Wiedergabedaten anzeigt.

Quellanwendung

Die Mainframe-Quellanwendung, mit der verglichen werden soll.

Zielanwendung

Die neue oder geänderte Anwendung, auf der getestet wird und die mit der Quellanwendung verglichen wird, um etwaige Fehler zu erkennen und die funktionale Äquivalenz zwischen Quell- und Zielanwendung zu erreichen. Die Zielanwendung wird normalerweise in der AWS Cloud ausgeführt.