etl testing data warehouse testing tutorial
Processo e sfide di test ETL / Data Warehouse:
Oggi lasciami un momento per spiegare la mia confraternita di test su una delle abilità più richieste e imminenti per i miei amici tester, ovvero i test ETL (Estrai, Trasforma e Carica).
Questo tutorial ti presenterà un'idea completa sui test ETL e su cosa facciamo per testare il processo ETL.
Elenco completo dei tutorial di questa serie:
- Tutorial n. 1 : ETL Testing Data Warehouse Testing Guida introduttiva
- Tutorial n. 2 : Test ETL utilizzando Informatica PowerCenter Tool
- Tutorial n. 3 : ETL e DB Testing
- Tutorial n. 4 : Test di Business Intelligence (BI): come testare i dati aziendali
- Tutorial n. 5 : I 10 migliori strumenti di test ETL
È stato osservato che la verifica e la convalida indipendenti stanno acquisendo un enorme potenziale di mercato e molte aziende lo vedono come un potenziale guadagno di business.
Ai clienti è stata offerta una gamma di prodotti diversa in termini di offerte di servizi, distribuiti in molte aree in base a tecnologia, processo e soluzioni. ETL o data warehouse è una delle offerte che si stanno sviluppando rapidamente e con successo.
Attraverso il processo ETL, i dati vengono recuperati dai sistemi di origine, trasformati secondo le regole di business e infine caricati nel sistema di destinazione (data warehouse). Un data warehouse è un archivio a livello aziendale che contiene dati integrati che aiutano nel processo decisionale aziendale. Fa parte della business intelligence.
Cosa imparerai:
- Perché le organizzazioni hanno bisogno di Data Warehouse?
- Processo ETL
- Tecniche di test ETL
- Processo di test ETL / Data Warehouse
- Differenza tra test di database e data warehouse
- ETL Testing Challenges
- Lettura consigliata
Perché le organizzazioni hanno bisogno di Data Warehouse?
Le organizzazioni con pratiche IT organizzate non vedono l'ora di creare il prossimo livello di trasformazione tecnologica. Ora stanno cercando di rendersi molto più operativi con dati di facile interoperabilità.
Detto questo, i dati sono la parte più importante di qualsiasi organizzazione, possono essere dati quotidiani o dati storici. I dati sono la spina dorsale di qualsiasi report e i report sono la linea di base su cui vengono prese tutte le decisioni di gestione vitali.
La maggior parte delle aziende sta facendo un passo avanti nella costruzione del proprio data warehouse per archiviare e monitorare i dati in tempo reale e quelli storici. Creare un data warehouse efficiente non è un lavoro facile. Molte organizzazioni hanno dipartimenti distribuiti con diverse applicazioni in esecuzione su tecnologia distribuita.
Lo strumento ETL viene utilizzato per realizzare un'integrazione impeccabile tra diverse fonti di dati di diversi reparti. Lo strumento ETL funzionerà come un integratore, estraendo dati da diverse fonti; trasformandolo nel formato preferito in base alle regole di trasformazione aziendale e caricandolo in DB coesi noti sono Data Warehouse.
L'ambito di test ben pianificato, ben definito ed efficace garantisce una conversione fluida del progetto alla produzione. Un'azienda acquisisce il reale dinamismo una volta che i processi ETL sono verificati e convalidati da un gruppo indipendente di esperti per assicurarsi che il data warehouse sia concreto e robusto.
I test ETL o Data warehouse sono suddivisi in quattro diversi impegni indipendentemente dalla tecnologia o dagli strumenti ETL utilizzati:
- Nuovo test del data warehouse - Il nuovo DW è costruito e verificato da zero. L'input dei dati viene preso dalle esigenze del cliente e da diverse fonti di dati e il nuovo data warehouse viene costruito e verificato con l'aiuto di strumenti ETL.
- Test di migrazione - In questo tipo di progetto, il cliente avrà un DW e un ETL esistenti che eseguono il lavoro, ma stanno cercando di acquistare un nuovo strumento per migliorare l'efficienza.
- Richiesta di modifica - In questo tipo di progetto vengono aggiunti nuovi dati da diverse fonti a un DW esistente. Inoltre, potrebbe esserci una condizione in cui il cliente deve modificare la propria regola aziendale esistente o potrebbe integrare la nuova regola.
- Report test - Il report è il risultato finale di qualsiasi Data Warehouse e la proposta di base per la quale DW costruisce. Il report deve essere testato convalidando layout, dati nel report e calcolo.
Processo ETL
( Nota : Fare clic sull'immagine per ingrandirla)
Tecniche di test ETL
1) Test di trasformazione dei dati : Verificare che i dati vengano trasformati correttamente in base ai vari requisiti e regole aziendali.
2) Test di conteggio dalla sorgente al target : Assicurarsi che il conteggio dei record caricati nella destinazione corrisponda al conteggio previsto.
3) Source to Target Data Testing : Assicurarsi che tutti i dati proiettati siano caricati nel data warehouse senza alcuna perdita e troncamento dei dati.
4) Test di qualità dei dati : Assicurarsi che l'applicazione ETL rifiuti in modo appropriato, sostituisca con valori predefiniti e segnali dati non validi.
5) Test delle prestazioni : Assicurarsi che i dati vengano caricati nel data warehouse entro i tempi previsti e previsti per confermare il miglioramento delle prestazioni e della scalabilità.
c ++ riferimento non definito alla funzione di classe
6) Test di convalida della produzione: Convalida i dati nel sistema di produzione e confrontali con i dati di origine.
7) Test di integrazione dei dati : Assicurarsi che i dati provenienti da varie origini siano stati caricati correttamente nel sistema di destinazione e che tutti i valori di soglia siano controllati.
8) Test di migrazione delle applicazioni : In questo test, si garantisce che l'applicazione ETL funzioni correttamente quando si passa a una nuova scatola o piattaforma.
9) Controllo dati e vincoli : In questo caso vengono testati il tipo di dati, la lunghezza, l'indice, i vincoli e così via.
10) Controllo dati duplicati : Verifica se sono presenti dati duplicati nei sistemi di destinazione. Dati duplicati possono portare a rapporti analitici errati.
Oltre ai metodi di test ETL di cui sopra, vengono eseguiti anche altri metodi di test come il test di integrazione del sistema, il test di accettazione dell'utente, il test incrementale, il test di regressione, il test di ripetizione e il test di navigazione per assicurarsi che tutto sia fluido e affidabile.
ETL / Data Warehouse Processo di test
Analogamente a qualsiasi altro test che rientra nella verifica e convalida indipendenti, anche ETL passa attraverso la stessa fase.
- Comprensione dei requisiti
- Convalida
- Stima del test basato su una serie di tabelle, la complessità delle regole, il volume di dati e le prestazioni di un lavoro.
- Pianificazione dei test sulla base degli input provenienti dalla stima del test e dai requisiti aziendali. Dobbiamo identificare qui cosa è nell'ambito e cosa è fuori ambito. Cerchiamo anche dipendenze, rischi e piani di mitigazione in questa fase.
- Progettazione di casi di test e scenari di test da tutti gli input disponibili. Abbiamo anche bisogno di progettare documenti di mappatura e script SQL.
- Una volta che tutti i casi di test sono pronti e sono stati approvati, il team di test procede con il controllo pre-esecuzione e preparazione dei dati di prova per il test
- Infine, l'esecuzione viene eseguita fino a quando non vengono soddisfatti i criteri di uscita. Pertanto, la fase di esecuzione include l'esecuzione di lavori ETL, il monitoraggio delle esecuzioni dei lavori, l'esecuzione di script SQL, la registrazione dei difetti, il nuovo test dei difetti e il test di regressione.
- Dopo il completamento con successo, viene preparato un rapporto di riepilogo e viene eseguito il processo di chiusura. In questa fase, viene data l'autorizzazione per promuovere il lavoro o il codice alla fase successiva.
Le prime due fasi, ovvero la comprensione e la convalida dei requisiti, possono essere considerate come fasi preliminari del processo di test ETL.
Quindi, il processo principale può essere rappresentato come di seguito:
È necessario definire la strategia di test che dovrebbe essere reciprocamente accettata dagli stakeholder prima di iniziare il test effettivo. Una strategia di test ben definita garantirà che sia stato seguito l'approccio corretto soddisfacendo l'aspirazione del test.
Il test ETL / Data Warehouse potrebbe richiedere la scrittura di istruzioni SQL estesamente da parte del team di test o forse l'adattamento dell'SQL fornito dal team di sviluppo. In ogni caso, un team di test deve essere consapevole dei risultati che sta cercando di ottenere utilizzando quelle istruzioni SQL.
Differenza tra test di database e data warehouse
C'è un malinteso popolare che il test del database e data warehouse è simile mentre il fatto è che entrambi hanno direzioni diverse nei test.
- Il test del database viene eseguito utilizzando una scala più piccola di dati normalmente con il tipo di database OLTP (elaborazione delle transazioni in linea) mentre il test del data warehouse viene eseguito con grandi volumi con dati che coinvolgono database OLAP (elaborazione analitica online).
- Nei test di database normalmente i dati vengono iniettati in modo coerente da fonti uniformi mentre nei test di data warehouse la maggior parte dei dati proviene da diversi tipi di origini dati che sono sequenzialmente incoerenti.
- Generalmente eseguiamo l'unica operazione CRUD (Crea, leggi, aggiorna ed elimina) nei test del database mentre nei test del data warehouse utilizziamo l'operazione di sola lettura (Seleziona).
- I database normalizzati vengono utilizzati nei test del database mentre i database demoralizzati vengono utilizzati nei test del data warehouse.
Esistono numerose verifiche universali che devono essere eseguite per qualsiasi tipo di test del data warehouse.
Di seguito è riportato l'elenco degli oggetti considerati essenziali per la convalida in questo test:
- Verificare che la trasformazione dei dati dall'origine alla destinazione funzioni come previsto
- Verificare che i dati previsti vengano aggiunti al sistema di destinazione
- Verificare che tutti i campi DB e i dati dei campi vengano caricati senza alcun troncamento
- Verificare il checksum dei dati per la corrispondenza del conteggio dei record
- Verificare che per i dati rifiutati vengano generati log degli errori corretti con tutti i dettagli
- Verifica i campi del valore NULL
- Verificare che i dati duplicati non vengano caricati
- Verifica l'integrità dei dati
=> Conosci il differenza tra test ETL / data warehouse e test di database .
ETL Testing Challenges
Questo test è molto diverso dai test convenzionali. Ci sono molte sfide che abbiamo dovuto affrontare durante l'esecuzione dei test del data warehouse.
Ecco alcune sfide che ho vissuto nel mio progetto:
- Dati incompatibili e duplicati
- Perdita di dati durante il processo ETL
- Indisponibilità del testbed inclusivo
- I tester non hanno i privilegi per eseguire i lavori ETL da soli
- Il volume e la complessità dei dati sono enormi
- Difetto nel processo e nelle procedure aziendali
- Problemi durante l'acquisizione e la creazione di dati di test
- Ambiente di test instabile
- Informazioni sul flusso aziendale mancanti
I dati sono importanti per le aziende per prendere le decisioni aziendali critiche. I test ETL svolgono un ruolo significativo nel convalidare e garantire che le informazioni aziendali siano esatte, coerenti e affidabili. Inoltre, riduce al minimo il rischio di perdita di dati in produzione.
Spero che questi suggerimenti ti aiuteranno a garantire che il tuo processo ETL sia accurato e che il data warehouse costruito da questo sia un vantaggio competitivo per la tua azienda.
Elenco completo dei tutorial sul test ETL:
- Tutorial n. 1 : ETL Testing Data Warehouse Testing Guida introduttiva
- Tutorial n. 2 : Test ETL utilizzando Informatica PowerCenter Tool
- Tutorial n. 3 : ETL e DB Testing
- Tutorial n. 4 : Test di Business Intelligence (BI): come testare i dati aziendali
- Tutorial n. 5 : I 10 migliori strumenti di test ETL
Questo è un guest post di Vishal Chhaperia che sta lavorando in una MNC in un ruolo di gestione dei test. Ha una vasta esperienza nella gestione di progetti, processi e team di QA multi-tecnologia.
Hai lavorato ai test ETL? Si prega di condividere i suggerimenti e le sfide per i test ETL / DW di seguito.
Lettura consigliata
- Alpha test e beta test (una guida completa)
- ETL Testing Interview Domande e risposte
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- I 10 migliori strumenti di test ETL nel 2021
- Guida completa al test di verifica della costruzione (test BVT)
- Test funzionale vs test non funzionale
- I 4 passaggi per i test di Business Intelligence (BI): come testare i dati aziendali
- Download dell'eBook Testing Primer