Tutorial sul test ETL

Cos'è il test ETL?

Il test ETL viene eseguito per garantire che i dati caricati da un'origine alla destinazione dopo la trasformazione aziendale siano accurati. Implica anche la verifica dei dati nelle varie fasi intermedie che vengono utilizzati tra origine e destinazione. ETL sta per Extract-Transform-Load.

Test ETL

Test del data warehouse

Test del data warehouse è un metodo di test in cui i dati all'interno di un data warehouse vengono testati per verificarne l'integrità, l'affidabilità, l'accuratezza e la coerenza al fine di conformarsi al quadro dei dati dell'azienda. Lo scopo principale del test del data warehouse è garantire che i dati integrati all'interno del data warehouse siano sufficientemente affidabili da consentire a un'azienda di prendere decisioni.

Che cos'è ETL?

ETL sta per Extract-Transform-Load ed è un processo di caricamento dei dati dal sistema di origine al data warehouse. I dati vengono estratti da un database OLTP, trasformati per corrispondere allo schema del data warehouse e caricati nel database del data warehouse. Molti data warehouse incorporano anche dati provenienti da sistemi non OLTP come file di testo, sistemi legacy e fogli di calcolo.

Vediamo come funziona

Ad esempio, esiste un negozio al dettaglio che ha diversi reparti come vendite, marketing, logistica, ecc. Ognuno di loro gestisce le informazioni sui clienti in modo indipendente e il modo in cui archiviano tali dati è abbastanza diverso. Il reparto vendite lo ha archiviato in base al nome del cliente, mentre il reparto marketing in base all'ID cliente.

Ora, se vogliono controllare la storia del cliente e vogliono sapere quali sono i diversi prodotti che ha acquistato a causa delle diverse campagne di marketing; sarebbe molto noioso.

La soluzione è usare a magazzino dati per archiviare informazioni provenienti da diverse fonti in una struttura uniforme utilizzando ETL. ETL può trasformare set di dati diversi in una struttura unificata.Later utilizzare gli strumenti di BI per ricavare insight e report significativi da questi dati.

Il diagramma seguente in questo tutorial sui test ETL fornisce la ROAD MAP del flusso del processo di test ETL e vari concetti di test ETL:

Estrai-Trasforma-Carica

1) Estrarre

  • Estrarre i dati rilevanti

2) Trasformare

  • Trasforma i dati in formato DW (Data Warehouse).
  • Chiavi di creazione: una chiave è costituita da uno o più attributi di dati che identificano in modo univoco un'entità. Vari tipi di chiavi sono chiave primaria, chiave alternativa, chiave esterna, chiave composita, chiave surrogata. Il datawarehouse possiede queste chiavi e non consente mai a nessun'altra entità di assegnarle.
  • Pulizia dei dati: dopo che i dati sono stati estratti, passeranno alla fase successiva, di pulizia e conformità dei dati. La pulizia elimina l'omissione dei dati, oltre a identificare e correggere gli errori. Conformarsi significa risolvere i conflitti tra i dati incompatibili, in modo che possano essere utilizzati in un data warehouse aziendale. Oltre a questi, questo sistema crea metadati che vengono utilizzati per diagnosticare i problemi del sistema di origine e migliorare la qualità dei dati.

3) Caricare

  • Caricare i dati nel DW (Data Warehouse)
  • Creazione di aggregati: la creazione di un aggregato consiste nel riepilogare e archiviare i dati disponibili in tabella dei fatti al fine di migliorare le prestazioni delle query degli utenti finali.

Processo di test ETL

Similmente ad altri processi di test, anche l'ETL attraversa diverse fasi. Le diverse fasi del processo di test ETL sono le seguenti

Processo di test ETL

Il test ETL viene eseguito in cinque fasi

  1. Identificazione delle fonti e dei requisiti dei dati
  2. Acquisizione dati
  3. Implementare logiche aziendali e modellazione dimensionale
  4. Costruisci e popola i dati
  5. Costruisci report

Processo di test ETL

Tipi di test ETL

  1. Test di convalida della produzione
    Processo di test: "Bilanciamento delle tabelle" o "riconciliazione della produzione": questo tipo di test ETL viene eseguito sui dati mentre vengono spostati nei sistemi di produzione. Per supportare la tua decisione aziendale, i dati nei tuoi sistemi di produzione devono essere nell'ordine corretto. Informatica L'opzione di convalida dei dati fornisce funzionalità di automazione e gestione dei test ETL per garantire che i sistemi di produzione non vengano compromessi dai dati.
  2. Fonte a Target Test (test di convalida)
    Processo di test: Questo tipo di test viene eseguito per verificare se i valori dei dati trasformati sono i valori dei dati attesi.
  3. Applicazioni Upgrades
    Processo di test: Questo tipo di test ETL può essere generato automaticamente, con un notevole risparmio di tempo nello sviluppo dei test. Questo tipo di test verifica se i dati estratti da un'applicazione o da un repository precedente sono esattamente gli stessi dei dati in un repository o in una nuova applicazione.
  4. Test dei metadati
    Processo di test: Il test dei metadati include il test del controllo del tipo di dati, del controllo della lunghezza dei dati e del controllo dell'indice/vincolo.
  5. Test di completezza dei dati
    Processo di test: Per verificare che tutti i dati previsti siano caricati nella destinazione dall'origine, viene eseguito il test di completezza dei dati. Alcuni dei test che possono essere eseguiti sono il confronto e la convalida di conteggi, aggregazioni e dati effettivi tra l'origine e la destinazione per le colonne con trasformazione semplice o senza trasformazione.
  6. Test di accuratezza dei dati
    Processo di test: Questo test viene eseguito per garantire che i dati vengano caricati e trasformati accuratamente come previsto.
  7. Test di trasformazione dei dati
    Processo di test: Il test della trasformazione dei dati viene eseguito poiché in molti casi non può essere ottenuto scrivendo un'unica fonte SQL interrogare e confrontare l'output con l'obiettivo. Potrebbe essere necessario eseguire più query SQL per ciascuna riga per verificare le regole di trasformazione.
  8. Test sulla qualità dei dati
    Processo di test:

    I test di qualità dei dati includono test di sintassi e di riferimento. Per evitare qualsiasi errore dovuto alla data o al numero dell'ordine durante il processo aziendale, vengono eseguiti test sulla qualità dei dati.

    Test di sintassi: riporterà dati sporchi, basati su caratteri non validi, pattern di caratteri, ordine maiuscolo o minuscolo errato, ecc.

    Test di riferimento: controllerà i dati in base al modello di dati. Ad esempio: ID cliente

    I test sulla qualità dei dati includono il controllo del numero, il controllo della data, il controllo della precisione, il controllo dei dati, il controllo nullo ecc.

  9. Test ETL incrementale
    Processo di test: Questo test viene eseguito per verificare l'integrità dei dati vecchi e nuovi con l'aggiunta di nuovi dati. Il test incrementale verifica che gli inserimenti e gli aggiornamenti vengano elaborati come previsto durante il processo ETL incrementale.
  10. Test GUI/navigazione
    Processo di test: Questo test viene eseguito per verificare la navigazione o gli aspetti della GUI dei report front-end.

Come creare un caso di test ETL

Il test ETL è un concetto che può essere applicato a diversi strumenti e database nel settore della gestione delle informazioni. L'obiettivo dei test ETL è garantire che i dati caricati dall'origine alla destinazione dopo la trasformazione aziendale siano accurati. Implica anche la verifica dei dati nelle varie fasi intermedie che vengono utilizzati tra origine e destinazione.

Durante l'esecuzione del test ETL, due documenti che verranno sempre utilizzati da un tester ETL sono:

  1. Fogli di mappatura ETL:Un foglio di mappatura ETL contiene tutte le informazioni delle tabelle di origine e di destinazione, inclusa ogni singola colonna e la relativa ricerca nelle tabelle di riferimento. Un tester ETL deve sentirsi a proprio agio con le query SQL poiché il test ETL può comportare la scrittura di query di grandi dimensioni con più join per convalidare i dati in qualsiasi fase dell'ETL. I fogli di mappatura ETL forniscono un aiuto significativo durante la scrittura di query per la verifica dei dati.
  2. Schema DB di origine, Target: Dovrebbe essere tenuto a portata di mano per verificare ogni dettaglio nei fogli di mappatura.

Scenari di test ETL e casi di test

  1. Convalida dei documenti di mappatura
    Casi test: Verificare il documento di mappatura se vengono fornite o meno le informazioni ETL corrispondenti. Il registro delle modifiche dovrebbe essere mantenuto in ogni documento di mappatura.
  2. Convalida
    Casi test:

    1) Convalidare la struttura della tabella di origine e di destinazione rispetto al documento di mappatura corrispondente.
    2) Il tipo di dati di origine e il tipo di dati di destinazione devono essere gli stessi
    3) La lunghezza dei tipi di dati sia nell'origine che nella destinazione deve essere uguale
    4) Verificare che i tipi e i formati dei campi dati siano specificati
    5) La lunghezza del tipo di dati di origine non deve essere inferiore alla lunghezza del tipo di dati di destinazione
    6) Convalidare il nome delle colonne nella tabella rispetto al documento di mappatura.

  3. Validazione dei vincoli
    Casi test: Assicurarsi che i vincoli siano definiti per la tabella specifica come previsto
  4. Problemi di coerenza dei dati
    Casi test:

    1) Il tipo di dati e la lunghezza di un particolare attributo possono variare nei file o nelle tabelle, sebbene la definizione semantica sia la stessa.
    2) Uso improprio dei vincoli di integrità

  5. Problemi di completezza
    Casi test:

    1) Assicurarsi che tutti i dati previsti siano caricati nella tabella di destinazione.
    2) Confrontare i conteggi dei record tra origine e destinazione.
    3) Verificare la presenza di eventuali record rifiutati
    4) Verificare che i dati non vengano troncati nella colonna delle tabelle di destinazione
    5) Verificare l'analisi del valore limite
    6) Confronta i valori univoci dei campi chiave tra i dati caricati in WH e i dati di origine

  6. Problemi di correttezza
    Casi test:

    1) Dati scritti in modo errato o registrati in modo impreciso
    2) Dati nulli, non univoci o fuori intervallo

  7. Trasformazione
    Casi test: Trasformazione
  8. Qualità dei dati
    Casi test:

    1) Controllo numerico: è necessario controllare il numero e convalidarlo
    2) Controllo della data: devono seguire il formato della data e dovrebbe essere lo stesso in tutti i record
    3) Controllo di precisione
    4) Controllo dei dati
    5) Controllo nullo

  9. Convalida nulla
    Casi test: Verificare i valori null, dove "Not Null" è specificato per una colonna specifica.
  10. Controllo duplicato
    Casi test:

    1) È necessario convalidare la chiave univoca, la chiave primaria e qualsiasi altra colonna deve essere univoca in base ai requisiti aziendali e non deve contenere righe duplicate.
    2) Verificare se esistono valori duplicati in una colonna che estrae da più colonne nella sorgente e le combina in una colonna
    3) In base ai requisiti del cliente, è necessario assicurarsi che non vi siano duplicati nella combinazione di più colonne solo all'interno del target

  11. Convalida della data
    Casi test: I valori della data utilizzano molte aree nello sviluppo ETL per

    1) Per conoscere la data di creazione della riga
    2) Identificare i record attivi secondo la prospettiva di sviluppo ETL
    3) Identificare i record attivi in base alla prospettiva dei requisiti aziendali
    4) A volte gli aggiornamenti e gli inserimenti vengono generati in base ai valori della data.

  12. Convalida completa dei dati
    Casi test:

    1) Per convalidare il set di dati completo nella tabella di origine e di destinazione meno una query in una soluzione migliore
    2) Dobbiamo calcolare la fonte meno il bersaglio e il bersaglio meno la fonte
    3) Se la query meno restituisce un valore, questo deve essere considerato come righe non corrispondenti
    4) È necessario abbinare le righe tra origine e destinazione utilizzando l'istruzione intersect
    5) Il conteggio restituito da intersect deve corrispondere ai conteggi individuali delle tabelle di origine e di destinazione
    6) Se la query restituisce meno righe e il conteggio delle intersezioni è inferiore al conteggio di origine o alla tabella di destinazione, allora possiamo considerare che esistano righe duplicate.

  13. Pulizia dei dati
    Casi test: Le colonne non necessarie devono essere eliminate prima del caricamento nell'area di staging.

Tipi di bug ETL

Tipi di bug ETL

Tipo di bug Descrizione
Bug dell'interfaccia utente/bug estetici • Relativo alla GUI dell'applicazione
• Stile del carattere, dimensione del carattere, colori, allineamento, errori di ortografia, navigazione e così via
Bug relativo all'analisi del valore limite (BVA). • Valori minimi e massimi
Bug relativo al partizionamento delle classi di equivalenza (ECP). • Tipo valido e non valido
Bug di input/output • Valori validi non accettati
• Valori non validi accettati
Bug di calcolo • Errori matematici
• L'output finale è sbagliato
Bug delle condizioni di caricamento • Non consente più utenti
• Non consente il carico previsto dal cliente
Bug delle condizioni di gara • Arresto anomalo e blocco del sistema
• Il sistema non può eseguire piattaforme client
Bug di controllo della versione • Nessun logo corrispondente
• Nessuna informazione disponibile sulla versione
• Questo si verifica solitamente in Test di regressione
Bug hardware • Il dispositivo non risponde all'applicazione
Aiuta a individuare i bug • Errori nei documenti di aiuto

Differenza tra test del database e test ETL

Test ETL Test della base di dati
Verifica se i dati vengono spostati come previsto L'obiettivo principale è verificare se i dati seguono le regole/gli standard definiti nel modello dei dati
Verifica se i conteggi nell'origine e nella destinazione corrispondono

Verifica se i dati trasformati sono conformi alle aspettative

Verificare che non siano presenti record orfani e che vengano mantenute le relazioni chiave primaria esterna
Verifica che le relazioni di chiave primaria esterna vengano preservate durante l'ETL Verifica che non siano presenti tabelle ridondanti e che il database sia normalizzato in modo ottimale
Verifica la duplicazione nei dati caricati Verificare se mancano dati nelle colonne dove richiesto

Responsabilità di un tester ETL

Le responsabilità chiave di un tester ETL sono suddivise in tre categorie

  • Tavolo da palco/SFS o MFS
  • Logica di trasformazione aziendale applicata
  • Target caricamento della tabella dal file di stage o dalla tabella dopo l'applicazione di una trasformazione.

Alcune delle responsabilità di un tester ETL sono

  • Testare il software ETL
  • Testare i componenti del datawarehouse ETL
  • Esegui test basati sui dati di backend
  • Creare, progettare ed eseguire casi test, piani di prova e cablaggio di prova
  • Identificare il problema e fornire soluzioni per potenziali problemi
  • Approvare i requisiti e le specifiche di progettazione
  • Trasferimenti dati e file flat di prova
  • Scrittura di query SQL3 per vari scenari come il test di conteggio

Test delle prestazioni in ETL

Test delle prestazioni in ETL è una tecnica di test per garantire che un sistema ETL possa gestire il carico di più utenti e transazioni. L'obiettivo principale di ETL Test di Performance è ottimizzare e migliorare le prestazioni della sessione identificando ed eliminando i colli di bottiglia delle prestazioni. I database di origine e di destinazione, le mappature, le sessioni e il sistema potrebbero presentare colli di bottiglia nelle prestazioni.

Uno dei migliori strumenti utilizzati per il test/ottimizzazione delle prestazioni è Informatica.

Automazione dei test ETL

La metodologia generale del test ETL consiste nell'utilizzare lo scripting SQL o eseguire l'"eyeballing" dei dati. Questi approcci al test ETL richiedono molto tempo, sono soggetti a errori e raramente forniscono risultati completi. copertura di prova. Per accelerare, migliorare la copertura, ridurre i costi, migliorare Difetto Per quanto riguarda il rilevamento dei test ETL negli ambienti di produzione e sviluppo, l'automazione è la necessità del momento. Uno di questi strumenti è Informatica.

migliori pratiche per i test ETL

  1. Assicurati che i dati vengano trasformati correttamente
  2. Senza alcuna perdita o troncamento dei dati, i dati previsti dovrebbero essere caricati nel data warehouse
  3. Assicurarsi che l'applicazione ETL rifiuti e sostituisca adeguatamente con valori predefiniti e riporti dati non validi
  4. È necessario garantire che i dati vengano caricati nel data warehouse entro i tempi prescritti e previsti per confermare la scalabilità e le prestazioni
  5. Tutti i metodi dovrebbero avere test unitari appropriati indipendentemente dalla visibilità
  6. Per misurare la loro efficacia tutti i test unitari dovrebbero utilizzare tecniche di copertura appropriate
  7. Cercare di ottenere un'asserzione per caso di test
  8. Creare test unitari che prendono di mira le eccezioni

Check-out - Domande e risposte all'intervista sui test ETL