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:
- Extrage
- Extrageți datele relevante
- 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.
- 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ă
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
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
- 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
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 |
|
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 |
|
Probleme de completitudine |
|
Probleme de corectitudine |
|
Transformare | Transformare |
Calitatea datelor |
|
Validare nulă | Verificați valorile nule, unde „Nu este nul” specificat pentru o anumită coloană. |
Cec duplicat |
|
Validarea datei | Valorile date folosesc multe domenii în dezvoltarea ETL pentru
|
Validarea completă a datelor |
|
Curățarea datelor | Coloanele inutile trebuie șterse înainte de a fi încărcate în zona de ședință. |
Tipuri de erori ETL
Tip de bug-uri | Description |
---|---|
Erori ale interfeței cu utilizatorul / erori cosmetice |
|
Eroare legată de Analiza valorii limită (BVA). |
|
Eroare legată de Equivalence Class Partitioning (ECP). |
|
Erori de intrare/ieșire |
|
Erori de calcul |
|
Erori de stare de încărcare |
|
Bug-uri privind starea cursei |
|
Erori de control al versiunilor |
|
Bug-uri H/W |
|
Ajutor Sursă erori |
|
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
- Crea teste unitare care vizează excepții
Verifică - ETL Testing Interviu Întrebări și Răspunsuri