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:
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
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
- Test di convalida della produzione
Procedura 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. - Fonte a Target Test (test di convalida)
Procedura di Test: Questo tipo di test viene eseguito per verificare se i valori dei dati trasformati sono i valori dei dati attesi. - Applicazione Upgrades
Procedura 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. - Test dei metadati
Procedura 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. - Test di completezza dei dati
Procedura 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. - Test di accuratezza dei dati
Procedura di Test: Questo test viene eseguito per garantire che i dati vengano caricati e trasformati accuratamente come previsto. - Test di trasformazione dei dati
Procedura 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. - Test sulla qualitร dei dati
Procedura 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.
- Test ETL incrementale
Procedura 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. - Test GUI/navigazione
Procedura 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:
- 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
- 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. - 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. - 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 particolare attributo possono variare nei file o nelle tabelle, sebbene la definizione semantica sia 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 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 - 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: Trasformazione - 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 - Convalida nulla
Casi test: Verificare i valori null, dove "Not Null" รจ specificato per una colonna specifica. - 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 - Convalida della data
Casi test: I valori della data utilizzano molte aree nello sviluppo ETL per1) 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. - 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. - Pulizia dei dati
Casi test: 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 |
โข 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
- 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
- Crea test unitari che prendono di mira le eccezioni
Check-out - Domande e risposte all'intervista sui test ETL





