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.
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.
- ekstrakt
- Ekstraktige asjakohased andmed
- 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.
- 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-testimine toimub viies etapis
- Andmeallikate ja nõuete tuvastamine
- Andmehõive
- Rakendada äriloogikat ja dimensioonilist modelleerimist
- Andmete koostamine ja sisestamine
- Koostage aruandeid
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
- 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.
- 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 |
|
Piirangute valideerimine | Veenduge, et piirangud on konkreetse tabeli jaoks ootuspäraselt määratletud |
Andmete järjepidevuse probleemid |
|
Täielikkuse küsimused |
|
Korrektsusprobleemid |
|
Transformation | Transformation |
Andmekvaliteet |
|
Null Validate | Kontrollige nullväärtusi, kus konkreetse veeru jaoks on määratud "Not Null". |
Duplikaatkontroll |
|
Valideerimise kuupäev | Kuupäevaväärtused kasutavad ETL-i arenduses paljusid valdkondi
|
Täielik andmete valideerimine |
|
Andmete puhtus | Enne lavastusalasse laadimist tuleks mittevajalikud veerud kustutada. |
ETL-vigade tüübid
Vigade tüüp | Kirjeldus |
---|---|
Kasutajaliidese vead/kosmeetikavead |
|
Piirväärtuse analüüsiga (BVA) seotud viga |
|
Ekvivalentsusklassi partitsiooniga (ECP) seotud viga |
|
Sisend/väljund vead |
|
Arvutusvead |
|
Laadi seisukorra vead |
|
Võistlusseisundi vead |
|
Versioonikontrolli vead |
|
H/W vead |
|
Abiallika vead |
|
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
- Veenduge, et andmed on õigesti teisendatud
- Ilma andmete kadumise ja kärpimiseta tuleks prognoositavad andmed andmelattu laadida
- Veenduge, et ETL-rakendus lükkab asjakohaselt tagasi ja asendab vaikeväärtustega ning teatab kehtetutest andmetest
- Vajadus tagada, et andmed laaditakse andmelattu ettenähtud ja eeldatava aja jooksul, et kinnitada skaleeritavust ja jõudlust
- Kõikidel meetoditel peavad olema asjakohased ühikutestid, olenemata nähtavusest
- Nende tõhususe mõõtmiseks peaksid kõik ühikutestid kasutama sobivaid katvustehnikaid
- Püüdke iga katsejuhtumi kohta ühe väite poole
- Looma ühikutestid mis sihivad erandeid
Tutvu - ETL testimise intervjuu küsimused ja vastused