AWS Concetti di test delle applicazioni di modernizzazione del mainframe - AWS Modernizzazione del mainframe

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Concetti di test delle applicazioni di modernizzazione del mainframe

AWS Application Testing utilizza termini che altri servizi di test o pacchetti software potrebbero utilizzare con un significato leggermente diverso. Le sezioni seguenti spiegano come AWS Mainframe Modernization Application Testing utilizza questa terminologia.

Caso di test

Un test case è l'unità d'azione individuale più importante nel flusso di lavoro di test. Di solito, un test case viene utilizzato per rappresentare un'unità indipendente di logica aziendale che modifica i dati. Verranno effettuati confronti per ogni test case. I casi di test vengono aggiunti a una suite di test. I test case contengono metadati sugli artefatti di dati (set di dati, database) modificati dal test case e sulle funzioni aziendali che vengono attivate durante l'esecuzione del test case: processi in batch, 3270 finestre di dialogo interattive e altro. Ad esempio, i nomi e le code page dei set di dati.

Dati di input → Test case → Dati di output

I casi di test possono essere online o di tipo batch:

  • Gli screen test case online 3270 sono casi di test in cui l'utente esegue finestre di dialogo interattive (3270) per leggere, modificare o produrre nuovi dati aziendali (record di database e/o set di dati).

  • I batch test case sono casi di test che richiedono l'invio di un batch per leggere, elaborare e modificare o produrre nuovi dati aziendali (set di dati e/o record di database).

Suite di test

Le suite di test hanno una raccolta di casi di test eseguiti in ordine sequenziale, uno per uno. La riproduzione viene eseguita a livello di suite di test. Tutti i casi di test nella suite di test vengono eseguiti nell'ambiente di test di destinazione quando viene riprodotta una suite di test. Se ci sono differenze dopo aver confrontato gli artefatti dei test di riferimento e di ripetizione, le differenze verranno mostrate a livello di test case.

Ad esempio, Test Suite A:

Test Case 1, Test Case 2, Test Case 3 e così via.

Configurazione dell'ambiente di test

La configurazione dell'ambiente di test consente di impostare il set iniziale di dati e parametri (o risorse) di CloudFormation configurazione necessari per rendere ripetibile l'esecuzione del test.

Caricamento

I caricamenti vengono eseguiti a livello di suite di test. Durante il caricamento, devi fornire una posizione Amazon S3 che contenga gli artefatti, i set di dati e le riviste CDC del database relazionale dal mainframe di origine con cui confrontare. Questi verranno considerati dati di riferimento provenienti dal mainframe di origine. Durante la riproduzione, i dati di replay generati verranno confrontati con i dati di riferimento caricati per garantire l'equivalenza dell'applicazione.

Riproduci di nuovo

I replay vengono eseguiti a livello di suite di test. Durante la riproduzione, AWS Mainframe Modernization Application Testing utilizza CloudFormation lo script per creare l'ambiente di test di destinazione ed eseguire l'applicazione. I set di dati e i record del database modificati durante la riproduzione vengono acquisiti e confrontati con i dati di riferimento del mainframe. In genere, si esegue il caricamento sul mainframe una volta e poi lo si riproduce più volte, fino a raggiungere l'equivalenza funzionale.

Confronta

I confronti vengono effettuati automaticamente al termine di un replay. Durante i confronti, i dati di riferimento caricati e acquisiti durante la fase di caricamento vengono confrontati con i dati di replay generati durante la fase di replay. I confronti avvengono separatamente a livello di singolo test case per set di dati, record di database e schermate online.

Confronti tra database

Application Testing utilizza una funzionalità di confronto dello stato di avanzamento quando si confrontano le modifiche nei record del database tra le applicazioni di origine e di destinazione. La corrispondenza dello stato di avanzamento confronta le differenze in ogni singola istruzione Run INSERT, UPDATE e DELETE, a differenza del confronto delle righe della tabella alla fine del processo. La corrispondenza tra stati e progressi è più efficiente rispetto alle alternative e fornisce confronti più rapidi e accurati confrontando solo i dati modificati e rilevando gli errori di correzione automatica nel flusso delle transazioni. Utilizzando la tecnologia CDC (Changed Data Capture), Application Testing è in grado di rilevare le singole modifiche del database di relazioni e confrontarle tra l'origine e la destinazione.

Le modifiche al database di relazione vengono generate sull'origine e sulla destinazione dal codice dell'applicazione testato utilizzando istruzioni DML (Data Modification Language) come SQL INSERT, UPDATE o DELETE, ma anche indirettamente quando l'applicazione utilizza procedure memorizzate o quando i trigger del database sono impostati su alcune tabelle o quando si utilizza CASCADE DELETE per garantire l'integrità referenziale, attivando automaticamente eliminazioni aggiuntive.

Confronti tra set di dati

Application Testing confronta automaticamente i set di dati di riferimento e di riproduzione prodotti sui sistemi di origine (registrazione) e di destinazione (replay).

Per confrontare i set di dati:

  1. Inizia con gli stessi dati di input (set di dati, database) sia sull'origine che sulla destinazione.

  2. Esegui i tuoi casi di test sul sistema di origine (mainframe).

  3. Acquisisci i set di dati prodotti e caricali in un bucket Amazon S3. Puoi trasferire i set di dati di input dalla fonte all' AWS utilizzo di riviste, schermate e set di dati CDC.

  4. Specificate la posizione del bucket Amazon S3 in cui sono stati caricati i set di dati del mainframe al momento del caricamento del test case.

Una volta completata la riproduzione, Application Testing confronta automaticamente i set di dati di riferimento e di destinazione in uscita, mostrando se i record sono identici, equivalenti, diversi o mancanti. Ad esempio, i campi data relativi al momento dell'esecuzione del carico di lavoro (giorno+1, fine del mese corrente, ecc.) vengono automaticamente considerati equivalenti. Inoltre, è possibile definire facoltativamente regole di equivalenza, in modo che i record non identici abbiano lo stesso significato commerciale e vengano contrassegnati come equivalenti.

Stato del confronto

Application Testing utilizza i seguenti stati di confronto: IDENTICO, EQUIVALENTE e DIVERSO.

IDENTICO

I dati di origine e di destinazione sono esattamente gli stessi.

EQUIVALENTI

I dati di origine e di destinazione contengono false differenze considerate equivalenti, ad esempio date o timestamp che non influiscono sull'equivalenza funzionale quando sono relative al momento dell'esecuzione del carico di lavoro. È possibile definire regole di equivalenza per identificare quali sono queste differenze. Quando tutte le suite di test ripetute rispetto alle relative suite di test di riferimento mostrano lo stato IDENTICO o EQUIVALENTE, la suite di test non mostra differenze.

DIFFERENTE

I dati di origine e di destinazione contengono differenze, ad esempio un numero diverso di record in un set di dati o valori diversi nello stesso record.

Regole di equivalenza

Un insieme di regole per identificare le false differenze che possono essere considerate risultati equivalenti. Il test di equivalenza funzionale offline (OFET) causa inevitabilmente differenze per alcuni risultati tra il sistema di origine e quello di destinazione. Ad esempio, i timestamp di aggiornamento sono diversi in base alla progettazione. Le regole di equivalenza spiegano come correggere tali differenze ed evitare falsi positivi al momento del confronto. Ad esempio, se una data è di runtime + 2 giorni in una particolare colonna di dati, la regola di equivalenza la descrive e accetta un orario sul sistema di destinazione che corrisponde a runtime su target + 2 giorni anziché un valore strettamente uguale alla stessa colonna nel caricamento dei riferimenti.

Confronto tra set di dati dello stato finale

Lo stato finale dei set di dati che sono stati creati o modificati, incluse tutte le modifiche o gli aggiornamenti apportati ai set di dati rispetto al loro stato iniziale. Per i set di dati, Application Testing esamina i record in tali set di dati al termine di un test case e confronta i risultati.

Confronti tra database State-Progress

Confronti delle modifiche apportate ai record del database come sequenza di singole istruzioni DML (Delete, Update, Insert). Application Testing confronta le singole modifiche (inserimento, aggiornamento o eliminazione della riga di una tabella) dal database di origine al database di destinazione e identificherà le differenze per ogni singola modifica. Ad esempio, è possibile utilizzare una singola istruzione INSERT per inserire in una tabella una riga con valori diversi nel database di origine rispetto al database di destinazione.

Equivalenza funzionale (FE)

Due sistemi sono considerati funzionalmente equivalenti se producono gli stessi risultati su tutte le operazioni osservabili, con gli stessi dati di input. Ad esempio, due applicazioni sono considerate funzionalmente equivalenti se gli stessi dati di input producono dati di output identici (tramite schermate, modifiche al set di dati o modifiche al database).

Confronti tra schermate 3270 online

Confronta l'output delle schermate mainframe 3270 con l'output delle schermate Web delle applicazioni modernizzate quando il sistema di destinazione è in esecuzione con il runtime Blu Age in AWS . Cloud AWS Inoltre, confronta l'output degli schermi mainframe 3270 con gli schermi 3270 dell'applicazione riospitata quando il sistema di destinazione è in esecuzione con il runtime Micro Focus in. Cloud AWS

Riproduci i dati

I dati di replay vengono utilizzati per descrivere i dati generati dalla riproduzione di una suite di test nell'ambiente di test di destinazione. Ad esempio, i dati di replay vengono generati quando una suite di test è in esecuzione su un'applicazione del servizio di modernizzazione del AWS mainframe. I dati di replay vengono quindi confrontati con i dati di riferimento acquisiti dalla fonte. Ogni volta che riproduci il carico di lavoro nell'ambiente di destinazione, viene generata una nuova generazione di dati di replay.

Dati di riferimento

I dati di riferimento vengono utilizzati per descrivere i dati acquisiti sul mainframe di origine. È il riferimento con cui verranno confrontati i dati generati dal replay (target). Di solito, per ogni record sul mainframe che crea dati di riferimento, ci saranno molti replay. Questo perché gli utenti in genere acquisiscono lo stato corretto dell'applicazione sul mainframe e riproducono i casi di test sull'applicazione modernizzata di destinazione per convalidare l'equivalenza. Se vengono rilevati dei bug, questi vengono corretti e i test case vengono ripetuti nuovamente. Spesso, si ripetono più cicli di riproduzione, si correggono i bug e si ripete nuovamente per convalidare l'occorrenza. Si tratta del cosiddetto paradigma di test «capture once, replay multiple times».

Carica, riproduci e confronta

Il test delle applicazioni si svolge in tre fasi:

  • Caricamento: acquisisce i dati di riferimento creati sul mainframe per ogni test case di uno scenario di test. Questi possono includere 3270 schermate online, set di dati e record di database.

    • Per le schermate 3270 online, è necessario utilizzare l'emulatore di terminale Blu Insights per acquisire il carico di lavoro di origine. Per ulteriori informazioni, consulta la documentazione di Blu Insights.

    • Per i set di dati, sarà necessario acquisire i set di dati prodotti da ciascun test case sul mainframe utilizzando strumenti comuni, come FTP o il servizio di trasferimento dei set di dati, parte di AWS Mainframe Modernization.

    • Per le modifiche al database, utilizzi la documentazione AWS Mainframe Modernization Data Replication with Precisly per acquisire e generare diari CDC contenenti le modifiche.

  • Replay: la suite di test viene riprodotta nell'ambiente di destinazione. Vengono eseguiti tutti i casi di test specificati nella suite di test. I tipi di dati specificati creati dai singoli casi di test, come set di dati, modifiche al database relazionale o schermate 3270, verranno acquisiti con l'automazione. Questi dati sono noti come dati di replay e verranno confrontati con i dati di riferimento acquisiti durante la fase di caricamento.

    Nota

    Le modifiche al database relazionale richiederanno opzioni di configurazione specifiche per DMS nel modello di condizione iniziale. CloudFormation

  • Confronta: i dati di riferimento del test di origine e i dati di replay di destinazione vengono confrontati e i risultati verranno visualizzati come dati identici, diversi, equivalenti o mancanti.

Differenze

Indica che sono state rilevate differenze tra i set di dati di riferimento e quelli di riproduzione mediante il confronto dei dati. Ad esempio, un campo in una schermata 3270 online che mostra valori diversi dal punto di vista della logica aziendale tra il mainframe di origine e l'applicazione modernizzata di destinazione verrà considerato una differenza. Un altro esempio è il caricamento in un set di dati che non è identico tra le applicazioni di origine e quelle di destinazione.

Equivalenze

I record equivalenti sono record diversi tra i set di dati di riferimento e di riproduzione, ma non devono essere considerati diversi dal punto di vista della logica aziendale. Ad esempio, un record contenente il timestamp di quando è stato prodotto il set di dati (tempo di esecuzione del carico di lavoro). Utilizzando regole di equivalenza personalizzabili, è possibile indicare ad Application Testing di trattare tale differenza di falsi positivi come un'equivalenza, anche se mostra valori diversi tra i dati di riferimento e quelli di riproduzione.

Applicazione di origine

L'applicazione mainframe di origine con cui confrontare.

Applicazione di destinazione

L'applicazione nuova o modificata su cui viene eseguito il test e che verrà confrontata con l'applicazione di origine per rilevare eventuali difetti e ottenere l'equivalenza funzionale tra le applicazioni di origine e di destinazione. L'applicazione di destinazione è in genere in esecuzione nel AWS cloud.