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.

ETL testiranje

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:

Izdvoj-Transformiraj-Učitaj

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 proces testiranja

ETL testiranje provodi se u pet faza

  1. Identificiranje izvora podataka i zahtjeva
  2. Prikupljanje podataka
  3. Implementirati poslovnu logiku i dimenzionalno modeliranje
  4. Izgradite i popunite podatke
  5. Izrada izvješća

ETL proces testiranja

Vrste ETL testiranja

  1. 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.
  2. 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.
  3. 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.
  4. Testiranje metapodataka
    Proces testiranja: Testiranje metapodataka uključuje testiranje provjere tipa podataka, provjere duljine podataka i provjere indeksa/ograničenja.
  5. 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.
  6. 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.
  7. 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.
  8. 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.

  9. 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.
  10. 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

  1. 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.
  2. 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

  1. 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.
  2. 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.

  3. Validacija ograničenja
    Testni slučajevi: Osigurajte da su ograničenja definirana za određenu tablicu prema očekivanjima
  4. 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

  5. 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

  6. 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

  7. transformacija
    Testni slučajevi: transformacija
  8. 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

  9. Null Validate
    Testni slučajevi: Provjerite null vrijednosti, gdje je "Not Null" navedeno za određeni stupac.
  10. 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

  11. Validacija datuma
    Testni slučajevi: Za vrijednosti datuma koriste se mnoga područja u razvoju ETL-a

    1) 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.

  12. 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.

  13. Čistoća podataka
    Testni slučajevi: Nepotrebne stupce treba obrisati prije učitavanja u probno područje.

Vrste ETL grešaka

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

  1. Provjerite jesu li podaci pravilno transformirani
  2. Bez ikakvog gubitka podataka i skraćivanja, projicirane podatke treba učitati u skladište podataka
  3. Osigurajte da ETL aplikacija na odgovarajući način odbija i zamjenjuje zadane vrijednosti i prijavljuje nevažeće podatke
  4. 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
  5. Sve metode trebaju imati odgovarajuće jedinične testove bez obzira na vidljivost
  6. Za mjerenje njihove učinkovitosti svi jedinični testovi trebaju koristiti odgovarajuće tehnike pokrivanja
  7. Težite jednoj tvrdnji po testu
  8. stvoriti jedinični testovi koji ciljaju na iznimke

Provjeri - Pitanja i odgovori za intervju za ETL testiranje