Vodič za testiranje ETL-a
Što je ETL testiranje?
ETL testiranje provodi se kako bi se osiguralo da su podaci koji su učitani od izvora do odredišta nakon poslovne transformacije točni. Također uključuje provjeru podataka u različitim srednjim fazama koji se koriste između izvora i odredišta. ETL je kratica za Extract-Transform-Load.
Testiranje skladišta podataka
Testiranje skladišta podataka je metoda testiranja u kojoj se podaci unutar skladišta podataka testiraju na cjelovitost, pouzdanost, točnost i dosljednost kako bi bili u skladu s podatkovnim okvirom tvrtke. Glavna svrha testiranja skladišta podataka je osigurati da su integrirani podaci unutar skladišta podataka dovoljno pouzdani da tvrtka o njima može donositi odluke.
Što je ETL?
ETL je kratica za Extract-Transform-Load i to je proces učitavanja podataka iz izvornog sustava u skladište podataka. Podaci se izdvajaju iz OLTP baze podataka, transformiraju kako bi odgovarali shemi skladišta podataka i učitavaju u bazu podataka skladišta podataka. Mnoga skladišta podataka također uključuju podatke iz sustava koji nisu OLTP, kao što su tekstualne datoteke, naslijeđeni sustavi i proračunske tablice.
Da vidimo kako radi
Na primjer, postoji maloprodajna trgovina koja ima različite odjele kao što su prodaja, marketing, logistika itd. Svaki od njih samostalno rukuje informacijama o kupcima, a način na koji pohranjuju te podatke prilično je različit. Odjel prodaje ga je pohranio po imenu kupca, a odjel marketinga po ID-u kupca.
Sada, ako žele provjeriti povijest kupca i žele znati koje je različite proizvode on/ona kupio zahvaljujući različitim marketinškim kampanjama; bilo bi jako zamorno.
Rješenje je korištenje a skladištenja podataka za pohranu informacija iz različitih izvora u jedinstvenu strukturu pomoću ETL-a. ETL može transformirati različite skupove podataka u jedinstvenu strukturu.Later koristiti BI alate za dobivanje smislenih uvida i izvješća iz ovih podataka.
Sljedeći dijagram u ovom vodiču za testiranje ETL-a daje vam KARTU tijeka procesa testiranja ETL-a i različite koncepte testiranja ETL-a:
1) Ekstrakt
- Izdvojite relevantne podatke
2) Transformacija
- Pretvorite podatke u DW (Data Warehouse) format
- Ključevi izgradnje – ključ je jedan ili više atributa podataka koji jedinstveno identificiraju entitet. Razni vrste ključeva su primarni ključ, alternativni ključ, strani ključ, kompozitni ključ, surogat ključ. Skladište podataka posjeduje ove ključeve i nikada ne dopušta nijednom drugom subjektu da ih dodijeli.
- Čišćenje podataka: Nakon što su podaci ekstrahirani, prijeći će se u sljedeću fazu, čišćenja i usklađivanja podataka. Čišćenje čini propuste u podacima, kao i prepoznavanje i popravljanje grešaka. Usklađivanje znači rješavanje sukoba između onih podataka koji su nekompatibilni, tako da se mogu koristiti u skladištu podataka poduzeća. Osim ovih, ovaj sustav stvara meta-podatke koji se koriste za dijagnosticiranje problema izvornog sustava i poboljšava kvalitetu podataka.
3) Učitavanje
- Učitaj podatke u DW (skladište podataka)
- Izrada agregata – Stvaranje agregata je sažimanje i pohranjivanje podataka koji su dostupni u tablica činjenica kako bi se poboljšala izvedba upita krajnjih korisnika.
ETL proces testiranja
Slično drugim procesima testiranja, ETL također prolazi kroz različite faze. Različite faze procesa testiranja ETL-a su sljedeće
ETL testiranje provodi se u pet faza
- Identificiranje izvora podataka i zahtjeva
- Prikupljanje podataka
- Implementirati poslovnu logiku i dimenzionalno modeliranje
- Izgradite i popunite podatke
- Izrada izvješća
Vrste ETL testiranja
- Ispitivanje valjanosti proizvodnje
Proces testiranja: "Uravnoteženje tablice" ili "usklađivanje proizvodnje" ova vrsta ETL testiranja provodi se na podacima dok se premještaju u proizvodne sustave. Kako bi podržali vašu poslovnu odluku, podaci u vašim proizvodnim sustavima moraju biti u ispravnom redoslijedu. Informatika Opcija provjere valjanosti podataka pruža automatizaciju ETL testiranja i mogućnosti upravljanja kako bi se osiguralo da proizvodni sustavi nisu ugroženi podacima. - Izvor za Target Testiranje (Validacijsko testiranje)
Proces testiranja: Takva vrsta testiranja provodi se kako bi se potvrdilo jesu li transformirane vrijednosti podataka očekivane vrijednosti podataka. - primjena Upgrades
Proces testiranja: Takva vrsta ETL testiranja može se automatski generirati, štedeći značajno vrijeme razvoja testa. Ova vrsta testiranja provjerava jesu li podaci izvučeni iz starije aplikacije ili repozitorija potpuno isti kao podaci u repozitoriju ili novoj aplikaciji. - Testiranje metapodataka
Proces testiranja: Testiranje metapodataka uključuje testiranje provjere tipa podataka, provjere duljine podataka i provjere indeksa/ograničenja. - Testiranje potpunosti podataka
Proces testiranja: Kako bi se potvrdilo da su svi očekivani podaci učitani u cilj iz izvora, provodi se testiranje potpunosti podataka. Neki od testova koji se mogu pokrenuti su usporedba i provjera broja, agregata i stvarnih podataka između izvora i cilja za stupce s jednostavnom transformacijom ili bez transformacije. - Testiranje točnosti podataka
Proces testiranja: Ovo se testiranje provodi kako bi se osiguralo da su podaci točno učitani i transformirani prema očekivanjima. - Testiranje transformacije podataka
Proces testiranja: Testiranje transformacije podataka provodi se jer se u mnogim slučajevima ne može postići pisanjem jednog izvora SQL upit i usporedbu izlaza s ciljem. Možda će biti potrebno pokrenuti više SQL upita za svaki red da bi se provjerila pravila transformacije. - Testiranje kvalitete podataka
Proces testiranja:Testovi kvalitete podataka uključuju testove sintakse i reference. Kako bi se izbjegla bilo kakva greška zbog datuma ili broja narudžbe tijekom poslovnog procesa provodi se testiranje kvalitete podataka.
Testovi sintakse: prijavit će prljave podatke, temeljene na nevažećim znakovima, uzorku znakova, netočnom redoslijedu velikih ili malih slova itd.
Referentni testovi: Provjerit će podatke prema modelu podataka. Na primjer: ID kupca
Testiranje kvalitete podataka uključuje provjeru broja, provjeru datuma, provjeru točnosti, provjeru podataka, provjeru nule itd.
- Inkrementalno ETL testiranje
Proces testiranja: Ovo testiranje provodi se kako bi se provjerio integritet starih i novih podataka uz dodavanje novih podataka. Inkrementalno testiranje provjerava da se umetci i ažuriranja obrađuju prema očekivanjima tijekom inkrementalnog ETL procesa. - GUI/testiranje navigacije
Proces testiranja: Ovo testiranje provodi se kako bi se provjerili aspekti navigacije ili GUI-a izvješća o sučelju.
Kako stvoriti ETL test slučaj
ETL testiranje je koncept koji se može primijeniti na različite alate i baze podataka u industriji upravljanja informacijama. Cilj ETL testiranja je osigurati da su podaci koji su učitani od izvora do odredišta nakon transformacije poslovanja točni. Također uključuje provjeru podataka u različitim srednjim fazama koji se koriste između izvora i odredišta.
Tijekom izvođenja ETL testiranja, dva dokumenta koja će uvijek koristiti ETL tester su
- Listovi ETL mapiranja:Listovi ETL mapiranja sadrže sve informacije izvorne i odredišne tablice uključujući svaki stupac i njihovo pretraživanje u referentnim tablicama. Ispitivači ETL-a moraju biti zadovoljni SQL upitima jer testiranje ETL-a može uključivati pisanje velikih upita s višestrukim spajanjima za provjeru valjanosti podataka u bilo kojoj fazi ETL-a. Listovi ETL mapiranja pružaju značajnu pomoć pri pisanju upita za provjeru podataka.
- DB shema izvora, Target: Trebalo bi ga držati pri ruci za provjeru bilo kojeg detalja u kartografskim listovima.
ETL testni scenariji i testni slučajevi
- Mapiranje valjanosti dokumenta
Testni slučajevi: Provjerite dokument mapiranja jesu li odgovarajuće ETL informacije pružene ili ne. Dnevnik promjena treba voditi u svakom dokumentu mapiranja. - Potvrđivanje
Testni slučajevi:1) Provjerite strukturu izvorne i ciljne tablice u odnosu na odgovarajući dokument mapiranja.
2) Izvorni tip podataka i ciljni tip podataka trebaju biti isti
3) Duljina tipova podataka u izvoru i cilju treba biti jednaka
4) Provjerite jesu li navedene vrste i formati podatkovnih polja
5) Duljina izvornog tipa podataka ne smije biti manja od duljine ciljnog tipa podataka
6) Provjerite naziv stupaca u tablici u odnosu na dokument za mapiranje. - Validacija ograničenja
Testni slučajevi: Osigurajte da su ograničenja definirana za određenu tablicu prema očekivanjima - Problemi s dosljednošću podataka
Testni slučajevi:1) Tip podataka i duljina određenog atributa mogu se razlikovati u datotekama ili tablicama iako je semantička definicija ista.
2) Zlouporaba ograničenja integriteta - Problemi s potpunošću
Testni slučajevi:1) Provjerite jesu li svi očekivani podaci učitani u ciljnu tablicu.
2) Usporedite broj zapisa između izvora i cilja.
3) Provjerite ima li odbijenih zapisa
4) Podaci provjere ne smiju biti skraćeni u stupcu ciljnih tablica
5) Provjerite analizu graničnih vrijednosti
6) Uspoređuje jedinstvene vrijednosti ključnih polja između podataka učitanih u WH i izvornih podataka - Problemi s ispravnošću
Testni slučajevi:1) Podaci koji su pogrešno napisani ili netočno zabilježeni
2) Nulti, nejedinstveni ili podaci izvan raspona - transformacija
Testni slučajevi: transformacija - Kvaliteta podataka
Testni slučajevi:1) Provjera broja: Potrebno je provjeriti broj i potvrditi ga
2) Provjera datuma: Moraju se pridržavati formata datuma i on bi trebao biti isti u svim zapisima
3) Provjera preciznosti
4) Provjera podataka
5) Provjera nule - Null Validate
Testni slučajevi: Provjerite null vrijednosti, gdje je "Not Null" navedeno za određeni stupac. - Provjera duplikata
Testni slučajevi:1) Potrebno je validirati jedinstveni ključ, primarni ključ i bilo koji drugi stupac koji bi trebao biti jedinstven, prema poslovnim zahtjevima, ako postoje duplicirani retci.
2) Provjerite postoje li duplicirane vrijednosti u bilo kojem stupcu koji se izdvaja iz više stupaca u izvoru i kombinira u jedan stupac
3) Prema zahtjevima klijenta, potrebno je osigurati da nema duplikata u kombinaciji više stupaca unutar cilja - Validacija datuma
Testni slučajevi: Za vrijednosti datuma koriste se mnoga područja u razvoju ETL-a1) Za saznanje datuma kreiranja reda
2) Identificirajte aktivne zapise prema perspektivi razvoja ETL-a
3) Identificirajte aktivne zapise prema poslovnim zahtjevima
4) Ponekad se ažuriranja i umeci generiraju na temelju vrijednosti datuma. - Potpuna provjera valjanosti podataka
Testni slučajevi:1) Validirati cijeli skup podataka u izvornoj i ciljnoj tablici bez upita u najboljem rješenju
2) Moramo izvor minus cilj i cilj minus izvor
3) Ako minus upit vrati bilo koju vrijednost, to treba smatrati neusklađenim retcima
4) Potrebno je uskladiti retke između izvora i cilja pomoću naredbe intersect
5) Broj koji vraća intersect trebao bi se podudarati s pojedinačnim brojem izvornih i ciljnih tablica
6) Ako je minus broj vraćenih redaka upita i broj presjeka manji od broja izvorne ili ciljne tablice, tada možemo smatrati da postoje duplicirani retci. - Čistoća podataka
Testni slučajevi: Nepotrebne stupce treba obrisati prije učitavanja u probno područje.
Vrste ETL grešaka
Vrsta grešaka | Description |
---|---|
Greške korisničkog sučelja/kozmetičke greške |
• Vezano za GUI aplikacije • Stil fonta, veličina fonta, boje, poravnanje, pravopisne pogreške, navigacija i tako dalje |
Bug povezan s analizom graničnih vrijednosti (BVA). | • Minimalne i maksimalne vrijednosti |
Pogreška povezana s particijom klase ekvivalencije (ECP). | • Važeći i nevažeći tip |
Ulazno/izlazne greške |
• Valjane vrijednosti nisu prihvaćene • Prihvaćaju se nevažeće vrijednosti |
Greške u izračunu |
• Matematičke pogreške • Konačni izlaz je pogrešan |
Greške u uvjetima opterećenja |
• Ne dopušta više korisnika • Ne dopušta očekivano opterećenje kupca |
Greške u uvjetima utrke |
• Rušenje i zastoj sustava • Sustav ne može pokretati klijentske platforme |
Greške u kontroli verzija |
• Nema podudaranja logotipa • Nema dostupnih informacija o verziji • To se obično događa u Ispitivanje regresije |
H/W greške | • Uređaj ne reagira na aplikaciju |
Pomoć Izvor bugova | • Pogreške u dokumentima pomoći |
Razlika između testiranja baze podataka i ETL testiranja
ETL testiranje | Testiranje baze podataka |
---|---|
Provjerava jesu li podaci premješteni prema očekivanjima | Primarni cilj je provjeriti slijede li podaci pravila/standarde definirane u podatkovnom modelu |
Provjerava podudaraju li se brojevi u izvoru i cilju
Provjerava jesu li transformirani podaci u skladu s očekivanjima |
Provjerite da nema zapisa siročadi i da se održavaju odnosi stranih primarnih ključeva |
Provjerava da su odnosi stranog primarnog ključa sačuvani tijekom ETL-a | Provjerava da nema suvišnih tablica i da je baza podataka optimalno normalizirana |
Provjerava dupliciranje učitanih podataka | Provjerite nedostaju li podaci u stupcima gdje je potrebno |
Odgovornosti ETL testera
Ključne odgovornosti ETL testera podijeljene su u tri kategorije
- Pozorni stol/ SFS ili MFS
- Primijenjena logika poslovne transformacije
- Target učitavanje tablice iz datoteke faze ili tablice nakon primjene transformacije.
Neke od odgovornosti ETL testera su
- Testirajte ETL softver
- Testirajte komponente ETL skladišta podataka
- Izvršite pozadinski test temeljen na podacima
- Kreirajte, dizajnirajte i izvedite test slučajevi, planove ispitivanja i ispitni pojas
- Identificirajte problem i ponudite rješenja za moguće probleme
- Odobriti zahtjeve i specifikacije dizajna
- Prijenos podataka i testna ravna datoteka
- Pisanje SQL upita3 za različite scenarije kao što je test brojanja
Testiranje performansi u ETL-u
Testiranje performansi u ETL-u je tehnika testiranja kojom se osigurava da ETL sustav može podnijeti opterećenje više korisnika i transakcija. Primarni cilj ETL-a Ispitivanje performansi je optimizirati i poboljšati izvedbu sesije identificiranjem i uklanjanjem uskih grla u izvođenju. Izvorne i ciljne baze podataka, preslikavanja, sesije i sustav možda imaju uska grla u izvedbi.
Jedan od najboljih alata koji se koristi za testiranje/podešavanje performansi je Informatica.
Automatizacija ETL testiranja
Opća metodologija ETL testiranja je korištenje SQL skriptiranja ili "provjera" podataka. Ovi pristupi ETL testiranju oduzimaju puno vremena, podložni su pogreškama i rijetko pružaju potpunu pokrivenost testom. Ubrzati, poboljšati pokrivenost, smanjiti troškove, poboljšati Mana omjer otkrivanja ETL testiranja u proizvodnim i razvojnim okruženjima, automatizacija je potreba trenutka. Jedan takav alat je Informatica.
Najbolji primjeri iz prakse za ETL testiranje
- Provjerite jesu li podaci pravilno transformirani
- Bez ikakvog gubitka podataka i skraćivanja, projicirane podatke treba učitati u skladište podataka
- Osigurajte da ETL aplikacija na odgovarajući način odbija i zamjenjuje zadane vrijednosti i prijavljuje nevažeće podatke
- Potrebno je osigurati da se podaci učitavaju u skladište podataka unutar propisanih i očekivanih vremenskih okvira kako bi se potvrdila skalabilnost i izvedba
- Sve metode trebaju imati odgovarajuće jedinične testove bez obzira na vidljivost
- Za mjerenje njihove učinkovitosti svi jedinični testovi trebaju koristiti odgovarajuće tehnike pokrivanja
- Težite jednoj tvrdnji po testu
- stvoriti jedinični testovi koji ciljaju na iznimke
Provjeri - Pitanja i odgovori za intervju za ETL testiranje