Tutorial de testare ETL
⚡ Rezumat inteligent
Testarea ETL validează modul în care datele circulă de la sistemele sursă prin logica de transformare într-un depozit de date țintă, confirmând acuratețea, caracterul complet și fiabilitatea. Această resursă explică etapele procesului, tipurile de testare, categoriile de erori comune, abordările de automatizare și cele mai bune practici de care au nevoie testerii începători și intermediari.

Ce este ETL?
ETL standuri pentru Extract-Transform-Loadși descrie modul în care datele se mută dintr-un sistem sursă într-un depozit de date. Datele sunt extracextrase 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ă, de asemenea, date din sisteme non-OLTP, cum ar fi fișiere text, aplicații vechi și foi de calcul.
De exemplu, un magazin de vânzare cu amănuntul poate avea departamente separate, cum ar fi vânzări, marketing și logistică. Fiecare departament gestionează informațiile despre clienți independent, iar modul în care fiecare stochează aceste date diferă. Departamentul de vânzări poate stoca înregistrări după numele clientului, în timp ce departamentul de marketing folosește ID-ul clientului.
Dacă echipele de afaceri doresc să revizuiască istoricul complet al achizițiilor unui client în diferite campanii de marketing, datele neconectate fac acest lucru foarte dificil. Soluția este de a utiliza un 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ă, astfel încât instrumentele BI să poată obține ulterior informații și rapoarte semnificative.
Următoarea diagramă prezintă fluxul procesului de testare ETL și conceptele de bază pe care le veți utiliza în acest ghid:
1) Extract
- Extracdate relevante din unul sau mai multe sisteme sursă.
2) Transformă
- Transformați datele în format DW (Data Warehouse).
- Chei de construire: o cheie este unul sau mai multe atribute de date care identifică în mod unic o entitate. Diverse tipuri de chei sunt cheia primară, cheia alternativă, cheia externă, cheia compozită și cheia surogat. Depozitul de date deține aceste chei și nu permite niciodată altei entități să le atribuie.
- Curățarea datelor: după ce datele sunt extrasetracOdată finalizat, se trece la următoarea fază de curățare și conformitate. Curățarea corectează omisiunile și identifică erorile. Conformarea rezolvă conflictele dintre seturi de date incompatibile, astfel încât acestea să poată fi utilizate într-un depozit de date al unei întreprinderi. De asemenea, sistemul creează metadate care ajută la diagnosticarea problemelor sistemului sursă și la îmbunătățirea calității datelor.
3) Încărcare
- Încărcați datele în DW (Data Warehouse).
- Construirea agregatelor: un agregat rezumă și stochează date dintr-un tabel de fapte pentru a îmbunătăți performanța interogărilor utilizatorilor finali.
Ce este testarea ETL?
Testarea ETL este efectuată pentru a se asigura că datele încărcate de la o sursă la o destinație, după transformarea afacerii, sunt corecte. De asemenea, implică verificarea datelor în diferitele etape intermediare dintre sursă și destinație. Deoarece ETL este prescurtarea de la ExtracTestarea ETL, t-Transform-Load, acoperă fiecare dintre aceste trei etape și punctele în care datele se intersectează între ele.
De ce este importantă testarea ETL?
Odată ce înțelegeți ce este testarea ETL, următoarea întrebare este de ce organizațiile investesc atât de mult efort în aceasta. Deciziile de afaceri se bazează pe date corecte, complete și de încredere, astfel încât o singură eroare de transformare se poate extinde în rapoartele financiare, analizele clienților și dezvăluirile de reglementări.
Următoarele puncte explică valoarea practică a testării ETL puternice:
- Precizia datelor: Confirmă că valorile transformate de regulile de business corespund hărții documentateping specificații, prevenind coruperea silențioasă.
- Raportare fiabilă: Tablourile de bord și instrumentele BI depind de depozit, așadar canalele ETL verificate protejează fiecare raport și KPI din aval.
- Respectarea reglementărilor: Industrii precum bancar, medical și asigurări trebuie să demonstreze că linia și integritatea datelor sunt păstrate de la un capăt la altul.
- Relucrare redusă: Depistarea defectelor în mediile inferioare evită reîncărcările costisitoare ale producției, reconcilierile manuale și erorile care apar la nivelul clienților.
- Asigurarea performanței: Testarea ETL măsoară ferestrele de încărcare, debitul și blocajele, astfel încât depozitul să continue să se scaleze pe măsură ce volumul de date crește.
Având aceste motivații clare, următoarea secțiune prezintă procesul structurat pe care testerii ETL îl urmează în proiecte reale.
Dataddo este o platformă de integrare a datelor complet gestionată, fără cod, care simplifică conectarea aplicațiilor cloud, a tablourilor de bord și a depozitelor de date. Această platformă ETL are conectori personalizați care pot fi construiți în 10 zile lucrătoare. Instrumentul acceptă ETL invers, replicarea bazelor de date și funcționalitatea ETL tradițională.
Procesul de testare ETL
Similar altor procese de testare, ETL trece și el prin diferite faze. Diferitele faze ale procesului de testare ETL sunt următoarele:
Testarea ETL se efectuează în cinci etape:
- Identificarea surselor de date și a cerințelor
- De achiziție de date
- Implementați logica de business și modelarea dimensională
- Creați și completați datele
- Construiți rapoarte
Având în vedere procesul la nivel înalt, să analizăm tipurile specifice de testare care se încadrează în acest ciclu de viață.
Tipuri de testare ETL
- Testarea de validare a producției
Procesul de testare: Numită și „echilibrarea tabelelor” sau „reconcilierea producției”, acest tip de testare ETL se efectuează asupra datelor pe măsură ce acestea intră în sistemele de producție. Pentru a susține deciziile de afaceri, datele de producție trebuie să fie în ordinea corectă. Informatică Opțiunea de validare a datelor oferă capacități de automatizare și gestionare a testării ETL, astfel încât sistemele de producție să nu fie compromise de date greșite. - Sursa către Target Testare (testare de validare)
Procesul de testare: Acest tip de testare validează dacă valorile datelor transformate corespund valorilor țintă așteptate. - Aplicatii Upgrades
Procesul de testare: Acest tip de testare ETL poate fi generat automat, economisind un timp substanțial de dezvoltare a testelor. Verifică dacă datele extracDatele create dintr-o aplicație sau un depozit mai vechi se potrivesc cu datele dintr-o aplicație sau un depozit nou. - Testarea metadatelor
Procesul de testare: Testarea metadatelor include verificări ale tipului de date, verificări ale lungimii datelor și verificări ale indexului sau constrângerilor. - Testarea completității datelor
Procesul de testare: Testarea completitudinii datelor verifică dacă toate datele așteptate sunt încărcate din sursă în țintă. Testele obișnuite includ compararea și validarea numărului de înregistrări, a agregatelor și a datelor reale între coloanele sursă și țintă atunci când transformarea este simplă sau absentă. - Testarea acurateței datelor
Procesul de testare: Această testare asigură că datele sunt încărcate și transformate corect, așa cum este așteptat. - Testarea transformării datelor
Procesul de testare: Testarea transformării datelor adesea nu poate fi realizată cu o singură sursă SQL interogare și o comparație a ieșirilor. Pot fi 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ță. Acestea previn erorile în procesele de business cauzate de date sau numere de comandă incorecte.
Testele de sintaxă raportează date necorespunzătoare pe baza caracterelor nevalide, a modelelor de caractere și a ordinii incorecte a majusculelor sau minusculelor.
Testele de referință verifică datele în raport cu modelul de date. De exemplu: ID client.
Testarea calității datelor include și verificări ale numerelor, verificări ale datelor, verificări ale preciziei, verificări ale datelor și verificări ale valorilor nule.
- Testare ETL incrementală
Procesul de testare: Această testare verifică integritatea datelor vechi și noi prin 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 verifică aspectele de navigare și interfața grafică a rapoartelor front-end.
Cum se creează un caz de testare ETL
Testarea ETL este un concept care poate fi aplicat diferitelor instrumente și baze de date din industria managementului informațiilor. Obiectivul testării ETL este de a asigura acuratețea datelor încărcate de la o sursă la o destinație după transformarea afacerii. De asemenea, implică verificarea datelor în diferitele etape intermediare dintre sursă și destinație.
În timpul efectuării testării ETL, un tester ETL utilizează întotdeauna două documente:
- Hartă ETLping foi: O hartă ETLping Foaia conține toate informațiile despre tabelele sursă și destinație, inclusiv fiecare coloană și căutarea acesteia în tabelele de referință. Testerii ETL trebuie să fie familiarizați cu interogările SQL, deoarece testarea ETL poate implica scrierea de interogări mari cu joncțiuni multiple pentru a valida datele în orice etapă. Harta ETLping Fișele de calcul oferă un ajutor semnificativ la scrierea interogărilor pentru verificarea datelor.
- Schema bazei de date sursă și destinație: Ar trebui păstrat la îndemână pentru a verifica orice detaliu de pe hartăping foi.
Scenarii de testare ETL și cazuri de testare
- Hartăping validarea documentului
Cazuri de testare: Verificați dacă informațiile ETL corespunzătoare sunt furnizate în hartăping doc. Ar trebui să se mențină un jurnal de modificări pentru fiecare hartăping doc. - Validare
Cazuri de testare:1) Validați structura tabelelor sursă și țintă în raport cu harta corespunzătoareping doc.
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ă sunt specificate tipurile și formatele câmpurilor de date.
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 hartaping doc. - Validarea constrângerii
Cazuri de testare: Asigurați-vă că sunt definite constrângeri pentru tabelul specific, așa cum este de așteptat. - Probleme de coerență a datelor
Cazuri de testare:1) Tipul de date și lungimea unui anumit atribut pot varia între fișiere sau tabele, chiar și atunci când 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 sunt trunchiate în coloanele tabelelor țintă.
5) Verificați analiza valorilor limită.
6) Comparați valorile unice ale câmpurilor cheie dintre datele încărcate în depozit ș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: Validați că fiecare regulă de business și logică de transformare din hartăping documentul este aplicat corect datelor sursă înainte ca acestea să ajungă în țintă. - Calitatea datelor
Cazuri de testare:1) Verificare numere: validarea formatelor și valorilor numerice.
2) Verificarea datelor: datele trebuie să respecte un singur format și să fie consecvente în toate înregistrările.
3) Verificare a preciziei.
4) Verificarea datelor.
5) Verificare nulă. - Validare nulă
Cazuri de testare: Verificați valorile nule unde este specificat „Not Null” pentru o anumită coloană. - Cec duplicat
Cazuri de testare:1) Validați cheia unică, cheia primară și orice altă coloană care ar trebui să fie unică conform cerințelor afacerii pentru a confirma că nu există rânduri duplicate.
2) Verificați dacă există valori duplicate în vreo coloană ex.tracextrase din mai multe coloane sursă și combinate într-o singură coloană.
3) Conform cerințelor clientului, asigurați-vă că nu există duplicate într-o combinație de coloane multiple din cadrul țintei. - Validarea datei
Cazuri de testare: Valorile de tip dată sunt utilizate în multe domenii ale dezvoltării ETL:1) Pentru a cunoaște data creării rândului.
2) Identificați înregistrările active din perspectiva dezvoltării ETL.
3) Identificați înregistrările active din perspectiva cerințelor afacerii.
4) Uneori, pe baza valorilor datei, se generează actualizări și inserări. - Validarea completă a datelor
Cazuri de testare:1) Validați setul complet de date din tabelele sursă și țintă utilizând o interogare cu semnul minus ca cea mai bună soluție.
2) Trebuie să efectuați operațiunile sursă minus țintă și țintă minus sursă.
3) Dacă interogarea cu semnul minus returnează orice valoare, acele rânduri ar trebui considerate nepotrivite.
4) Potriviți rândurile dintre sursă și țintă folosind o instrucțiune intersect.
5) Numărul returnat de intersect ar trebui să corespundă cu numărătorile individuale ale tabelelor sursă și destinație.
6) Dacă o interogare cu semnul „minus” returnează rânduri și numărul de intersecții este mai mic decât numărul de rânduri sursă sau țintă, 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
Chiar și cu cazuri de testare puternice, conductele ETL pot eșua în moduri distincte. Imaginea de mai jos rezumă categoriile de erori la care ar trebui să fiți atenți, iar tabelul care urmează le descrie pe fiecare în parte.
| 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 • Apare 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 |
Testarea depozitului de date
Testarea depozitului de date este o metodă de testare în care datele dintr-un depozit de date sunt testate pentru integritate, fiabilitate, acuratețe și consistență 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 depozit sunt suficient de fiabile pentru ca firma să poată lua decizii. În timp ce testarea ETL se concentrează pe mișcarea datelor, testarea depozitului de date acoperă stratul mai larg de stocare și raportare pe care ETL îl alimentează în cele din urmă.
Diferența dintre testarea bazei de date și testarea ETL
Deși ambele discipline lucrează cu date structurate, ele răspund la întrebări diferite. Tabelul de mai jos evidențiază contrastul practic:
| 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 și standardele definite în modelul de date. |
| Verifică dacă numărătoarea din sursă și țintă se potrivește și dacă datele transformate sunt conform așteptărilor. | Verifică dacă nu există înregistrări orfane și dacă sunt menținute relațiile dintre cheia externă și cheia primară. |
| Verifică dacă relațiile cu cheia primară externă sunt păstrate în timpul ETL. | Verifică dacă nu există tabele redundante și dacă baza de date este normalizată optim. |
| Verifică existența duplicatelor în datele încărcate. | Verifică dacă lipsesc date în coloane acolo unde este necesar. |
Testarea performanței în ETL
Testarea performanței în ETL este o tehnică de testare care asigură că un sistem ETL poate gestiona sarcina mai multor 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ă, mapeazăpingActivitățile, sesiunile și sistemul în sine pot conține blocaje.
Unul dintre cele mai bune instrumente folosite pentru testarea și optimizarea performanței este Informatica.
Responsabilitățile unui tester ETL
Responsabilitățile cheie ale unui tester ETL sunt împărțite în trei categorii:
- Masă de scenă / 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 zilnice ale unui tester ETL sunt:
- Testați software-ul ETL
- Componentele de testare ale depozitului de date ETL
- Execută teste bazate pe date backend
- Creați, proiectați și executați cazuri de testare, planuri de testare și cablaje de testare
- Identificați problemele și oferiți soluții pentru potențialele probleme
- Aprobați cerințele și specificațiile de proiectare
- Validarea transferurilor de date și testarea fișierelor plate
- Scrieți interogări SQL pentru diverse scenarii, cum ar fi testele de numărare
Automatizarea testării ETL
Metodologia generală a testării ETL este utilizarea scripturilor SQL sau a „observării vizuale” a datelor. Aceste abordări consumă mult timp, sunt predispuse la erori și rareori oferă rezultate complete. acoperirea testuluiPentru a accelera execuția, a îmbunătăți acoperirea, a reduce costurile și a îmbunătăți defect În mediile de producție și dezvoltare, automatizarea este nevoia momentului. Un astfel de instrument este Informatica.
Echipele moderne combină, de asemenea, automatizarea tradițională cu instrumente asistate de inteligență artificială care sugerează teste de transformare, generează date sursă sintetice și semnalează abaterile de la schemă, eliberând testerii pentru a se concentra pe logica de business complexă, în loc să se concentreze pe întreținerea repetitivă a scripturilor.
Cele mai bune practici pentru testarea ETL
- Asigurați-vă că datele sunt transformate corect.
- Fără nicio pierdere sau trunchiere a datelor, datele proiectate ar trebui încărcate în depozitul de date.
- Asigurați-vă că aplicația ETL respinge în mod corespunzător datele nevalide, le înlocuiește cu valori implicite, acolo unde este cazul, și le raportează.
- Confirmați că datele sunt încărcate în depozit în intervalele de timp prescrise și așteptate pentru a valida 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ă să aveți o singură aserțiune per caz de testare.
- Crează teste unitare care vizează excepțiile.
Verifică - ETL Testing Interviu Întrebări și Răspunsuri





