ETL test vejledning

Hvad er ETL-testning?

ETL-test udføres for at sikre, at de data, der er blevet indlæst fra en kilde til destinationen efter forretningstransformation, er nøjagtige. Det involverer også verifikation af data på forskellige mellemstadier, der bruges mellem kilde og destination. ETL står for Extract-Transform-Load.

ETL test

Test af datavarehus

Test af datavarehus er en testmetode, hvor data inde i et datavarehus testes for integritet, pålidelighed, nøjagtighed og konsistens for at overholde virksomhedens dataramme. Hovedformålet med data warehouse test er at sikre, at de integrerede data inde i data warehouse er pålidelige nok til, at en virksomhed kan træffe beslutninger om.

Hvad er ETL?

ETL står for Extract-Transform-Load, og det er en proces for, hvordan data indlæses fra kildesystemet til datavarehuset. Data udtrækkes fra en OLTP-database, transformeres til at matche datavarehusskemaet og indlæses i datavarehusdatabasen. Mange datavarehuse inkorporerer også data fra ikke-OLTP-systemer såsom tekstfiler, ældre systemer og regneark.

Lad os se, hvordan det virker

For eksempel er der en detailbutik, som har forskellige afdelinger som salg, marketing, logistik osv. Hver af dem håndterer kundeoplysningerne uafhængigt, og den måde, de opbevarer disse data på, er meget forskellig. Salgsafdelingen har gemt det efter kundens navn, mens marketingafdelingen har gemt det efter kunde-id.

Hvis de nu vil tjekke historien om kunden og vil vide, hvilke forskellige produkter han/hun købte afwing til forskellige marketingkampagner; det ville være meget kedeligt.

Løsningen er at bruge en datawarehouse at gemme information fra forskellige kilder i en ensartet struktur ved hjælp af ETL. ETL kan transformere forskellige datasæt til en samlet struktur.Later bruge BI-værktøjer til at udlede meningsfuld indsigt og rapporter fra disse data.

Folloenwing diagram i denne ETL test tutorial giver dig ROAD MAP over ETL Test proces flow og forskellige ETL test concepts:

Uddrag-Transform-Load

  1. Uddrag
  • Udtræk relevante data
  1. Transform
  • Transform data til DW (Data Warehouse) format
  • Byg nøgler – En nøgle er en eller flere dataattributter, der unikt identificerer en enhed. Forskellige typer af nøgler er primærnøgle, alternativnøgle, fremmednøgle, sammensat nøgle, surrogatnøgle. Datawarehouse ejer disse nøgler og tillader aldrig nogen anden enhed at tildele dem.
  • Rensning af data: Efter at dataene er udtrukket, vil de gå ind i den næste fase, rensning og overensstemmelse af data. Rengøring foretager udeladelsen af ​​data samt identificerer og retter fejlene. Overensstemmelse betyder at løse konflikterne mellem de data, der er inkompatible, så de kan bruges i et virksomhedsdatavarehus. Ud over disse opretter dette system metadata, der bruges til at diagnosticere kildesystemproblemer og forbedre datakvaliteten.
  1. Load
  • Indlæs data i DW (Data Warehouse)
  • Byg aggregater - Oprettelse af et aggregat er summarizing og lagring af data, som er tilgængelig i faktatabel for at forbedre ydeevnen af ​​slutbrugerforespørgsler.

ETL testproces

I lighed med andre testprocesser gennemgår ETL også forskellige faser. De forskellige faser af ETL-testprocessen er som følger

ETL testproces

ETL-test udføres i fem trin

  1. Identifikation af datakilder og krav
  2. Dataopsamling
  3. Implementer forretningslogikker og dimensionsmodellering
  4. Opbyg og udfyld data
  5. Opbyg rapporter

ETL testproces

Typer af ETL-testning

Typer af test Testproces
Produktionsvalideringstest "Tabelbalancering" eller "produktionsafstemning" denne type ETL-test udføres på data, efterhånden som de flyttes ind i produktionssystemer. For at understøtte din forretningsbeslutning skal dataene i dine produktionssystemer være i den rigtige rækkefølge. computer Data Validation Option giver ETL-testautomatiserings- og styringsfunktionerne for at sikre, at produktionssystemerne ikke kompromitteres af dataene.
Kilde til mål-test (valideringstest) En sådan type test udføres for at validere, om de transformerede dataværdier er de forventede dataværdier.
Anvendelse Upgrades En sådan type ETL-test kan genereres automatisk, hvilket sparer betydelig testudviklingstid. Denne type test kontrollerer, om de data, der er udtrukket fra en ældre applikation eller arkiv, er nøjagtig de samme som dataene i et arkiv eller en ny applikation.
Metadata test Metadatatestning omfatter test af datatypetjek, datalængdetjek og indeks-/begrænsningstjek.
Test af datafuldstændighed For at verificere, at alle de forventede data er indlæst i målet fra kilden, udføres datafuldstændighedstest. Nogle af de test, der kan køres, er at sammenligne og validere tællinger, aggregater og faktiske data mellem kilden og målet for kolonner med simpel transformation eller ingen transformation.
Test af datanøjagtighed Denne test udføres for at sikre, at dataene indlæses nøjagtigt og transformeres som forventet.
Test af datatransformation Test af datatransformation udføres, da det i mange tilfælde ikke kan opnås ved at skrive én kilde SQL forespørgsel og sammenligne output med målet. Der skal muligvis køres flere SQL-forespørgsler for hver række for at verificere transformationsreglerne.
Test af datakvalitet Datakvalitetstest omfatter syntaks- og referencetest. For at undgå fejl på grund af dato eller ordrenummer under forretningsprocessen udføres datakvalitetstest.

Syntakstest: Det vil rapportere beskidte data, baseret på ugyldige tegn, tegnmønster, forkert rækkefølge af store eller små bogstaver osv.

Referencetest: Det vil kontrollere dataene i henhold til datamodellen. For eksempel: Kunde-id

Datakvalitetstest inkluderer nummerkontrol, datokontrol, præcisionskontrol, datakontrol, nulkontrol osv.

Inkrementel ETL-test Denne test udføres for at kontrollere dataintegriteten af ​​gamle og nye data med tilføjelse af nye data. Inkrementel test verificerer, at inserts og opdateringer bliver behandlet som forventet under inkrementel ETL-proces.
GUI/navigationstest Denne test udføres for at kontrollere navigations- eller GUI-aspekterne af frontend-rapporterne.

Sådan opretter du ETL-testcase

ETL-test er et koncept, der kan anvendes på forskellige værktøjer og databaser i informationshåndteringsindustrien. Formålet med ETL-test er at sikre, at de data, der er blevet indlæst fra en kilde til destination efter forretningstransformation, er nøjagtige. Det involverer også verifikation af data på forskellige mellemstadier, der bruges mellem kilde og destination.

Mens du udfører ETL-test, er to dokumenter, der altid vil blive brugt af en ETL-tester

  1. ETL-kortlægningsark:Et ETL-kortlægningsark indeholder al information om kilde- og destinationstabeller, inklusive hver eneste kolonne og deres opslag i referencetabeller. En ETL-testere skal være fortrolig med SQL-forespørgsler, da ETL-test kan involvere at skrive store forespørgsler med flere joinforbindelser for at validere data på ethvert trin af ETL. ETL-kortlægningsark giver en betydelig hjælp, mens du skriver forespørgsler til databekræftelse.
  2. DB-skema for kilde, mål: Den skal opbevares ved hånden for at verificere enhver detalje i kortlægningsark.

ETL testscenarier og testcases

Testscenarie Test Cases
Kortlægningsdokumentvalidering Bekræft kortlægningsdokumentet, om der er angivet tilsvarende ETL-oplysninger eller ej. Ændringslog bør vedligeholdes i hvert kortlægningsdokument.
Validering
  1. Valider kilde- og måltabelstrukturen mod tilsvarende kortlægningsdokument.
  2. Kildedatatypen og måldatatypen skal være den samme
  3. Længden af ​​datatyper i både kilde og mål skal være ens
  4. Kontroller, at datafelttyper og formater er angivet
  5. Kildedatatypens længde bør ikke være mindre end måldatatypens længde
  6. Valider navnet på kolonner i tabellen mod kortlægningsdokument.
Begrænsningsvalidering Sørg for, at begrænsningerne er defineret for specifik tabel som forventet
Problemer med datakonsistens
  1. Datatypen og længden for en bestemt attribut kan variere i filer eller tabeller, selvom den semantiske definition er den samme.
  2. Misbrug af integritetsbegrænsninger
Fuldstændighedsproblemer
  1. Sørg for, at alle forventede data er indlæst i måltabellen.
  2. Sammenlign registreringsantal mellem kilde og mål.
  3. Tjek for eventuelle afviste poster
  4. Tjekdata bør ikke afkortes i kolonnen med måltabeller
  5. Tjek grænseværdianalyse
  6. Compares unikke værdier af nøglefelter mellem data indlæst til WH og kildedata
Korrekthedsproblemer
  1. Data, der er stavet forkert eller unøjagtigt registreret
  2. Nul, ikke-unik eller uden for rækkevidde
Transformation Transformation
Datakvalitet
  1. Nummerkontrol: Skal nummertjekke og validere det
  2. Datokontrol: De skal følge datoformatet, og det skal være det samme på tværs af alle poster
  3. Præcisionstjek
  4. Datatjek
  5. Nul kontrol
Nul validering Bekræft null-værdierne, hvor "Not Null" er angivet for en specifik kolonne.
Duplikatcheck
  1. Behov for at validere den unikke nøgle, primærnøgle og enhver anden kolonne skal være unik, da forretningskravene har nogen duplikerede rækker
  2. Tjek, om der findes duplikerede værdier i en kolonne, der udtrækkes fra flere kolonner i kilden og kombineres til én kolonne
  3. I henhold til kundens krav, skal det sikres, at ingen dubletter i kombination af flere kolonner kun inden for målet
Datovalidering Datoværdier bruger mange områder i ETL-udvikling til

  1. At kende datoen for oprettelse af rækken
  2. Identificer aktive poster i henhold til ETL-udviklingsperspektivet
  3. Identificer aktive poster i henhold til forretningskravsperspektivet
  4. Nogle gange genereres opdateringer og indsættelser baseret på datoværdierne.
Fuldstændig datavalidering
  1. At validere det komplette datasæt i kilde- og måltabellen minus en forespørgsel i en bedste løsning
  2. Vi skal kilde minus mål og mål minus kilde
  3. Hvis minus-forespørgsel returnerer en værdi, skal disse betragtes som uoverensstemmende rækker
  4. Skal matche rækker mellem kilde og mål ved hjælp af intersect-sætning
  5. Antallet, der returneres af skæringspunktet, bør matche med individuelle optællinger af kilde- og måltabeller
  6. Hvis minus forespørgsels returnerer rækker og tæller skærer er mindre end kildeantal eller måltabel, kan vi overveje, at der eksisterer duplikerede rækker.
Data renhed Unødvendige kolonner skal slettes, før de indlæses i mellemrumsområdet.

Typer af ETL-fejl

Typer af ETL-fejl

Type af fejl Beskrivelse
Brugergrænsefladefejl/kosmetiske fejl
  • Relateret til applikationens GUI
  • Skrifttype, skriftstørrelse, farver, justering, stavefejl, navigation og så videre
Boundary Value Analysis (BVA) relateret fejl
  • Minimums- og maksimumværdier
Equivalence Class Partitioning (ECP) relateret fejl
  • Gyldig og ugyldig type
Input/output fejl
  • Gyldige værdier accepteres ikke
  • Ugyldige værdier accepteret
Beregningsfejl
  • Matematiske fejl
  • Det endelige output er forkert
Indlæs tilstandsfejl
  • Tillader ikke flere brugere
  • Tillader ikke kunde forventet belastning
Race Condition fejl
  • System går ned og hænger
  • Systemet kan ikke køre klientplatforme
Fejl i versionskontrol
  • Intet logo matcher
  • Ingen versionsinformation tilgængelig
  • Dette sker normalt i Regressionstest
H/W fejl
  • Enheden svarer ikke på applikationen
Hjælp Kilde fejl
  • Fejl i hjælpedokumenter

Forskellen mellem databasetest og ETL test

ETL test Database test
Bekræfter, om data flyttes som forventet Det primære mål er at kontrollere, om dataene er following reglerne/standarderne defineret i datamodellen
Verificerer, om tællinger i kilden og målet stemmer overens

Verificerer, om de transformerede data er som forventet

Bekræft, at der ikke er nogen forældreløse optegnelser, og at udenlandsk-primære nøglerelationer opretholdes
Verificerer, at de fremmede primære nøglerelationer bevares under ETL Verificerer, at der ikke er redundante tabeller, og databasen er optimalt normaliseret
Verificerer for duplikering i indlæste data Bekræft, om der mangler data i kolonner, hvor det er nødvendigt

Ansvar for en ETL Tester

En ETL-testers nøgleansvar er opdelt i tre kategorier

  • Scenebord/ SFS eller MFS
  • Forretningstransformationslogik anvendt
  • Mål tabelindlæsning fra fasefil eller tabel efter anvendelse af en transformation.

Nogle af ansvarsområderne for en ETL tester er

  • Test ETL software
  • Test komponenter af ETL datawarehouse
  • Udfør backend-datadrevet test
  • Skab, design og eksekver test tilfælde, testplaner og testsele
  • Identificer problemet og giv løsninger på potentielle problemer
  • Godkend krav og designspecifikationer
  • Dataoverførsler og test flad fil
  • Skrive SQL-forespørgsler3 til forskellige scenarier som tælletest

Ydelsestest i ETL

Ydelsestest i ETL er en testteknik til at sikre, at et ETL-system kan håndtere belastning af flere brugere og transaktioner. Det primære mål med ETL Test af ydeevne er at optimere og forbedre sessionens ydeevne ved at identificere og eliminere ydeevneflaskehalse. Kilde- og måldatabaserne, kortlægninger, sessioner og systemet har muligvis ydeevneflaskehalse.

Et af de bedste værktøjer, der bruges til Performance Test/Tuning, er Informatica.

Automatisering af ETL-test

Den generelle metode til ETL-test er at bruge SQL-scripting eller "øjeblikke" af data. Disse tilgange til ETL-test er tidskrævende, fejltilbøjelige og giver sjældent fuldstændige test dækning. At accelerere, forbedre dækningen, reducere omkostningerne, forbedre Defekt detektionsration af ETL-test i produktions- og udviklingsmiljøer, automatisering er tidens behov. Et sådant værktøj er Informatica.

Bedste praksis for ETL-testning

  1. Sørg for, at data transformeres korrekt
  2. Uden noget tab af data og trunkering skal projekterede data indlæses i datavarehuset
  3. Sørg for, at ETL-applikationen korrekt afviser og erstatter med standardværdier og rapporterer ugyldige data
  4. Behov for at sikre, at dataene indlæses i datavarehuset inden for foreskrevne og forventede tidsrammer for at bekræfte skalerbarhed og ydeevne
  5. Alle metoder bør have passende enhedstest uanset synlighed
  6. For at måle deres effektivitet bør alle enhedstests bruge passende dækningsteknikker
  7. Stræb efter én påstand pr. testcase
  8. Opret enhedstest der sigter mod undtagelser

Kasse - ETL Test Interview Spørgsmål & Svar