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 Produktbeskrivelse
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