ETL testimise õpetus

Mis on ETL-testimine?

ETL-i testimine toimub tagamaks, et pärast ettevõtte ümberkujundamist allikast sihtkohta laaditud andmed on täpsed. See hõlmab ka andmete kontrollimist erinevates keskmistes etappides, mida kasutatakse allika ja sihtkoha vahel. ETL tähistab Extract-Transform-Load.

ETL testimine

Andmelao testimine

Andmelao testimine on testimismeetod, mille käigus testitakse andmelaos olevate andmete terviklikkust, usaldusväärsust, täpsust ja järjepidevust, et need vastaksid ettevõtte andmeraamistikule. Andmelao testimise põhieesmärk on tagada, et andmelaos olevad integreeritud andmed oleksid piisavalt usaldusväärsed, et ettevõte saaks otsuseid langetada.

Mis on ETL?

ETL tähistab Extract-Transform-Load ja see on protsess, kuidas andmed laaditakse lähtesüsteemist andmelattu. Andmed ekstraheeritakse OLTP andmebaasist, teisendatakse andmelao skeemile vastavaks ja laaditakse andmelao andmebaasi. Paljud andmelaod sisaldavad ka andmeid mitte-OLTP-süsteemidest, nagu tekstifailid, pärandsüsteemid ja arvutustabelid.

Vaatame, kuidas see töötab

Näiteks on jaekauplus, millel on erinevad osakonnad, nagu müük, turundus, logistika jne. Igaüks neist käsitleb klienditeavet iseseisvalt ja nende andmete säilitamise viis on üsna erinev. Müügiosakond on selle salvestanud kliendi nime järgi, turundusosakond aga kliendi ID järgi.

Nüüd, kui nad soovivad kontrollida kliendi ajalugu ja tahavad teada, milliseid tooteid ta erinevate turunduskampaaniate tõttu ostis; see oleks väga tüütu.

Lahenduseks on kasutada a DataWarehouse'i salvestada erinevatest allikatest pärinevat teavet ühtsesse struktuuri kasutades ETL-i. ETL saab muuta erinevad andmekogumid ühtseks struktuuriks.Later kasutage nendest andmetest sisuka ülevaate ja aruannete saamiseks BI-tööriistu.

Selle ETL-i testimise õpetuse järgmine diagramm annab teile ETL-i testimise protsessi voo ja erinevate ETL-i testimise kontseptsioonide ROAD-MAP.

Väljavõte-teisendus-laadimine

  1. ekstrakt
  • Ekstraktige asjakohased andmed
  1. Muutma
  • Teisendage andmed DW (Data Warehouse) vormingusse
  • Järguvõtmed – võti on üks või mitu andmeatribuuti, mis identifitseerivad olemi unikaalselt. Erinevad võtmete tüübid on primaarvõti, alternatiivvõti, võõrvõti, liitvõti, asendusvõti. Andmeladu omab neid võtmeid ja ei luba kunagi ühelgi teisel olemil neid määrata.
  • Andmete puhastamine: pärast andmete ekstraheerimist liiguvad need järgmisse faasi, andmete puhastamise ja vastavusse viimise faasi. Puhastamine jätab andmed välja ning tuvastab ja parandab vead. Vastavus tähendab vastuolude lahendamist nende andmete vahel, mis ei ühildu, et neid saaks kasutada ettevõtte andmelaos. Lisaks neile loob see süsteem metaandmeid, mida kasutatakse lähtesüsteemi probleemide diagnoosimiseks ja andmete kvaliteedi parandamiseks.
  1. Koormus
  • Andmete laadimine DW-sse (andmelattu)
  • Koondmaterjalide koostamine – koondandmete loomine on saadaolevate andmete kokkuvõte ja salvestamine faktitabel lõppkasutajate päringute toimivuse parandamiseks.

ETL-i testimisprotsess

Sarnaselt teistele testimisprotsessidele läbib ETL ka erinevaid faase. ETL-i testimise protsessi erinevad etapid on järgmised

ETL-i testimisprotsess

ETL-testimine toimub viies etapis

  1. Andmeallikate ja nõuete tuvastamine
  2. Andmehõive
  3. Rakendada äriloogikat ja dimensioonilist modelleerimist
  4. Andmete koostamine ja sisestamine
  5. Koostage aruandeid

ETL-i testimisprotsess

ETL-i testimise tüübid

Testimise tüübid Testimisprotsess
Tootmise valideerimise testimine "Tabeli tasakaalustamine" või "tootmise vastavusseviimine" seda tüüpi ETL-i testimist tehakse andmetega, kui neid viiakse tootmissüsteemidesse. Teie äriotsuse toetamiseks peavad teie tootmissüsteemide andmed olema õiges järjekorras. Informaatika Andmete valideerimise valik pakub ETL-i testimise automatiseerimise ja halduse võimalusi, et tagada, et andmed ei kahjusta tootmissüsteeme.
Allikas Target Testimine (valideerimistestimine) Seda tüüpi testimine viiakse läbi selleks, et kontrollida, kas teisendatud andmeväärtused on eeldatavad andmeväärtused.
taotlus Upgrades Sellist tüüpi ETL-testimist saab automaatselt genereerida, säästes oluliselt testiarenduse aega. Seda tüüpi testimine kontrollib, kas vanemast rakendusest või hoidlast ekstraheeritud andmed on täpselt samad, mis hoidlas või uues rakenduses.
Metaandmete testimine Metaandmete testimine hõlmab andmetüübi kontrolli, andmete pikkuse kontrolli ja indeksi/piirangute kontrollimist.
Andmete täielikkuse testimine Kontrollimaks, kas kõik oodatud andmed on allikast sihtmärki laaditud, tehakse andmete täielikkuse testimine. Mõned testid, mida saab käivitada, on lihtsa teisendusega või ilma teisenduseta veergude loenduste, koondandmete ja tegelike andmete võrdlemine ja kinnitamine.
Andmete täpsuse testimine Seda testimist tehakse selleks, et tagada andmete täpne laadimine ja ootuspärane teisendamine.
Andmete teisendamise testimine Testitakse andmete teisendamist, kuna paljudel juhtudel ei ole seda võimalik saavutada ühe allika kirjutamisega SQL päring ja väljundi võrdlemine sihtmärgiga. Teisendusreeglite kontrollimiseks võib olla vajalik iga rea ​​jaoks käitada mitu SQL-päringut.
Andmekvaliteedi testimine Andmekvaliteedi testid hõlmavad süntaksi- ja võrdlusteste. Selleks, et äriprotsessi ajal ei tekiks kuupäevast või tellimuse numbrist tulenevaid vigu, tehakse andmekvaliteedi testimine.

Süntaksitestid: see edastab määrdunud andmed, mis põhinevad kehtetutel tähemärkidel, märgimustril, valel suur- või väiketähtedel jne.

Võrdlustestid: see kontrollib andmeid vastavalt andmemudelile. Näiteks: Kliendi ID

Andmekvaliteedi testimine hõlmab numbrikontrolli, kuupäeva kontrolli, täpsuse kontrolli, andmete kontrolli, nullkontrolli jne.

ETL-i astmeline testimine Seda testimist tehakse vanade ja uute andmete terviklikkuse kontrollimiseks uute andmete lisamisega. Täiendav testimine kontrollib, et lisasid ja värskendusi töödeldakse järkjärgulise ETL-i protsessi käigus ootuspäraselt.
GUI/navigatsiooni testimine Seda testimist tehakse esiotsa aruannete navigeerimise või GUI aspektide kontrollimiseks.

Kuidas luua ETL-i testjuhtumit

ETL testimine on kontseptsioon, mida saab rakendada erinevatele infohaldustööstuse tööriistadele ja andmebaasidele. ETL-i testimise eesmärk on tagada, et pärast ettevõtte ümberkujundamist allikast sihtkohta laaditud andmed on täpsed. See hõlmab ka andmete kontrollimist erinevates keskmistes etappides, mida kasutatakse allika ja sihtkoha vahel.

ETL-i testimise ajal on kaks dokumenti, mida ETL-testija alati kasutab

  1. ETL-i kaardistuslehed:ETL-i vastendamislehed sisaldavad kogu teavet lähte- ja sihttabelite kohta, sealhulgas iga veeru ja nende otsingu viitetabelites. ETL-i testijad peavad olema SQL-päringutega rahul, kuna ETL-i testimine võib hõlmata mitme ühendusega suurte päringute kirjutamist, et kinnitada andmeid ETL-i mis tahes etapis. ETL-i vastenduslehed pakuvad andmete kontrollimiseks päringute kirjutamisel märkimisväärset abi.
  2. DB allika skeem, Target: See peaks olema käepärast, et kontrollida kaardistamislehtede üksikasju.

ETL-i testimise stsenaariumid ja katsejuhtumid

Testi stsenaarium Testjuhtumid
Kaardistamisdokumendi valideerimine Kontrollige kaardistamise dokumenti, kas vastav ETL-teave on esitatud või mitte. Muudatuste logi tuleks säilitada igas kaardistamisdokumendis.
Kinnitamine
  1. Kinnitage lähte- ja sihttabeli struktuur vastava vastendusdokumendi suhtes.
  2. Lähteandmete tüüp ja sihtandmete tüüp peavad olema samad
  3. Andmetüüpide pikkus nii allikas kui ka sihtmärgis peaks olema võrdne
  4. Veenduge, et andmeväljade tüübid ja vormingud on määratud
  5. Lähteandmetüübi pikkus ei tohi olla väiksem sihtandmetüübi pikkusest
  6. Kinnitage tabeli veergude nimed vastendusdokumendi suhtes.
Piirangute valideerimine Veenduge, et piirangud on konkreetse tabeli jaoks ootuspäraselt määratletud
Andmete järjepidevuse probleemid
  1. Teatud atribuudi andmetüüp ja pikkus võivad failides või tabelites erineda, kuigi semantiline määratlus on sama.
  2. Terviklikkuse piirangute kuritarvitamine
Täielikkuse küsimused
  1. Veenduge, et kõik oodatud andmed on sihttabelisse laaditud.
  2. Võrrelge allika ja sihtmärgi kirjete arvu.
  3. Kontrollige tagasilükatud kirjeid
  4. Kontrolliandmeid ei tohi sihttabelite veerus kärpida
  5. Kontrollige piirväärtuste analüüsi
  6. Võrdleb võtmeväljade kordumatuid väärtusi WH-sse laaditud andmete ja lähteandmete vahel
Korrektsusprobleemid
  1. Andmed, mis on valesti kirjutatud või ebatäpselt salvestatud
  2. Null-, mitteunikaalsed või vahemikust väljas olevad andmed
Transformation Transformation
Andmekvaliteet
  1. Numbrikontroll: peate numbri kontrollima ja kinnitama
  2. Kuupäeva kontroll: need peavad järgima kuupäevavormingut ja see peaks olema kõigis kirjetes sama
  3. Täpsuskontroll
  4. Andmete kontroll
  5. Nullkontroll
Null Validate Kontrollige nullväärtusi, kus konkreetse veeru jaoks on määratud "Not Null".
Duplikaatkontroll
  1. Vajadus kordumatu võtme, primaarvõtme ja mis tahes muu veeru kinnitamiseks peaksid olema kordumatud, kuna ärinõuetel on korduvaid ridu
  2. Kontrollige, kas üheski veerus, mis ekstraheerib allika mitmest veerust ja ühendab need üheks veerguks, on duplikaatväärtusi
  3. Vastavalt kliendi nõudmistele tuleb tagada, et mitme veeru kombinatsioonis ei tekiks duplikaate ainult sihtmärgi piires
Valideerimise kuupäev Kuupäevaväärtused kasutavad ETL-i arenduses paljusid valdkondi

  1. Et teada saada rea ​​loomise kuupäeva
  2. Tuvastage aktiivsed kirjed vastavalt ETL-i arendusperspektiivile
  3. Tuvastage aktiivsed kirjed vastavalt ärinõuetele
  4. Mõnikord luuakse värskendused ja lisad kuupäevaväärtuste põhjal.
Täielik andmete valideerimine
  1. Täieliku andmestiku kontrollimiseks lähte- ja sihttabelis miinus parima lahenduse päring
  2. Peame allika miinus sihtmärk ja sihtmärk miinus allikas
  3. Kui miinuspäring tagastab mis tahes väärtuse, tuleks neid lugeda mittevastavateks ridadeks
  4. Peab ristumislause abil allika ja sihtmärgi read sobitama
  5. Intersect'i poolt tagastatud arv peaks ühtima lähte- ja sihttabelite individuaalsete arvudega
  6. Kui ridade ja arvu ristumispunktide miinus päringu tagastus on väiksem kui lähtete arv või sihttabel, siis võime lugeda, et on olemas dubleerivad read.
Andmete puhtus Enne lavastusalasse laadimist tuleks mittevajalikud veerud kustutada.

ETL-vigade tüübid

ETL-vigade tüübid

Vigade tüüp Kirjeldus
Kasutajaliidese vead/kosmeetikavead
  • Seotud rakenduse GUI-ga
  • Fondi stiil, fondi suurus, värvid, joondus, õigekirjavead, navigeerimine ja nii edasi
Piirväärtuse analüüsiga (BVA) seotud viga
  • Minimaalsed ja maksimaalsed väärtused
Ekvivalentsusklassi partitsiooniga (ECP) seotud viga
  • Kehtiv ja kehtetu tüüp
Sisend/väljund vead
  • Kehtivaid väärtusi ei aktsepteerita
  • Aktsepteeritud kehtetud väärtused
Arvutusvead
  • Matemaatilised vead
  • Lõppväljund on vale
Laadi seisukorra vead
  • Ei luba mitut kasutajat
  • Ei võimalda kliendi oodatud koormust
Võistlusseisundi vead
  • Süsteem jookseb kokku ja hangub
  • Süsteem ei saa käivitada kliendiplatvorme
Versioonikontrolli vead
H/W vead
  • Seade ei reageeri rakendusele
Abiallika vead
  • Vead abidokumentides

Andmebaasi testimise ja ETL testimise erinevus

ETL testimine Andmebaasi testimine
Kontrollib, kas andmeid teisaldatakse ootuspäraselt Esmane eesmärk on kontrollida, kas andmed vastavad andmemudelis määratletud reeglitele/standarditele
Kontrollib, kas allika ja sihtmärgi loendid kattuvad

Kontrollib, kas teisendatud andmed vastavad ootustele

Veenduge, et puuduvad orbkirjed ja välismaiste esmaste võtmete suhted säiliksid
Kontrollib, et välise primaarvõtme suhted säiliksid ETL-i ajal Kontrollib, et üleliigseid tabeleid poleks ja andmebaas oleks optimaalselt normaliseeritud
Kontrollib laaditud andmete dubleerimist Kontrollige, kas vajalikes veergudes puuduvad andmed

ETL-i testija kohustused

ETL-i testija peamised kohustused on jagatud kolme kategooriasse

  • Lavalaud/ SFS või MFS
  • Rakendatud ärimuutmise loogika
  • Target tabeli laadimine etapifailist või tabelist pärast teisenduse rakendamist.

Mõned ETL-i testija kohustused on

  • Testige ETL tarkvara
  • Testi ETL andmelao komponente
  • Käivitage taustaprogrammi andmepõhine test
  • Loo, kujunda ja teosta testjuhtumid, katseplaanid ja katserakmed
  • Tuvastage probleem ja leidke võimalikele probleemidele lahendused
  • Nõuete ja projekteerimisspetsifikatsioonide kinnitamine
  • Andmeedastus ja Testi lamefail
  • SQL-päringute3 kirjutamine erinevate stsenaariumide jaoks, näiteks loendustesti jaoks

Jõudluskontroll ETL-is

Jõudluskontroll ETL-is on testimistehnika, mis tagab, et ETL-süsteem suudab toime tulla mitme kasutaja ja tehingutega. ETL-i esmane eesmärk Jõudluse testimine eesmärk on optimeerida ja parandada seansi jõudlust, tuvastades ja kõrvaldades jõudluse kitsaskohad. Lähte- ja sihtandmebaasidel, vastendustel, seanssidel ja süsteemil võib olla jõudluse kitsaskohti.

Üks parimaid jõudluse testimiseks/häälestamiseks kasutatavaid tööriistu on Informatica.

ETL testimise automatiseerimine

ETL-i testimise üldine metoodika on SQL-i skriptide kasutamine või andmete "silmavaatamine". Need ETL-testimise lähenemisviisid on aeganõudvad, veaohtlikud ja pakuvad harva täielikku testi katvus. Kiirendada, parandada katvust, vähendada kulusid, parandada Defekt ETL testimise avastamismäär tootmis- ja arenduskeskkondades, automatiseerimine on tunni vajadus. Üks selline tööriist on Informatica.

ETL-i testimise parimad tavad

  1. Veenduge, et andmed on õigesti teisendatud
  2. Ilma andmete kadumise ja kärpimiseta tuleks prognoositavad andmed andmelattu laadida
  3. Veenduge, et ETL-rakendus lükkab asjakohaselt tagasi ja asendab vaikeväärtustega ning teatab kehtetutest andmetest
  4. Vajadus tagada, et andmed laaditakse andmelattu ettenähtud ja eeldatava aja jooksul, et kinnitada skaleeritavust ja jõudlust
  5. Kõikidel meetoditel peavad olema asjakohased ühikutestid, olenemata nähtavusest
  6. Nende tõhususe mõõtmiseks peaksid kõik ühikutestid kasutama sobivaid katvustehnikaid
  7. Püüdke iga katsejuhtumi kohta ühe väite poole
  8. Looma ühikutestid mis sihivad erandeid

Tutvu - ETL testimise intervjuu küsimused ja vastused