Tutorial de testare ETL
Ce este testarea ETL?
Testarea ETL este efectuatฤ pentru a se asigura cฤ datele care au fost รฎncฤrcate de la o sursฤ la destinaศie dupฤ transformarea afacerii sunt exacte. De asemenea, implicฤ verificarea datelor รฎn diferite etape intermediare care sunt utilizate รฎntre sursฤ ศi destinaศie. ETL รฎnseamnฤ Extract-Transform-Load.
Testarea depozitului de date
Testarea depozitului de date este o metodฤ de testare รฎn care datele din interiorul unui depozit de date sunt testate pentru integritate, fiabilitate, acurateศe ศi coerenศฤ pentru a se conforma cadrului de date al companiei. Scopul principal al testฤrii depozitului de date este de a se asigura cฤ datele integrate din interiorul depozitului de date sunt suficient de fiabile pentru ca o companie sฤ ia decizii.
Ce este ETL?
ETL รฎnseamnฤ Extract-Transform-Load ศi este un proces de รฎncฤrcare a datelor de la sistemul sursฤ รฎn depozitul de date. Datele sunt extrase dintr-o bazฤ de date OLTP, transformate pentru a se potrivi cu schema depozitului de date ศi รฎncฤrcate รฎn baza de date a depozitului de date. Multe depozite de date รฎncorporeazฤ ศi date din sisteme non-OLTP, cum ar fi fiศiere text, sisteme vechi ศi foi de calcul.
Sฤ vedem cum funcศioneazฤ
De exemplu, existฤ un magazin de vรขnzare cu amฤnuntul care are diferite departamente, cum ar fi vรขnzฤri, marketing, logisticฤ etc. Fiecare dintre ele gestioneazฤ informaศiile despre clienศi รฎn mod independent, iar modul รฎn care stocheazฤ aceste date este destul de diferit. Departamentul de vรขnzฤri l-a stocat dupฤ numele clientului, รฎn timp ce departamentul de marketing dupฤ id-ul clientului.
Acum, dacฤ doresc sฤ verifice istoricul clientului ศi doresc sฤ ศtie care sunt diferitele produse pe care le-a cumpฤrat รฎn urma diferitelor campanii de marketing; ar fi foarte plictisitor.
Soluศia este sฤ folosiศi a Datawarehouse pentru a stoca informaศii din diferite surse รฎntr-o structurฤ uniformฤ folosind ETL. ETL poate transforma seturi de date diferite รฎntr-o structurฤ unificatฤ.Later utilizaศi instrumente BI pentru a obศine informaศii ศi rapoarte semnificative din aceste date.
Urmฤtoarea diagramฤ din acest tutorial de testare ETL vฤ oferฤ FOARTEA DE ROAD a fluxului procesului de testare ETL ศi diferite concepte de testare ETL:
1) Extras
- Extrageศi datele relevante
2) Transformฤ
- Transformaศi datele รฎn format DW (Data Warehouse).
- Build keys โ O cheie este unul sau mai multe atribute de date care identificฤ รฎn mod unic o entitate. Variat tipuri de chei sunt cheie primarฤ, cheie alternativฤ, cheie strฤinฤ, cheie compusฤ, cheie surogat. Depozitul de date deศine aceste chei ศi nu permite niciodatฤ altei entitฤศi sฤ le atribuie.
- Curฤศarea datelor: Dupฤ extragerea datelor, se va trece la urmฤtoarea fazฤ, de curฤศare ศi conformare a datelor. Curฤศarea face omiterea datelor, precum ศi identificarea ศi remedierea erorilor. Conformarea รฎnseamnฤ rezolvarea conflictelor dintre acele date care sunt incompatibile, astfel รฎncรขt acestea sฤ poatฤ fi utilizate รฎntr-un depozit de date al รฎntreprinderii. รn plus faศฤ de acestea, acest sistem creeazฤ metadate care sunt folosite pentru a diagnostica problemele sistemului sursฤ ศi pentru a รฎmbunฤtฤศi calitatea datelor.
3) รncฤrcare
- รncฤrcaศi datele รฎn DW (Data Warehouse)
- Creaศi agregate โ Crearea unui agregat รฎnseamnฤ rezumarea ศi stocarea datelor disponibile รฎn tabel de fapte pentru a รฎmbunฤtฤศi performanศa interogฤrilor utilizatorilor finali.
Procesul de testare ETL
Similar cu alte procese de testare, ETL trece, de asemenea, prin diferite faze. Diferitele faze ale procesului de testare ETL sunt dupฤ cum urmeazฤ
Testarea ETL este efectuatฤ รฎn cinci etape
- Identificarea surselor de date ศi a cerinศelor
- De achiziศie de date
- Implementaศi logici de afaceri ศi modelare dimensionalฤ
- Creaศi ศi completaศi datele
- Creaศi rapoarte
Tipuri de testare ETL
- Testarea de validare a producศiei
Procesul de testare: โEchilibrarea tabeluluiโ sau โreconcilierea producศieiโ acest tip de testare ETL se face pe date pe mฤsurฤ ce sunt mutate รฎn sistemele de producศie. Pentru a vฤ sprijini decizia de afaceri, datele din sistemele dumneavoastrฤ de producศie trebuie sฤ fie รฎn ordinea corectฤ. Informaticฤ Opศiunea de validare a datelor oferฤ capabilitฤศi de automatizare ศi gestionare a testฤrii ETL pentru a se asigura cฤ sistemele de producศie nu sunt compromise de date. - Sursa cฤtre Target Testare (testare de validare)
Procesul de testare: Un astfel de tip de testare este efectuat pentru a valida dacฤ valorile datelor transformate sunt valorile datelor aศteptate. - Aplicatii Upgrades
Procesul de testare: Un astfel de tip de testare ETL poate fi generat automat, economisind timp substanศial de dezvoltare a testelor. Acest tip de testare verificฤ dacฤ datele extrase dintr-o aplicaศie sau un depozit mai vechi sunt exact aceleaศi cu datele dintr-un depozit sau dintr-o aplicaศie nouฤ. - Testarea metadatelor
Procesul de testare: Testarea metadatelor include testarea verificฤrii tipului de date, verificarea lungimii datelor ศi verificarea indexului/constrรขngerii. - Testarea completitฤศii datelor
Procesul de testare: Pentru a verifica dacฤ toate datele aศteptate sunt รฎncฤrcate รฎn ศintฤ de la sursฤ, se face testarea completitฤศii datelor. Unele dintre testele care pot fi executate sunt compararea ศi validarea numฤrฤrilor, agregatelor ศi datelor reale รฎntre sursฤ ศi ศintฤ pentru coloanele cu transformare simplฤ sau fฤrฤ transformare. - Testarea acurateศei datelor
Procesul de testare: Aceastฤ testare este efectuatฤ pentru a se asigura cฤ datele sunt รฎncฤrcate ศi transformate cu acurateศe conform aศteptฤrilor. - Testarea transformฤrii datelor
Procesul de testare: Testarea transformฤrii datelor se face, deoarece รฎn multe cazuri nu se poate realiza prin scrierea unei singure surse SQL interogaศi ศi comparaศi rezultatul cu ศinta. Este posibil sฤ fie necesare mai multe interogฤri SQL pentru fiecare rรขnd pentru a verifica regulile de transformare. - Testarea calitฤศii datelor
Procesul de testare:Testele de calitate a datelor includ teste de sintaxฤ ศi teste de referinศฤ. Pentru a evita orice eroare datoratฤ datei sau numฤrului de comandฤ รฎn timpul procesului de afaceri, se efectueazฤ testarea calitฤศii datelor.
Teste de sintaxฤ: va raporta date murdare, bazate pe caractere nevalide, modelul caracterelor, ordinea incorectฤ a majusculelor sau minusculelor etc.
Teste de referinศฤ: va verifica datele conform modelului de date. De exemplu: ID client
Testarea calitฤศii datelor include verificarea numฤrului, verificarea datei, verificarea preciziei, verificarea datelor, verificarea nulฤ etc.
- Testare ETL incrementalฤ
Procesul de testare: Aceastฤ testare este efectuatฤ pentru a verifica integritatea datelor vechi ศi noi, cu adฤugarea de date noi. Testarea incrementalฤ verificฤ dacฤ inserฤrile ศi actualizฤrile sunt procesate conform aศteptฤrilor รฎn timpul procesului ETL incremental. - Testarea GUI/Navigaศie
Procesul de testare: Aceastฤ testare este efectuatฤ pentru a verifica aspectele de navigare sau GUI ale rapoartelor frontale.
Cum se creeazฤ un caz de testare ETL
Testarea ETL este un concept care poate fi aplicat la diferite instrumente ศi baze de date din industria de management al informaศiilor. Obiectivul testฤrii ETL este sฤ se asigure cฤ datele care au fost รฎncฤrcate de la o sursฤ la destinaศie dupฤ transformarea afacerii sunt exacte. De asemenea, implicฤ verificarea datelor รฎn diferite etape intermediare care sunt utilizate รฎntre sursฤ ศi destinaศie.
รn timpul efectuฤrii testฤrii ETL, douฤ documente care vor fi รฎntotdeauna folosite de un tester ETL sunt
- Foi de cartografiere ETL:Fiศele de mapare ETL conศin toate informaศiile din tabelele sursฤ ศi destinaศie, inclusiv fiecare coloanฤ ศi cฤutarea lor รฎn tabelele de referinศฤ. Un testator ETL trebuie sฤ fie confortabil cu interogฤrile SQL, deoarece testarea ETL poate implica scrierea de interogฤri mari cu mai multe รฎmbinฤri pentru a valida datele รฎn orice etapฤ a ETL. Fiศele de cartografiere ETL oferฤ un ajutor semnificativ รฎn timpul scrierii interogฤrilor pentru verificarea datelor.
- Schema sursei DB, Target: Ar trebui sฤ fie la รฎndemรขnฤ pentru a verifica orice detaliu din foile de cartografiere.
Scenarii de testare ETL ศi cazuri de testare
- Validarea documentului de cartografiere
Cazuri de testare: Verificaศi documentul de cartografiere dacฤ sunt furnizate sau nu informaศiile ETL corespunzฤtoare. Jurnalul de modificฤri ar trebui sฤ fie pฤstrat รฎn fiecare document de cartografiere. - Validare
Cazuri de testare:1) Validaศi structura tabelelor sursฤ ศi ศintฤ รฎn raport cu documentul de mapare corespunzฤtor.
2) Tipul de date sursฤ ศi tipul de date ศintฤ trebuie sฤ fie aceleaศi
3) Lungimea tipurilor de date atรขt รฎn sursฤ, cรขt ศi รฎn destinaศie trebuie sฤ fie egalฤ
4) Verificaศi dacฤ tipurile ศi formatele cรขmpurilor de date sunt specificate
5) Lungimea tipului de date sursฤ nu trebuie sฤ fie mai micฤ decรขt lungimea tipului de date ศintฤ
6) Validaศi numele coloanelor din tabel รฎn raport cu documentul de mapare. - Validarea constrรขngerii
Cazuri de testare: Asiguraศi-vฤ cฤ constrรขngerile sunt definite pentru un tabel specific, aศa cum era de aศteptat - Probleme de coerenศฤ a datelor
Cazuri de testare:1) Tipul de date ศi lungimea pentru un anumit atribut pot varia รฎn fiศiere sau tabele, deศi definiศia semanticฤ este aceeaศi.
2) Utilizarea abuzivฤ a constrรขngerilor de integritate - Probleme de completitudine
Cazuri de testare:1) Asiguraศi-vฤ cฤ toate datele aศteptate sunt รฎncฤrcate รฎn tabelul ศintฤ.
2) Comparaศi numฤrul de รฎnregistrฤri รฎntre sursฤ ศi destinaศie.
3) Verificaศi dacฤ existฤ รฎnregistrฤri respinse
4) Verificaศi dacฤ datele nu trebuie trunchiate รฎn coloana tabelelor ศintฤ
5) Verificaศi analiza valorilor limitฤ
6) Comparฤ valorile unice ale cรขmpurilor cheie dintre datele รฎncฤrcate รฎn WH ศi datele sursฤ - Probleme de corectitudine
Cazuri de testare:1) Date scrise greศit sau รฎnregistrate inexact
2) Date nule, neunice sau รฎn afara intervalului - Transformare
Cazuri de testare: Transformare - Calitatea datelor
Cazuri de testare:1) Verificarea numฤrului: Este necesarฤ verificarea ศi validarea numฤrului
2) Verificarea datei: Trebuie sฤ respecte formatul datei ศi acesta ar trebui sฤ fie acelaศi รฎn toate รฎnregistrฤrile
3) Verificare precizie
4) Verificarea datelor
5) Verificare nulฤ - Validare nulฤ
Cazuri de testare: Verificaศi valorile nule, unde โNu este nulโ specificat pentru o anumitฤ coloanฤ. - Cec duplicat
Cazuri de testare:1) Trebuie sฤ se valideze cheia unicฤ, cheia primarฤ ศi orice altฤ coloanฤ trebuie sฤ fie unicฤ, conform cerinศelor afacerii, รฎn cazul existenศei unor rรขnduri duplicate.
2) Verificaศi dacฤ existฤ valori duplicate รฎn orice coloanฤ care extrage din mai multe coloane din sursฤ ศi combinฤ รฎntr-o singurฤ coloanฤ
3) Conform cerinศelor clientului, trebuie sฤ se asigure cฤ nu existฤ duplicate รฎn combinarea mai multor coloane doar รฎn cadrul ศintei. - Validarea datei
Cazuri de testare: Valorile date folosesc multe domenii รฎn dezvoltarea ETL pentru1) Pentru a cunoaศte data creฤrii rรขndului
2) Identificaศi รฎnregistrฤrile active conform perspectivei de dezvoltare ETL
3) Identificaศi รฎnregistrฤrile active conform perspectivei cerinศelor afacerii
4) Uneori, actualizฤrile ศi inserฤrile sunt generate pe baza valorilor datei. - Validarea completฤ a datelor
Cazuri de testare:1) Pentru a valida setul complet de date din tabelele sursฤ ศi ศintฤ, minus o interogare, รฎntr-o soluศie optimฤ
2) Trebuie sฤ facem sursa minus ศinta ศi ศinta minus sursa
3) Dacฤ interogarea cu minus returneazฤ orice valoare, aceasta ar trebui consideratฤ ca rรขnduri nepotrivite
4) Necesitฤ potrivirea rรขndurilor dintre sursฤ ศi ศintฤ folosind instrucศiunea intersect
5) Numฤrul returnat de intersect ar trebui sฤ corespundฤ cu numฤrฤtorile individuale ale tabelelor sursฤ ศi destinaศie
6) Dacฤ valoarea returnatฤ de interogare pentru rรขnduri ศi numฤrul de intersecศii este mai micฤ decรขt numฤrul de rรขnduri sursฤ sau tabelul ศintฤ, atunci putem considera cฤ existฤ rรขnduri duplicate. - Curฤศarea datelor
Cazuri de testare: Coloanele inutile trebuie ศterse รฎnainte de a fi รฎncฤrcate รฎn zona de ศedinศฤ.
Tipuri de erori ETL
| Tip de bug-uri | Descriere |
|---|---|
| Erori ale interfeศei cu utilizatorul / erori cosmetice |
โข Legat de interfaศa graficฤ a aplicaศiei โข Stilul fontului, dimensiunea fontului, culorile, alinierea, greศelile de ortografie, navigarea ศi aศa mai departe |
| Eroare legatฤ de Analiza valorii limitฤ (BVA). | โข Valori minime ศi maxime |
| Eroare legatฤ de Equivalence Class Partitioning (ECP). | โข Tip valid ศi invalid |
| Erori de intrare/ieศire |
โข Valorile valide nu sunt acceptate โข Valori nevalide acceptate |
| Erori de calcul |
โข Erori matematice โข Rezultatul final este greศit |
| Erori de stare de รฎncฤrcare |
โข Nu permite mai mulศi utilizatori โข Nu permite รฎncฤrcarea aศteptatฤ de client |
| Bug-uri privind starea cursei |
โข Blocare ศi prฤbuศire a sistemului โข Sistemul nu poate rula platforme client |
| Erori de control al versiunilor |
โข Nu se potriveศte logo-ul โข Nu sunt disponibile informaศii despre versiune โข Acest lucru se รฎntรขmplฤ de obicei รฎn Testarea regresiei |
| Bug-uri H/W | โข Dispozitivul nu rฤspunde la aplicaศie |
| Ajutor Sursฤ erori | โข Greศeli รฎn documentele de ajutor |
Diferenศa dintre testarea bazei de date ศi testarea ETL
| Testarea ETL | Testarea bazei de date |
|---|---|
| Verificฤ dacฤ datele sunt mutate conform aศteptฤrilor | Scopul principal este de a verifica dacฤ datele respectฤ regulile/standardele definite รฎn Modelul de date |
| Verificฤ dacฤ numฤrฤrile din sursฤ ศi ศintฤ se potrivesc
Verificฤ dacฤ datele transformate sunt conform aศteptฤrilor |
Verificaศi cฤ nu existฤ รฎnregistrฤri orfane ศi cฤ sunt menศinute relaศiile strฤine-cheie primarฤ |
| Verificฤ dacฤ relaศiile cheie primarฤ strฤinฤ sunt pฤstrate รฎn timpul ETL | Verificฤ dacฤ nu existฤ tabele redundante ศi baza de date este normalizatฤ optim |
| Verificฤ pentru duplicarea datelor รฎncฤrcate | Verificaศi dacฤ datele lipsesc รฎn coloane acolo unde este necesar |
Responsabilitฤศile unui tester ETL
Responsabilitฤศile cheie ale unui tester ETL sunt separate รฎn trei categorii
- Stage table/ SFS sau MFS
- Logica de transformare a afacerii aplicatฤ
- Target รฎncฤrcarea tabelului din fiศierul de etapฤ sau din tabel dupฤ aplicarea unei transformฤri.
Unele dintre responsabilitฤศile unui tester ETL sunt
- Testaศi software-ul ETL
- Testaศi componentele ETL datawarehouse
- Executaศi testul bazat pe date backend
- Creaศi, proiectaศi ศi executaศi cazuri de testare, planuri de testare ศi ham de testare
- Identificaศi problema ศi oferiศi soluศii pentru problemele potenศiale
- Aprobaศi cerinศele ศi specificaศiile de proiectare
- Transferuri de date ศi fiศier plat de testare
- Scrierea de interogฤri SQL3 pentru diferite scenarii, cum ar fi testul de numฤrare
Testarea performanศei รฎn ETL
Testarea performanศei รฎn ETL este o tehnicฤ de testare pentru a se asigura cฤ un sistem ETL poate gestiona รฎncฤrcฤtura de mai mulศi utilizatori ศi tranzacศii. Scopul principal al ETL Test de performanta este de a optimiza ศi รฎmbunฤtฤศi performanศa sesiunii prin identificarea ศi eliminarea blocajelor de performanศฤ. Bazele de date sursฤ ศi ศintฤ, mapฤrile, sesiunile ศi sistemul au posibil blocaje de performanศฤ.
Unul dintre cele mai bune instrumente utilizate pentru testarea/ajustarea performanศei este Informatica.
Automatizarea testฤrii ETL
Metodologia generalฤ a testฤrii ETL este de a folosi scripturi SQL sau de a face โeyeballingโ a datelor. Aceste abordฤri ale testฤrii ETL sunt consumatoare de timp, sunt predispuse la erori ศi rareori oferฤ acoperirea testului. Pentru a accelera, รฎmbunฤtฤศi acoperirea, reduce costurile, รฎmbunฤtฤศi Defect Raศia de detectare a testฤrii ETL รฎn medii de producศie ศi dezvoltare, automatizarea este nevoia orฤ. Un astfel de instrument este Informatica.
Cele mai bune practici pentru testarea ETL
- Asiguraศi-vฤ cฤ datele sunt transformate corect
- Fฤrฤ pierderi ศi trunchi de date, datele proiectate ar trebui sฤ fie รฎncฤrcate รฎn depozitul de date
- Asiguraศi-vฤ cฤ aplicaศia ETL respinge ศi รฎnlocuieศte รฎn mod corespunzฤtor cu valori implicite ศi raporteazฤ datele nevalide
- Trebuie sฤ vฤ asiguraศi cฤ datele รฎncฤrcate รฎn depozitul de date รฎn intervalele de timp prescrise ศi aศteptate pentru a confirma scalabilitatea ศi performanศa
- Toate metodele ar trebui sฤ aibฤ teste unitare adecvate, indiferent de vizibilitate
- Pentru a le mฤsura eficacitatea, toate testele unitare ar trebui sฤ utilizeze tehnici de acoperire adecvate
- Strฤduiศi-vฤ pentru o afirmaศie pentru fiecare caz de testare
- Creazฤ teste unitare care vizeazฤ excepศii
Verificฤ - ETL Testing Interviu รntrebฤri ศi Rฤspunsuri





