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 kundens historie og vil vide, hvilke forskellige produkter han/hun har kรธbt pรฅ grund af 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.

Fรธlgende diagram i denne ETL-testรธvelse giver dig ROAD MAP over ETL-testprocesforlรธbet og forskellige ETL-testkoncepter:

Uddrag-Transform-Load

1) Uddrag

  • Udtrรฆk relevante data

2) Transformรฉr

  • 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.

3) Indlรฆs

  • Indlรฆs data i DW (Data Warehouse)
  • Byg aggregater - At oprette et aggregat er at opsummere og gemme data, som er tilgรฆngelige 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

  1. Produktionsvalideringstest
    Testproces: "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.
  2. Kilde til Target Test (valideringstest)
    Testproces: En sรฅdan type test udfรธres for at validere, om de transformerede datavรฆrdier er de forventede datavรฆrdier.
  3. Anvendelse Upgrades
    Testproces: 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.
  4. Metadata test
    Testproces: Metadatatestning omfatter test af datatypetjek, datalรฆngdetjek og indeks-/begrรฆnsningstjek.
  5. Test af datafuldstรฆndighed
    Testproces: 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.
  6. Test af datanรธjagtighed
    Testproces: Denne test udfรธres for at sikre, at dataene indlรฆses nรธjagtigt og transformeres som forventet.
  7. Test af datatransformation
    Testproces: 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.
  8. Test af datakvalitet
    Testproces:

    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.

  9. Inkrementel ETL-test
    Testproces: 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.
  10. GUI/navigationstest
    Testproces: 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, Target: Den skal opbevares ved hรฅnden for at verificere enhver detalje i kortlรฆgningsark.

ETL testscenarier og testcases

  1. Kortlรฆgningsdokumentvalidering
    Testtilfรฆlde: Bekrรฆft kortlรฆgningsdokumentet, om der er angivet tilsvarende ETL-oplysninger eller ej. ร†ndringslog bรธr vedligeholdes i hvert kortlรฆgningsdokument.
  2. Validering
    Testtilfรฆlde:

    1) Valider kilde- og mรฅltabelstrukturen i forhold til det tilsvarende mappingdokument.
    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 den samme
    4) Bekrรฆft at datafelttyper og -formater er angivet
    5) Kildedatatypens lรฆngde mรฅ ikke vรฆre kortere end mรฅldatatypens lรฆngde
    6) Valider navnet pรฅ kolonnerne i tabellen mod mapping-dokumentet.

  3. Begrรฆnsningsvalidering
    Testtilfรฆlde: Sรธrg for, at begrรฆnsningerne er defineret for specifik tabel som forventet
  4. Problemer med datakonsistens
    Testtilfรฆlde:

    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

  5. Fuldstรฆndighedsproblemer
    Testtilfรฆlde:

    1) Sรธrg for, at alle forventede data er indlรฆst i mรฅltabellen.
    2) Sammenlign antallet af poster mellem kilde og mรฅl.
    3) Tjek for eventuelle afviste optegnelser
    4) Kontroller, at data ikke skal afkortes i kolonnen i mรฅltabellerne
    5) Tjek randvรฆrdianalyse
    6) Sammenligner unikke vรฆrdier af nรธglefelter mellem data indlรฆst i WH og kildedata

  6. Korrekthedsproblemer
    Testtilfรฆlde:

    1) Data, der er stavet forkert eller registreret unรธjagtigt
    2) Nul, ikke-unikke eller data uden for interval

  7. Transformation
    Testtilfรฆlde: Transformation
  8. Datakvalitet
    Testtilfรฆlde:

    1) Nummerkontrol: Skal nummerkontrolleres og valideres
    2) Datokontrol: De skal fรธlge datoformatet, og det skal vรฆre det samme pรฅ tvรฆrs af alle poster
    3) Prรฆcisionskontrol
    4) Datatjek
    5) Nulkontrol

  9. Nul validering
    Testtilfรฆlde: Bekrรฆft null-vรฆrdierne, hvor "Not Null" er angivet for en specifik kolonne.
  10. Duplikatcheck
    Testtilfรฆlde:

    1) Skal validere den unikke nรธgle, primรฆrnรธgle og enhver anden kolonne skal vรฆre unikke i henhold til forretningskravene, hvis der er dubletter af rรฆkker.
    2) Kontroller, om der findes dubletter i en kolonne, der udtrรฆkker vรฆrdier fra flere kolonner i kildekoden og kombinerer dem til รฉn kolonne.
    3) I henhold til klientens krav skal det sikres, at der ikke er dubletter i kombination af flere kolonner inden for mรฅlet.

  11. Datovalidering
    Testtilfรฆlde: Datovรฆrdier bruger mange omrรฅder i ETL-udvikling til

    1) For at kende rรฆkkens oprettelsesdato
    2) Identificer aktive poster i henhold til ETL-udviklingsperspektivet
    3) Identificer aktive poster ud fra forretningskravperspektivet
    4) Nogle gange genereres opdateringer og indsรฆttelser baseret pรฅ datovรฆrdierne.

  12. Fuldstรฆndig datavalidering
    Testtilfรฆlde:

    1) At validere det komplette datasรฆt i kilde- og mรฅltabellen minus en forespรธrgsel i en bedste lรธsning
    2) Vi skal finde kilde minus mรฅl og mรฅl minus kilde
    3) Hvis minus-forespรธrgslen returnerer en vรฆrdi, skal disse betragtes som uoverensstemmelser i rรฆkker
    4) Skal matche rรฆkker mellem kilde og mรฅl ved hjรฆlp af intersect-sรฆtningen
    5) Det antal, der returneres af intersect, skal stemme overens med de individuelle antal i kilde- og mรฅltabellerne.
    6) Hvis minus forespรธrgselsretur af rรฆkker og count intersect er mindre end kildeantal eller mรฅltabellen, kan vi betragte, at der findes duplikerede rรฆkker.

  13. Data renhed
    Testtilfรฆlde: 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 brugergrรฆnseflade
โ€ข Skrifttype, skriftstรธrrelse, farver, justering, stavefejl, navigation og sรฅ videre
Boundary Value Analysis (BVA) relateret fejl โ€ข Minimums- og maksimumsvรฆ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 kundens forventede belastning
Race Condition fejl โ€ข Systemnedbrud og -hรฆngning
โ€ข Systemet kan ikke kรธre klientplatforme
Fejl i versionskontrol โ€ข Ingen logomatchning
โ€ข Ingen versionsoplysninger tilgรฆngelige
โ€ข 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 fรธlger 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
  • Target 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

Opsummer dette indlรฆg med: