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.
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
- Udtræk relevante data
- 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.
- Load
- 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-test udføres i fem trin
- Identifikation af datakilder og krav
- Dataopsamling
- Implementer forretningslogikker og dimensionsmodellering
- Opbyg og udfyld data
- Opbyg rapporter
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 Target 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
- 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.
- DB-skema for kilde, Target: 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 |
|
Begrænsningsvalidering | Sørg for, at begrænsningerne er defineret for specifik tabel som forventet |
Problemer med datakonsistens |
|
Fuldstændighedsproblemer |
|
Korrekthedsproblemer |
|
Transformation | Transformation |
Datakvalitet |
|
Nul validering | Bekræft null-værdierne, hvor "Not Null" er angivet for en specifik kolonne. |
Duplikatcheck |
|
Datovalidering | Datoværdier bruger mange områder i ETL-udvikling til
|
Fuldstændig datavalidering |
|
Data renhed | Unødvendige kolonner skal slettes, før de indlæses i mellemrumsområdet. |
Typer af ETL-fejl
Type af fejl | Description |
---|---|
Brugergrænsefladefejl/kosmetiske fejl |
|
Boundary Value Analysis (BVA) relateret fejl |
|
Equivalence Class Partitioning (ECP) relateret fejl |
|
Input/output fejl |
|
Beregningsfejl |
|
Indlæs tilstandsfejl |
|
Race Condition fejl |
|
Fejl i versionskontrol |
|
H/W fejl |
|
Hjælp Kilde fejl |
|
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
- Sørg for, at data transformeres korrekt
- Uden noget tab af data og trunkering skal projekterede data indlæses i datavarehuset
- Sørg for, at ETL-applikationen korrekt afviser og erstatter med standardværdier og rapporterer ugyldige data
- Behov for at sikre, at dataene indlæses i datavarehuset inden for foreskrevne og forventede tidsrammer for at bekræfte skalerbarhed og ydeevne
- Alle metoder bør have passende enhedstest uanset synlighed
- For at måle deres effektivitet bør alle enhedstests bruge passende dækningsteknikker
- Stræb efter én påstand pr. testcase
- Opret enhedstest der sigter mod undtagelser
Kasse - ETL Test Interview Spørgsmål & Svar