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 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:
- Estratto
- Estrarre i dati rilevanti
- 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.
- 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
Il test ETL viene eseguito in cinque fasi
- Identificazione delle fonti e dei requisiti dei dati
- Acquisizione dati
- Implementare logiche aziendali e modellazione dimensionale
- Costruisci e popola i dati
- Costruisci report
Tipi di test ETL
Tipi di test | Processo di test |
---|---|
Test di convalida della produzione | "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. |
Fonte a Target Test (test di convalida) | Questo tipo di test viene eseguito per verificare se i valori dei dati trasformati sono i valori dei dati attesi. |
Applicazioni Upgrades | 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. |
Test dei metadati | 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. |
Test di completezza dei dati | 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. |
Test di accuratezza dei dati | Questo test viene eseguito per garantire che i dati vengano caricati e trasformati accuratamente come previsto. |
Test di trasformazione dei dati | 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. |
Test sulla qualità dei dati | 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. |
Test ETL incrementale | 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. |
Test GUI/navigazione | 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:
- 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.
- 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
Scenario di prova | Test di Casi |
---|---|
Convalida dei documenti di mappatura | 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. |
Convalida |
|
Validazione dei vincoli | Assicurarsi che i vincoli siano definiti per la tabella specifica come previsto |
Problemi di coerenza dei dati |
|
Problemi di completezza |
|
Problemi di correttezza |
|
Trasformazione | Trasformazione |
Qualità dei dati |
|
Convalida nulla | Verificare i valori null, dove "Not Null" è specificato per una colonna specifica. |
Controllo duplicato |
|
Convalida della data | I valori della data utilizzano molte aree nello sviluppo ETL per
|
Convalida completa dei dati |
|
Pulizia dei dati | Le colonne non necessarie devono essere eliminate prima del caricamento nell'area di staging. |
Tipi di bug ETL
Tipo di bug | Descrizione |
---|---|
Bug dell'interfaccia utente/bug estetici |
|
Bug relativo all'analisi del valore limite (BVA). |
|
Bug relativo al partizionamento delle classi di equivalenza (ECP). |
|
Bug di input/output |
|
Bug di calcolo |
|
Bug delle condizioni di caricamento |
|
Bug delle condizioni di gara |
|
Bug di controllo della versione |
|
Bug hardware |
|
Aiuta a individuare i bug |
|
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
- Assicurati che i dati vengano trasformati correttamente
- Senza alcuna perdita o troncamento dei dati, i dati previsti dovrebbero essere caricati nel data warehouse
- Assicurarsi che l'applicazione ETL rifiuti e sostituisca adeguatamente con valori predefiniti e riporti dati non validi
- È necessario garantire che i dati vengano caricati nel data warehouse entro i tempi prescritti e previsti per confermare la scalabilità e le prestazioni
- Tutti i metodi dovrebbero avere test unitari appropriati indipendentemente dalla visibilità
- Per misurare la loro efficacia tutti i test unitari dovrebbero utilizzare tecniche di copertura appropriate
- Cercare di ottenere un'asserzione per caso di test
- Creare test unitari che prendono di mira le eccezioni
Check-out - Domande e risposte all'intervista sui test ETL