ETL-testauksen opetusohjelma
Mitä ETL-testaus on?
ETL-testauksella varmistetaan, että lähteestä kohteeseen liiketoiminnan muuttamisen jälkeen ladatut tiedot ovat tarkkoja. Se sisältää myös tietojen todentamisen eri keskivaiheissa, joita käytetään lähteen ja kohteen välillä. ETL tulee sanoista Extract-Transform-Load.
Tietovaraston testaus
Tietovaraston testaus on testausmenetelmä, jossa tietovaraston sisällä olevien tietojen eheys, luotettavuus, tarkkuus ja johdonmukaisuus testataan, jotta ne ovat yrityksen tietokehyksen mukaisia. Tietovarastotestauksen päätarkoituksena on varmistaa, että tietovaraston sisällä oleva integroitu tieto on riittävän luotettavaa, jotta yritys voi tehdä päätöksiä.
Mikä on ETL?
ETL on lyhenne sanoista Extract-Transform-Load ja se on prosessi, jolla tiedot ladataan lähdejärjestelmästä tietovarastoon. Tiedot poimitaan OLTP-tietokannasta, muunnetaan vastaamaan tietovarastokaaviota ja ladataan tietovarastotietokantaan. Monet tietovarastot sisältävät myös tietoja muista kuin OLTP-järjestelmistä, kuten tekstitiedostoja, vanhoja järjestelmiä ja laskentataulukoita.
Katsotaan kuinka se toimii
Esimerkiksi on vähittäiskauppa, jossa on eri osastoja, kuten myynti, markkinointi, logistiikka jne. Jokainen niistä käsittelee asiakastietoja itsenäisesti, ja tapa, jolla ne tallennetaan, on melko erilainen. Myyntiosasto on tallentanut sen asiakkaan nimellä, kun taas markkinointiosasto asiakastunnuksen mukaan.
Nyt jos he haluavat tarkistaa asiakkaan historian ja haluavat tietää, mitä eri tuotteita hän on ostanut erilaisten markkinointikampanjoiden ansiosta; se olisi erittäin tylsää.
Ratkaisu on käyttää a tietovaraston tallentaa tietoa eri lähteistä yhtenäiseen rakenteeseen ETL:n avulla. ETL voi muuntaa erilaiset tietojoukot yhtenäiseksi rakenteeksi.Later käyttää BI-työkaluja saadakseen näistä tiedoista merkityksellisiä oivalluksia ja raportteja.
Tämän ETL-testauksen opetusohjelman seuraava kaavio antaa sinulle ETL-testausprosessin kulkukartan ja erilaiset ETL-testauskonseptit:
1) Ote
- Poimi asiaankuuluvat tiedot
2) Muunna
- Muunna tiedot DW (Data Warehouse) -muotoon
- Koontiavaimet – Avain on yksi tai useampi tietomäärite, joka yksilöi entiteetin. Eri avainten tyyppejä ovat ensisijainen avain, vaihtoehtoinen avain, viiteavain, yhdistelmäavain, korvaava avain. Tietovarasto omistaa nämä avaimet eikä koskaan anna minkään muun tahon määrittää niitä.
- Tietojen puhdistaminen: Kun tiedot on purettu, se siirtyy seuraavaan vaiheeseen, tietojen puhdistamiseen ja mukauttamiseen. Puhdistus tekee puutteita tiedoista sekä virheiden tunnistamisesta ja korjaamisesta. Mukautuminen tarkoittaa ristiriitojen ratkaisemista yhteensopimattomien tietojen välillä, jotta niitä voidaan käyttää yrityksen tietovarastossa. Näiden lisäksi tämä järjestelmä luo metadataa, jota käytetään lähdejärjestelmän ongelmien diagnosointiin ja tiedon laatua parantamiseen.
3) Kuorma
- Lataa tiedot DW:hen (Data Warehouse)
- Rakenna aggregaatteja – Aggregaatin luominen on saatavilla olevien tietojen yhteenvetoa ja tallentamista faktataulukko parantaakseen loppukäyttäjien kyselyiden suorituskykyä.
ETL-testausprosessi
Muiden testausprosessien tapaan myös ETL käy läpi eri vaiheita. ETL-testausprosessin eri vaiheet ovat seuraavat
ETL-testaus suoritetaan viidessä vaiheessa
- Tietolähteiden ja vaatimusten tunnistaminen
- tietojen hankinta
- Toteuta liiketoimintalogiikkaa ja dimensiomallinnusta
- Luo ja täytä tietoja
- Rakenna raportteja
ETL-testauksen tyypit
- Tuotannon validointitestaus
Testausprosessi: "Taulukon tasapainotus" tai "tuotannon täsmäytys" tämän tyyppinen ETL-testaus tehdään tiedoille, kun niitä siirretään tuotantojärjestelmiin. Liiketoimintapäätöksesi tukemiseksi tuotantojärjestelmien tietojen on oltava oikeassa järjestyksessä. tietokone Data Validation Option tarjoaa ETL-testauksen automatisointi- ja hallintaominaisuudet varmistaakseen, että tiedot eivät vaaranna tuotantojärjestelmiä. - Lähde kohteeseen Target Testaus (validointitestaus)
Testausprosessi: Tämäntyyppinen testaus suoritetaan sen varmistamiseksi, ovatko muunnetut dataarvot odotettuja data-arvoja. - Hakemus Upgrades
Testausprosessi: Tällainen ETL-testaus voidaan luoda automaattisesti, mikä säästää huomattavasti testien kehitysaikaa. Tämäntyyppinen testaus tarkistaa, ovatko vanhemmasta sovelluksesta tai arkistosta poimitut tiedot täsmälleen samat kuin arkiston tai uuden sovelluksen tiedot. - Metatietojen testaus
Testausprosessi: Metatietojen testaus sisältää tietotyypin tarkistuksen, datan pituuden tarkistuksen ja indeksin/rajoitteen tarkistuksen. - Tietojen täydellisyyden testaus
Testausprosessi: Sen varmistamiseksi, että kaikki odotetut tiedot on ladattu kohteeseen lähteestä, suoritetaan tietojen täydellisyystestaus. Jotkut suoritettavista testeistä ovat lähteen ja kohteen välisten laskelmien, aggregaattien ja todellisten tietojen vertailua ja validointia sarakkeiden yksinkertaisella muunnolla tai ilman muuntamista. - Tietojen tarkkuustestaus
Testausprosessi: Tämä testaus tehdään sen varmistamiseksi, että tiedot ladataan oikein ja muunnetaan odotetulla tavalla. - Datan muunnostestaus
Testausprosessi: Testausdatan muunnos tehdään, koska useissa tapauksissa sitä ei saada aikaan kirjoittamalla yksi lähde SQL kysely ja tulosten vertailu kohteeseen. Kullekin riville on ehkä suoritettava useita SQL-kyselyjä muunnossääntöjen tarkistamiseksi. - Tietojen laadun testaus
Testausprosessi:Data Quality Tests sisältää syntaksi- ja vertailutestejä. Päivämäärästä tai tilausnumerosta aiheutuvien virheiden välttämiseksi liiketoimintaprosessin aikana suoritetaan Data Quality -testaus.
Syntaksitestit: Se raportoi likaisista tiedoista, jotka perustuvat virheellisiin merkkeihin, merkkikuvioon, väärään isojen tai pienten kirjainten järjestykseen jne.
Viitetestit: Se tarkistaa tiedot tietomallin mukaisesti. Esimerkiksi: Asiakastunnus
Tietojen laadun testaus sisältää numerotarkistuksen, päivämäärän tarkistuksen, tarkkuustarkistuksen, tietojen tarkistuksen, nollatarkistuksen jne.
- Inkrementaalinen ETL-testaus
Testausprosessi: Tämä testaus tehdään vanhojen ja uusien tietojen eheyden tarkistamiseksi lisäämällä uusia tietoja. Inkrementaalinen testaus varmistaa, että lisäykset ja päivitykset käsitellään odotetulla tavalla inkrementaalisen ETL-prosessin aikana. - GUI/navigointitestaus
Testausprosessi: Tämä testaus tehdään käyttöliittymäraporttien navigointi- tai GUI-näkökohtien tarkistamiseksi.
Kuinka luoda ETL-testitapaus
ETL-testaus on konsepti, jota voidaan soveltaa erilaisiin tiedonhallinta-alan työkaluihin ja tietokantoihin. ETL-testauksen tavoitteena on varmistaa, että lähteestä kohteeseen liiketoiminnan muutoksen jälkeen ladatut tiedot ovat tarkkoja. Se sisältää myös tietojen todentamisen eri keskivaiheissa, joita käytetään lähteen ja kohteen välillä.
ETL-testauksen aikana kaksi asiakirjaa, joita ETL-testaaja käyttää aina, ovat
- ETL-kartoitussivut:ETL-kartoitussivut sisältävät kaikki tiedot lähde- ja kohdetaulukoista, mukaan lukien jokainen sarake ja niiden haku viitetaulukoista. ETL-testaajan on oltava tyytyväinen SQL-kyselyihin, koska ETL-testaukseen voi sisältyä suurten kyselyjen kirjoittaminen useilla liitoksilla tietojen vahvistamiseksi missä tahansa ETL-vaiheessa. ETL-kartoitussivut tarjoavat merkittävää apua kirjoitettaessa kyselyitä tietojen tarkistamiseksi.
- DB-lähdekaavio, Target: Se tulee pitää käden ulottuvilla, jotta voit tarkistaa kaikki tiedot karttaarkeista.
ETL-testi skenaariot ja testitapaukset
- Kartoitusasiakirjan validointi
Testitapaukset: Tarkista kartoitusdokumentista, onko vastaavia ETL-tietoja annettu vai ei. Muutoslokia tulee säilyttää jokaisessa kartoitusasiakirjassa. - Validation
Testitapaukset:1) Vahvista lähde- ja kohdetaulukon rakenne vastaavaa vastaavuusmääritysdokumenttia vasten.
2) Lähdetietotyypin ja kohdetietotyypin tulee olla samat
3) Sekä lähteen että kohteen tietotyyppien pituuden tulee olla yhtä suuri
4) Varmista, että tietokenttien tyypit ja muodot on määritetty
5) Lähdetietotyypin pituuden ei tulisi olla pienempi kuin kohdetietotyypin pituus
6) Tarkista taulukon sarakkeiden nimet vastaavuusmääritysdokumenttia vasten. - Rajoituksen validointi
Testitapaukset: Varmista, että rajoitukset on määritetty tietylle taulukolle odotetulla tavalla - Tietojen yhdenmukaisuusongelmat
Testitapaukset:1) Tietyn attribuutin tietotyyppi ja pituus voivat vaihdella tiedostoissa tai taulukoissa, vaikka semanttinen määritelmä on sama.
2) Eheysrajoitusten väärinkäyttö - Täydellisyysongelmat
Testitapaukset:1) Varmista, että kaikki odotetut tiedot on ladattu kohdetaulukkoon.
2) Vertaa lähteen ja kohteen tietuemääriä.
3) Tarkista hylätyt tiedot
4) Tarkistuksen tietoja ei tule katkaista kohdetaulukoiden sarakkeissa
5) Tarkista reuna-arvoanalyysi
6) Vertailee avainkenttien yksilöllisiä arvoja WH-palvelimelle ladattujen tietojen ja lähdetietojen välillä - Oikeusongelmat
Testitapaukset:1) Väärin kirjoitettuja tai epätarkasti tallennettuja tietoja
2) Null, ei-yksilöllinen tai alueen ulkopuolinen data - Muutos
Testitapaukset: Muutos - Tietojen laatu
Testitapaukset:1) Numerotarkistus: Numerotarkistus ja vahvistus on tarpeen
2) Päivämäärän tarkistus: Niiden on noudatettava päivämäärämuotoa, ja sen on oltava sama kaikissa tietueissa
3) Tarkkuustarkistus
4) Tietojen tarkistus
5) Null-tarkistus - Nolla Vahvista
Testitapaukset: Tarkista nolla-arvot, joissa "Not Null" on määritetty tietylle sarakkeelle. - Kopioi tarkistus
Testitapaukset:1) Yksilöllisen avaimen, ensisijaisen avaimen ja kaikkien muiden sarakkeiden on oltava yksilöllisiä liiketoiminnan vaatimusten mukaisesti, jos niillä on päällekkäisiä rivejä.
2) Tarkista, onko missään sarakkeessa kaksoisarvoja, kun se poimii tietoja useista lähdekoodin sarakkeista ja yhdistää ne yhdeksi sarakkeeksi.
3) Asiakkaan vaatimusten mukaisesti on varmistettava, ettei useiden sarakkeiden yhdistelmiä ole saman kohteen sisällä. - Vahvistuspäivämäärä
Testitapaukset: Päivämääräarvot käyttävät monia alueita ETL-kehityksessä1) Rivin luontipäivämäärän tietäminen
2) Tunnista aktiiviset tietueet ETL-kehitysnäkökulman mukaisesti
3) Tunnista aktiiviset tietueet liiketoimintavaatimusten näkökulmasta
4) Joskus päivitykset ja lisäykset luodaan päivämääräarvojen perusteella. - Täydellinen tietojen validointi
Testitapaukset:1) Lähde- ja kohdetaulukon koko tietojoukon validointi ilman kyselyä parhaassa ratkaisussa
2) Meidän on erotettava lähde miinus kohde ja kohde miinus lähde
3) Jos miinus-kysely palauttaa minkä tahansa arvon, niitä tulisi pitää epäsuhtaisina riveinä
4) Lähteen ja kohteen rivit on yhdistettävä intersect-lausekkeen avulla
5) Intersect-funktion palauttaman lukumäärän tulee vastata lähde- ja kohdetaulukoiden yksittäisiä lukumääriä
6) Jos rivien ja lukumäärän leikkauspisteiden miinuskyselyn palautusten summa on pienempi kuin lähde- tai kohdetaulukon lukumäärä, voimme olettaa, että on olemassa kaksoisrivejä. - Tietojen puhtaus
Testitapaukset: Tarpeettomat sarakkeet tulee poistaa ennen latausalueelle lataamista.
ETL-bugien tyypit
Bugien tyyppi | Tuotetiedot |
---|---|
Käyttöliittymävirheet/kosmeettiset viat |
• Sovelluksen käyttöliittymään liittyvä • Fonttityyli, fonttikoko, värit, tasaus, kirjoitusvirheet, navigointi ja niin edelleen |
Raja-arvoanalyysiin (BVA) liittyvä vika | • Minimi- ja maksimiarvot |
Ekvivalenssiluokan osiointiin (ECP) liittyvä vika | • Kelvollinen ja kelvoton tyyppi |
Tulo-/lähtövirheet |
• Kelvollisia arvoja ei hyväksytä • Virheelliset arvot hyväksyttiin |
Laskutusvirheet |
• Matemaattiset virheet • Lopputulos on väärä |
Lataa kuntovirheet |
• Ei salli useita käyttäjiä • Ei salli asiakkaan odottamaa kuormitusta |
Kisatilan vikoja |
• Järjestelmän kaatuminen ja jumiutuminen • Järjestelmä ei voi käyttää asiakasalustoja |
Versionhallinnan bugit |
• Ei logon vastaavuutta • Versiotietoja ei saatavilla • Tämä tapahtuu yleensä Regressiotestaus |
H/W bugeja | • Laite ei vastaa sovellukseen |
Ohjelähteen virheet | • Virheitä ohjeasiakirjoissa |
Tietokantatestauksen ja ETL-testauksen välinen ero
ETL-testaus | Tietokannan testaus |
---|---|
Tarkistaa, onko tietoja siirretty odotetulla tavalla | Ensisijainen tavoite on tarkistaa, noudattavatko tiedot tietomallissa määriteltyjä sääntöjä/standardeja |
Tarkistaa, vastaavatko lähteen ja kohteen määrät
Tarkistaa, ovatko muunnetut tiedot odotusten mukaisia |
Varmista, että orpotietueita ei ole ja että ulkomaisten ja ensisijaisten avainten välisiä suhteita ylläpidetään |
Varmistaa, että vieraan ensisijaisen avaimen suhteet säilyvät ETL:n aikana | Varmistaa, ettei redundantteja taulukoita ole ja että tietokanta on optimaalisesti normalisoitu |
Tarkistaa ladattujen tietojen kopioinnin | Tarkista, puuttuuko tietoja tarvittaessa sarakkeista |
ETL-testaajan velvollisuudet
ETL-testaajan keskeiset vastuut on jaettu kolmeen kategoriaan
- Vaihepöytä/ SFS tai MFS
- Liiketoiminnan muutoslogiikka sovellettu
- Target taulukon lataus vaihetiedostosta tai taulukosta muunnoksen soveltamisen jälkeen.
Jotkut ETL-testaajan tehtävistä ovat
- Testaa ETL-ohjelmistoa
- Testaa ETL-tietovaraston komponentteja
- Suorita taustatietopohjainen testi
- Luo, suunnittele ja toteuta testitapaukset, testisuunnitelmat ja testivaljaat
- Tunnista ongelma ja tarjoa ratkaisuja mahdollisiin ongelmiin
- Hyväksy vaatimukset ja suunnitteluvaatimukset
- Tiedonsiirrot ja Testaa tasainen tiedosto
- SQL-kyselyjen3 kirjoittaminen eri skenaarioihin, kuten count test
Suorituskykytestaus ETL:ssä
Suorituskykytestaus ETL:ssä on testaustekniikka, jolla varmistetaan, että ETL-järjestelmä pystyy käsittelemään useiden käyttäjien ja tapahtumien kuormitusta. ETL:n ensisijainen tavoite Suorituskykytestaus on optimoida ja parantaa istunnon suorituskykyä tunnistamalla ja poistamalla suorituskyvyn pullonkauloja. Lähde- ja kohdetietokannassa, kartoituksissa, istunnoissa ja järjestelmässä saattaa olla suorituskyvyn pullonkauloja.
Yksi parhaista suorituskyvyn testaamiseen/virittämiseen käytetyistä työkaluista on Informatica.
ETL-testauksen automatisointi
ETL-testauksen yleinen metodologia on käyttää SQL-komentosarjaa tai "seurata" tietoja. Nämä ETL-testauksen lähestymistavat ovat aikaa vieviä, virhealttiita ja tarjoavat harvoin täydellisen testin kattavuus. Nopeuttaa, parantaa kattavuutta, vähentää kustannuksia, parantaa Vika ETL-testauksen havaitsemissuhde tuotanto- ja kehitysympäristöissä, automaatio on tunnin tarve. Yksi tällainen työkalu on Informatica.
Parhaat käytännöt ETL-testaukseen
- Varmista, että tiedot on muunnettu oikein
- Projisoidut tiedot tulee ladata tietovarastoon ilman tietojen menetystä ja katkaisua
- Varmista, että ETL-sovellus hylkää ja korvaa ne asianmukaisesti oletusarvoilla ja raportoi virheellisistä tiedoista
- Tarve varmistaa, että tiedot ladataan tietovarastoon määrätyissä ja odotettavissa aikarajoissa skaalautuvuuden ja suorituskyvyn varmistamiseksi
- Kaikilla menetelmillä tulee olla asianmukaiset yksikkötestit näkyvyydestä riippumatta
- Niiden tehokkuuden mittaamiseksi kaikissa yksikkötesteissä on käytettävä asianmukaisia kattavuustekniikoita
- Pyri yhteen väitteeseen testitapausta kohti
- luoda yksikkötestejä jotka kohdistuvat poikkeuksiin
Tarkista - ETL-testaushaastattelun kysymyksiä ja vastauksia