Tutorial sul test ETL
โก Riepilogo intelligente
Il test ETL convalida il flusso dei dati dai sistemi di origine, attraverso la logica di trasformazione, fino al data warehouse di destinazione, confermandone accuratezza, completezza e affidabilitร . Questa risorsa illustra le fasi del processo, le tipologie di test, le categorie di bug piรน comuni, gli approcci di automazione e le migliori pratiche di cui hanno bisogno i tester principianti e intermedi.

Che cos'รจ ETL?
ETL sta per Extract-Transform-Loade descrive come i dati si spostano da un sistema sorgente a un data warehouse. I dati sono extracI 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 integrano anche dati provenienti da sistemi non OLTP, come file di testo, applicazioni legacy e fogli di calcolo.
Ad esempio, un negozio al dettaglio puรฒ avere reparti separati come vendite, marketing e logistica. Ogni reparto gestisce le informazioni sui clienti in modo indipendente e il modo in cui ciascuno memorizza tali dati รจ diverso. Il reparto vendite potrebbe memorizzare i dati per nome del cliente, mentre il reparto marketing potrebbe utilizzare l'ID del cliente.
Se i team aziendali vogliono esaminare la cronologia completa degli acquisti di un cliente attraverso diverse campagne di marketing, i dati disconnessi rendono questo processo molto tedioso. La soluzione รจ utilizzare un magazzino dati Per archiviare informazioni provenienti da fonti diverse in una struttura uniforme, si utilizza l'ETL. L'ETL รจ in grado di trasformare set di dati eterogenei in una struttura unificata, consentendo cosรฌ agli strumenti di Business Intelligence (BI) di ricavare successivamente informazioni e report significativi.
Il seguente diagramma mostra il flusso del processo di test ETL e i concetti chiave che utilizzerete in questa guida:
1) Es.tract
- Extracdati rilevanti provenienti da uno o piรน sistemi sorgente.
2) Trasformare
- Trasformare i dati nel formato DW (Data Warehouse).
- Chiavi di costruzione: una chiave รจ uno o piรน attributi di dati che identificano in modo univoco un'entitร . Vari tipi di chiavi Si tratta di chiave primaria, chiave alternativa, chiave esterna, chiave composta e chiave surrogata. Il data warehouse รจ proprietario di queste chiavi e non consente mai a nessun'altra entitร di assegnarle.
- Pulizia dei dati: dopo che i dati sono stati estrattitracA questo punto, il sistema passa alla fase successiva di pulizia e adeguamento. La pulizia corregge le omissioni e identifica gli errori. L'adeguamento risolve i conflitti tra set di dati incompatibili, consentendone l'utilizzo in un data warehouse aziendale. Il sistema crea inoltre metadati che aiutano a diagnosticare i problemi del sistema di origine e a migliorare la qualitร dei dati.
3) Caricare
- Caricare i dati nel DW (Data Warehouse).
- Costruisci aggregati: un aggregato riassume e memorizza i dati da un tabella dei fatti per migliorare le prestazioni delle query degli utenti finali.
Cos'รจ il test ETL?
Il test ETL viene eseguito per garantire che i dati caricati da una sorgente a una destinazione, dopo la trasformazione aziendale, siano accurati. Comprende anche la verifica dei dati nelle varie fasi intermedie tra sorgente e destinazione. Poichรฉ ETL sta per Extract-Transform-Load, ETL Testing copre ciascuna di queste tre fasi e i punti in cui i dati passano da una all'altra.
Perchรฉ i test ETL sono importanti?
Una volta compreso cosa sia il test ETL, la domanda successiva รจ perchรฉ le organizzazioni investano cosรฌ tanto impegno in questo ambito. Le decisioni aziendali si basano su dati corretti, completi e affidabili, pertanto un singolo errore di trasformazione puรฒ avere ripercussioni a catena sui report finanziari, sull'analisi dei clienti e sulle informative normative.
I seguenti punti illustrano il valore pratico di un test ETL efficace:
- Accuratezza dei dati: Conferma che i valori trasformati dalle regole aziendali corrispondono alla mappa documentataping specifiche, prevenendo la corruzione silenziosa.
- Segnalazioni affidabili: Dashboard e strumenti di Business Intelligence dipendono dal data warehouse, pertanto pipeline ETL verificate proteggono ogni report e KPI a valle.
- Conformitร normativa: Settori come quello bancario, sanitario e assicurativo devono dimostrare che la tracciabilitร e l'integritร dei dati siano preservate dall'inizio alla fine.
- Rielaborazione ridotta: Individuare i difetti negli ambienti di test inferiori evita costosi riavvii della produzione, riconciliazioni manuali ed errori che potrebbero ripercuotersi negativamente sui clienti.
- Garanzia di prestazione: I test ETL misurano le finestre di carico, la velocitร di elaborazione e i colli di bottiglia, in modo che il data warehouse possa scalare in base all'aumento del volume dei dati.
Chiarite queste motivazioni, la sezione successiva illustra il processo strutturato che i tester ETL seguono nei progetti reali.
Dataddo รจ una piattaforma di integrazione dati completamente gestita e senza codice che semplifica la connessione di app cloud, dashboard e data warehouse. Questa piattaforma ETL dispone di connettori personalizzati che possono essere creati in 10 giorni lavorativi. Lo strumento supporta ETL inverso, replica del database e funzionalitร ETL tradizionali.
Processo di test ETL
Analogamente ad altri processi di test, anche l'ETL si articola in diverse fasi. Le 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 la logica aziendale e la modellazione dimensionale
- Costruisci e popola i dati
- Costruisci report
Tenendo presente il processo generale, analizziamo ora le tipologie di test specifiche che rientrano in questo ciclo di vita.
Tipi di test ETL
- Test di convalida della produzione
Procedura di Test: Questo tipo di test ETL, chiamato anche "bilanciamento delle tabelle" o "riconciliazione di produzione", viene eseguito sui dati durante il loro passaggio nei sistemi di produzione. Per supportare le decisioni aziendali, i dati di produzione devono essere nell'ordine corretto. Informatica L'opzione di convalida dei dati offre funzionalitร di automazione e gestione dei test ETL, in modo che i sistemi di produzione non vengano compromessi da dati errati. - Fonte a Target Test (test di convalida)
Procedura di Test: Questo tipo di test verifica se i valori dei dati trasformati corrispondono ai valori target previsti. - Applicazione Upgrades
Procedura di Test: Questo tipo di test ETL puรฒ essere generato automaticamente, risparmiando tempo considerevole nello sviluppo dei test. Verifica se i dati espressitraci dati provenienti da un'applicazione o un repository precedente corrispondono ai dati presenti in una nuova applicazione o repository. - Test dei metadati
Procedura di Test: Il test dei metadati include verifiche del tipo di dati, della lunghezza dei dati e degli indici o dei vincoli. - Test di completezza dei dati
Procedura di Test: Il test di completezza dei dati verifica che tutti i dati previsti siano stati caricati dalla sorgente alla destinazione. I test piรน comuni includono il confronto e la convalida del numero di record, delle aggregazioni e dei dati effettivi tra le colonne di origine e di destinazione, quando la trasformazione รจ semplice o assente. - Test di accuratezza dei dati
Procedura di Test: Questi test garantiscono che i dati vengano caricati e trasformati correttamente, come previsto. - Test di trasformazione dei dati
Procedura di Test: La trasformazione dei dati di test spesso non puรฒ essere realizzata con un'unica fonte SQL query e confronto dei risultati. Potrebbero essere necessarie piรน query SQL per ogni riga per verificare le regole di trasformazione. - Test sulla qualitร dei dati
Procedura di Test:I test di qualitร dei dati includono test di sintassi e test di riferimento. Prevengono errori nei processi aziendali causati da date o numeri d'ordine errati.
I test di sintassi segnalano dati non corretti in base a caratteri non validi, modelli di caratteri e ordine errato di maiuscole e minuscole.
I test di riferimento verificano la corrispondenza tra i dati e il modello dati. Ad esempio: ID cliente.
Il controllo della qualitร dei dati comprende anche verifiche numeriche, verifiche delle date, verifiche di precisione, verifiche dei dati e verifiche dei valori nulli.
- Test ETL incrementale
Procedura di Test: Questo test verifica l'integritร dei dati, sia vecchi che nuovi, con l'aggiunta di questi ultimi. Il test incrementale verifica che gli inserimenti e gli aggiornamenti vengano elaborati come previsto durante il processo ETL incrementale. - Test GUI/navigazione
Procedura di Test: Questo test verifica gli aspetti di navigazione e dell'interfaccia grafica dei report front-end.
Come creare un caso di test ETL
Il testing ETL รจ un concetto applicabile a diversi strumenti e database nel settore della gestione delle informazioni. L'obiettivo del test ETL รจ garantire che i dati caricati da una sorgente a una destinazione dopo la trasformazione aziendale siano accurati. Comprende inoltre la verifica dei dati nelle varie fasi intermedie tra la fonte e la destinazione.
Durante l'esecuzione dei test ETL, un tester ETL utilizza sempre due documenti:
- Mappatura ETLping fogli: Una mappa ETLping Il foglio contiene tutte le informazioni delle tabelle di origine e di destinazione, inclusa ogni colonna e la sua ricerca nelle tabelle di riferimento. I tester ETL devono avere familiaritร con le query SQL perchรฉ il test ETL puรฒ comportare la scrittura di query complesse con join multipli per convalidare i dati in qualsiasi fase. Mappa ETLping I fogli di calcolo forniscono un aiuto significativo durante la scrittura di query per la verifica dei dati.
- Schema del database di origine e di destinazione: ร consigliabile tenerla a portata di mano per verificare qualsiasi dettaglio sulla mappa.ping fogli.
Scenari di test ETL e casi di test
- Mappaping convalida del documento
Casi test: Verificare se le informazioni ETL corrispondenti sono fornite nella mappaping doc. In ogni mappa dovrebbe essere mantenuto un registro delle modificheping doc. - Convalida
Casi test:1) Convalidare la struttura della tabella di origine e di destinazione rispetto alla mappa corrispondenteping doc.
2) Il tipo di dati di origine e il tipo di dati di destinazione devono essere uguali.
3) La lunghezza dei tipi di dati sia nell'origine che nella destinazione deve essere uguale.
4) Verificare che siano specificati i tipi e i formati dei campi dati.
5) La lunghezza del tipo di dati di origine non deve essere inferiore alla lunghezza del tipo di dati di destinazione.
6) Convalidare i nomi delle colonne nella tabella rispetto alla mappaping doc. - Validazione dei vincoli
Casi test: Assicurarsi che i vincoli siano definiti per la tabella specifica come previsto. - Problemi di coerenza dei dati
Casi test:1) Il tipo di dati e la lunghezza di un determinato attributo possono variare tra file o tabelle, anche quando la definizione semantica รจ la stessa.
2) Uso improprio dei vincoli di integritร . - 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 siano troncati nelle colonne delle tabelle di destinazione.
5) Verificare l'analisi dei valori al contorno.
6) Confrontare i valori univoci dei campi chiave tra i dati caricati nel data warehouse e i dati di origine. - Problemi di correttezza
Casi test:1) Dati scritti in modo errato o registrati in modo impreciso.
2) Dati nulli, non univoci o fuori intervallo. - Trasformazione
Casi test: Convalidare che ogni regola aziendale e logica di trasformazione nella mappaping Il documento viene applicato correttamente ai dati di origine prima che questi raggiungano la destinazione. - Qualitร dei dati
Casi test:1) Verifica numerica: convalidare i formati e i valori numerici.
2) Verifica della data: le date devono seguire un formato unico ed essere coerenti in tutti i record.
3) Controllo di precisione.
4) Verifica dei dati.
5) Controllo nullo. - Convalida nulla
Casi test: Verificare i valori nulli laddove รจ specificato "Non nullo" per una determinata colonna. - Controllo duplicato
Casi test:1) Convalidare la chiave univoca, la chiave primaria e qualsiasi altra colonna che debba essere univoca in base ai requisiti aziendali per confermare che non vi siano righe duplicate.
2) Verificare se esistono valori duplicati in qualsiasi colonna, ad esempiotracdati provenienti da piรน colonne sorgente e combinati in un'unica colonna.
3) In base alle esigenze del cliente, assicurarsi che non vi siano duplicati in combinazioni di piรน colonne all'interno della tabella di destinazione. - Convalida della data
Casi test: I valori di data vengono utilizzati in molti ambiti dello sviluppo ETL:1) Per conoscere la data di creazione della riga.
2) Identificare i record attivi dal punto di vista dello sviluppo ETL.
3) Identificare i record attivi dal punto di vista dei requisiti aziendali.
4) Talvolta, in base ai valori delle date, vengono generati aggiornamenti e inserimenti. - Convalida completa dei dati
Casi test:1) Convalidare l'intero set di dati nelle tabelle di origine e di destinazione utilizzando una query di sottrazione come soluzione ottimale.
2) ร necessario eseguire la sottrazione tra origine e destinazione e la sottrazione tra destinazione e origine.
3) Se la query con il segno meno restituisce un valore, quelle righe devono essere considerate non corrispondenti.
4) Confronta le righe tra origine e destinazione utilizzando un'istruzione intersect.
5) Il conteggio restituito da intersect deve corrispondere ai conteggi individuali delle tabelle di origine e di destinazione.
6) Se una query con operatore meno restituisce righe e il conteggio dell'intersezione รจ inferiore al conteggio di origine o di destinazione, esistono righe duplicate. - Pulizia dei dati
Casi test: Le colonne non necessarie devono essere eliminate prima del caricamento nell'area di staging.
Tipi di bug ETL
Anche con casi di test rigorosi, le pipeline ETL possono fallire in diversi modi. L'immagine seguente riassume le categorie di bug a cui prestare attenzione, mentre la tabella successiva descrive ciascuna di esse.
| 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 l'utilizzo da parte di 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 โข 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 |
Test del data warehouse
Test del data warehouse Il test del data warehouse รจ un metodo di verifica in cui i dati all'interno di un data warehouse vengono testati per integritร , affidabilitร , accuratezza e coerenza, al fine di garantire la conformitร con il framework dati aziendale. Lo scopo principale del test del data warehouse รจ assicurare che i dati integrati al suo interno siano sufficientemente affidabili da consentire all'azienda di prendere decisioni informate. Mentre il test ETL si concentra sul trasferimento dei dati, il test del data warehouse copre il livello piรน ampio di archiviazione e reporting, a cui l'ETL in definitiva dร origine.
Differenza tra test del database e test ETL
Sebbene entrambe le discipline lavorino con dati strutturati, rispondono a domande diverse. La tabella seguente evidenzia il contrasto pratico:
| Test ETL | Test della base di dati |
|---|---|
| Verifica che i dati siano stati trasferiti come previsto. | L'obiettivo principale รจ verificare se i dati rispettano le regole e gli standard definiti nel modello dati. |
| Verifica che i conteggi nella sorgente e nella destinazione corrispondano e che i dati trasformati siano conformi alle aspettative. | Verifica che non vi siano record orfani e che le relazioni tra chiavi primarie e straniere siano mantenute. |
| Verifica che le relazioni di chiave primaria esterna vengano preservate durante il processo ETL. | Verifica che non vi siano tabelle ridondanti e che il database sia normalizzato in modo ottimale. |
| Verifica la presenza di duplicati nei dati caricati. | Verifica se mancano dati nelle colonne in cui sono richiesti. |
Test delle prestazioni in ETL
Test delle prestazioni in ETL รจ una tecnica di test che garantisce che un sistema ETL possa gestire il carico di piรน utenti e transazioni. L'obiettivo principale dell'ETL Test di Performance รจ quello di ottimizzare e migliorare le prestazioni della sessione identificando ed eliminando i colli di bottiglia delle prestazioni. I database di origine e di destinazione, mappanopingLe sessioni, i processi e il sistema stesso possono tutti contenere colli di bottiglia.
Uno dei migliori strumenti per il test e l'ottimizzazione delle prestazioni รจ Informatica.
Responsabilitร di un tester ETL
Le principali responsabilitร di un tester ETL sono suddivise in tre categorie:
- Tavolo da palcoscenico / SFS o MFS
- Logica di trasformazione aziendale applicata
- Target caricamento della tabella dal file di staging o dalla tabella dopo l'applicazione di una trasformazione
Alcune delle responsabilitร quotidiane di un tester ETL sono:
- Testare il software ETL
- Componenti di test del data warehouse ETL
- Eseguire test basati sui dati del backend
- Creare, progettare ed eseguire casi testpiani di test e banchi di prova
- Individuare i problemi e fornire soluzioni per le potenziali criticitร
- Approvare i requisiti e le specifiche di progettazione
- Convalida i trasferimenti di dati e testa i file flat
- Scrivi query SQL per vari scenari come test di conteggio
Automazione dei test ETL
La metodologia generale per il test ETL consiste nell'utilizzare script SQL o un'analisi visiva dei dati. Questi approcci richiedono molto tempo, sono soggetti a errori e raramente forniscono risultati completi. copertura di prova. Per accelerare l'esecuzione, migliorare la copertura, ridurre i costi e migliorare difetto Per il rilevamento dei problemi negli ambienti di produzione e sviluppo, l'automazione รจ fondamentale. Uno strumento in tal senso รจ Informatica.
I team moderni combinano l'automazione tradizionale con strumenti di supporto basati sull'intelligenza artificiale che suggeriscono test di trasformazione, generano dati sorgente sintetici e segnalano le deviazioni dallo schema, consentendo ai tester di concentrarsi sulla logica aziendale complessa anzichรฉ sulla manutenzione ripetitiva degli script.
migliori pratiche per i test ETL
- Assicurarsi che i dati siano trasformati correttamente.
- Senza alcuna perdita o troncamento di dati, i dati previsti devono essere caricati nel data warehouse.
- Assicurarsi che l'applicazione ETL rifiuti correttamente i dati non validi, li sostituisca con valori predefiniti ove applicabile e li segnali.
- Verificare che i dati vengano caricati nel data warehouse entro i tempi previsti e stabiliti, al fine di convalidare la scalabilitร e le prestazioni.
- Tutti i metodi dovrebbero avere test unitari appropriati, indipendentemente dalla loro visibilitร .
- Per misurarne l'efficacia, tutti i test unitari dovrebbero utilizzare tecniche di copertura appropriate.
- Cerca di avere una sola asserzione per ogni caso di test.
- Crea test unitari che prendono di mira le eccezioni.
Check-out - Domande e risposte all'intervista sui test ETL





