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 ETL

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:

Extragere-Transformare-Încărcare

  1. Extrage
  • Extrageți datele relevante
  1. Transforma
  • 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.
  1. A incarca
  • Î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ă

Procesul de testare ETL

Testarea ETL este efectuată în cinci etape

  1. Identificarea surselor de date și a cerințelor
  2. De achiziție de date
  3. Implementați logici de afaceri și modelare dimensională
  4. Creați și completați datele
  5. Creați rapoarte

Procesul de testare ETL

Tipuri de testare ETL

Tipuri de testare Procesul de testare
Testarea de validare a producției „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) Un astfel de tip de testare este efectuat pentru a valida dacă valorile datelor transformate sunt valorile datelor așteptate.
Aplicatii Upgrades 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 Testarea metadatelor include testarea verificării tipului de date, verificarea lungimii datelor și verificarea indexului/constrângerii.
Testarea completității datelor 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 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 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 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ă 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 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

  1. 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.
  2. 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

Scenariu de testare Cazuri de testare
Validarea documentului de cartografiere 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
  1. Validați structura tabelului sursă și țintă față de documentul de mapare corespunzător.
  2. Tipul de date sursă și tipul de date țintă ar trebui să fie același
  3. Lungimea tipurilor de date atât în ​​sursă, cât și în țintă ar trebui 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 față de documentul de mapare.
Validarea constrângerii Asigurați-vă că constrângerile sunt definite pentru un tabel specific, așa cum era de așteptat
Probleme de coerență a datelor
  1. Tipul și lungimea datelor pentru un anumit atribut pot varia în fișiere sau tabele, deși definiția semantică este aceeași.
  2. Folosirea greșită a constrângerilor de integritate
Probleme de completitudine
  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 țintă.
  3. Verificați dacă există înregistrări respinse
  4. Datele de verificare nu trebuie trunchiate în coloana tabelelor țintă
  5. Verificați analiza valorii la limită
  6. Compară valorile unice ale câmpurilor cheie între datele încărcate în WH și datele sursă
Probleme de corectitudine
  1. Date care sunt scrise greșit sau înregistrate incorect
  2. Date nule, neunice sau în afara intervalului
Transformare Transformare
Calitatea datelor
  1. Verificarea numărului: trebuie să verificați numărul și să o validați
  2. Verificare date: trebuie să urmeze formatul de dată și ar trebui să fie același pentru toate înregistrările
  3. Verificare de precizie
  4. Verificarea datelor
  5. Verificare nulă
Validare nulă Verificați valorile nule, unde „Nu este nul” specificat pentru o anumită coloană.
Cec duplicat
  1. Necesitatea de a valida cheia unică, cheia primară și orice altă coloană ar trebui să fie unică, conform cerințelor comerciale, care au rânduri duplicat
  2. Verificați dacă există valori duplicate în vreo coloană care extrage din mai multe coloane din sursă și se combină într-o singură coloană
  3. În conformitate cu cerințele clientului, trebuie să se asigure că nu există dubluri în combinație de mai multe coloane numai în cadrul țintei
Validarea datei Valorile date folosesc multe domenii în dezvoltarea ETL pentru

  1. 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, pe baza valorilor datei, actualizările și inserările sunt generate.
Validarea completă a datelor
  1. Pentru a valida setul complet de date din tabelul sursă și țintă minus o interogare într-o soluție optimă
  2. Trebuie să găsim sursa minus țintă și țintă minus sursa
  3. Dacă interogarea minus returnează orice valoare, acestea ar trebui considerate drept rânduri nepotrivite
  4. Trebuie să potriviți rândurile dintre sursă și țintă folosind instrucțiunea intersect
  5. Numărul returnat de intersect trebuie să se potrivească cu numărul individual al tabelelor sursă și țintă
  6. Dacă interogarea minus returnează rândurile și numărul de intersectare este mai mic decât numărul sursă sau tabelul țintă, atunci putem considera că există rânduri duplicate.
Curățarea datelor Coloanele inutile trebuie șterse înainte de a fi încărcate în zona de ședință.

Tipuri de erori ETL

Tipuri de erori ETL

Tip de bug-uri Description
Erori ale interfeței cu utilizatorul / erori cosmetice
  • Legat de GUI al 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
  • Valori valide nu sunt acceptate
  • Valori nevalide acceptate
Erori de calcul
  • Erori matematice
  • Ieșirea finală este greșită
Erori de stare de încărcare
  • Nu permite utilizatorilor multipli
  • Nu permite încărcarea așteptată de client
Bug-uri privind starea cursei
  • Blocarea sistemului și blocarea
  • 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

  1. Asigurați-vă că datele sunt transformate corect
  2. Fără pierderi și trunchi de date, datele proiectate ar trebui să fie încărcate în depozitul de date
  3. Asigurați-vă că aplicația ETL respinge și înlocuiește în mod corespunzător cu valori implicite și raportează datele nevalide
  4. 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
  5. Toate metodele ar trebui să aibă teste unitare adecvate, indiferent de vizibilitate
  6. Pentru a le măsura eficacitatea, toate testele unitare ar trebui să utilizeze tehnici de acoperire adecvate
  7. Străduiți-vă pentru o afirmație pentru fiecare caz de testare
  8. Crea teste unitare care vizează excepții

Verifică - ETL Testing Interviu Întrebări și Răspunsuri