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