data warehouse testing tutorial with examples etl testing guide
Deze tutorial behandelt de doelen en betekenis van datawarehousetests, ETL-testverantwoordelijkheden, fouten bij DW- en ETL-implementatie in detail:
In deze Diepgaande datawarehouse-trainingsreeks , we hebben de Wat is ET L Proces in datawarehouse in detail in onze vorige tutorial.
Deze tutorial geeft je inzicht in hoe Data Warehouse Testing kan worden uitgevoerd in een organisatie. Je leert ook over de doelen van DW-testen, hoe en wat voor soort testen aan de backend kan worden uitgevoerd, die allemaal bij dit proces zijn betrokken, DW-fouten en ETL-implementatie in detail.
Bekijk hier ALLE zelfstudies over datawarehousing.
Doelgroep
- Datawarehouse / ETL-ontwikkelaars en testers.
- Databaseprofessionals met basiskennis van databaseconcepten.
- Databasebeheerders / Big data-experts die Data Warehouse / ETL-concepten willen begrijpen.
- Afgestudeerden / Freshers die op zoek zijn naar Data Warehouse-banen.
Wat je leert:
Data Warehouse (ETL) testen
Wat is de betekenis van het testen van Data Warehouse- en Business Intelligence-systemen?
Testen speelt een cruciale rol in het succes van elk van de bovenstaande twee systemen, door de juistheid van gegevens te waarborgen die het vertrouwen van eindgebruikers opbouwen.
Over het algemeen kost een defect dat in de latere stadia van de levenscyclus van softwareontwikkeling wordt gevonden, meer om dat defect te herstellen. Deze situatie in de DW kan worden verergerd omdat de verkeerde gegevens die in de latere stadia zijn gevonden, tegen die tijd mogelijk zijn gebruikt bij belangrijke zakelijke beslissingen.
De oplossing in de DW is dus duurder in termen van proces-, mensen- en technologieveranderingen. U kunt beginnen met de DW-test vanaf de fase van het verzamelen van vereisten.
Er wordt een matrix voor traceerbaarheid van vereisten opgesteld en herzien, die voornamelijk de DW-functies in kaart brengt met hun respectievelijke zakelijke vereisten. De traceerbaarheidsmatrix fungeert als input voor het DW-testplan dat wordt opgesteld door de testers. Het testplan beschrijft de tests die moeten worden uitgevoerd om het DW-systeem te valideren.
Het beschrijft ook de soorten tests die op het systeem zullen worden uitgevoerd. Nadat het testplan klaar is, worden alle gedetailleerde testcases voorbereid voor verschillende DW-scenario's. Vervolgens worden alle testcases uitgevoerd en worden defecten gelogd.
Er is een standaard in de operationele wereld die verschillende omgevingen onderhoudt voor ontwikkeling, testen en productie. In de DW-wereld zorgen zowel de ontwikkelaars als de testers ervoor dat de ontwikkel- en testomgevingen beschikbaar zijn met de replica van productiegegevens voordat ze aan hun werk beginnen.
Dit wordt gekopieerd voor een lijst met tabellen met beperkte of volledige gegevens, afhankelijk van de projectbehoeften, aangezien de productiegegevens erg groot zijn. De ontwikkelaars ontwikkelen hun code in de ontwikkelaarsomgeving en leveren deze aan de testers.
De testers testen de code die in de testomgevingen wordt aangeleverd om er zeker van te zijn dat alle systemen werken. Daarna gaat de code live in de productieomgevingen. De DW-code wordt ook in verschillende versies onderhouden op basis van de defecten die in elke release zijn opgelost. Het onderhouden van meerdere omgevingen en codeversies helpt om een goed systeem op te bouwen.
core java interviewvragen en antwoorden
Doelen van datawarehouse-testen (ETL)
Laten we eens kijken naar de doelen van datawarehousetests.
# 1) Gegevensvolledigheid: Zorg ervoor dat alle gegevens uit verschillende bronnen in een datawarehouse worden geladen. Het testteam valideert of alle DW-records zijn geladen tegen de brondatabase en platte bestanden door de onderstaande voorbeeldstrategieën te volgen.
- Het totale aantal records dat vanuit het bronsysteem is geüpload, moet overeenkomen met het totale aantal records dat in DW is geladen. Als er een verschil is, kunt u nadenken over de afgewezen records.
- Vergelijk de gegevens die in elk veld van DW zijn geladen met de gegevensvelden van het bronsysteem. Dit zal eventuele datafouten naar voren brengen.
# 2) Gegevenstransformatie: Tijdens het uploaden van de brongegevens naar het datawarehouse kunnen enkele velden direct met de brongegevens worden geladen, maar worden er weinig velden geladen met de gegevens die volgens de bedrijfslogica worden getransformeerd. Dit is het complexe gedeelte van het testen van DW (ETL).
Hieronder staan de voorbeeldstrategieën om dit te testen:
- U kunt testen door gegevens in spreadsheets te maken en te vergelijken. Laad de getransformeerde brongegevens en DW-gegevens in spreadsheets en maak een vergelijking. Er mag geen mismatch zijn.
- Testers moeten de query's schrijven volgens de transformatielogica om de DW-gegevens te vergelijken met de brongegevens. Het uitvoeren van query's garandeert dat de gegevensvalidatie voor een van de velden niet ontbreekt.
# 3) Gegevenskwaliteit: Datawarehouse (ETL) -systeem moet de kwaliteit van de gegevens die erin worden geladen waarborgen door de gegevens te weigeren (of) te corrigeren.
DW mag verwerpen een paar van de bronsysteemgegevens gebaseerd op de logica van zakelijke vereisten. Bijvoorbeeld, een record weigeren als een bepaald veld niet-numerieke gegevens bevat. Alle afgewezen records worden ter referentie in de afwijzingstabel geladen.
De geweigerde gegevens worden aan de klanten gerapporteerd omdat er geen kans is om kennis te nemen van deze gemiste gegevens, aangezien deze niet in het DW-systeem worden geladen. DW mag correct de gegevens door nul te laden in plaats van nulwaarden enz.
# 4) Schaalbaarheid en prestaties: Datawarehouse moet de schaalbaarheid van het systeem bij toenemende belasting waarborgen. Hiermee mag er geen verslechtering van de prestaties optreden tijdens het uitvoeren van de query's, met verwachte resultaten in specifieke tijdsbestekken. Prestatietests brengen dus eventuele problemen aan het licht en lossen deze vóór de productie op.
Hieronder vindt u voorbeeldstrategieën voor het testen van prestaties en schaalbaarheid:
- Voer de prestatietests uit door productievolumes met gegevens te laden en zorg ervoor dat de tijdframes niet worden gemist.
- Valideer de prestaties van elke query met bulkgegevens. Test de prestaties door eenvoudige joins en meerdere joins te gebruiken.
- Laad dubbele (of) driedubbele hoeveelheid gegevens die naar verwachting de capaciteit van het systeem ongeveer berekenen.
- Test door taken voor alle vermelde rapporten tegelijk uit te voeren.
# 5) Integratietesten: Het datawarehouse moet integratietests uitvoeren met andere upstream- en downstream-applicaties. Indien mogelijk is het beter om de productiedata te kopiëren naar de testomgeving voor Integratietesten.
Alle systeemteams moeten bij deze fase worden betrokken om de hiaten te overbruggen en tegelijkertijd alle systemen te begrijpen en te testen.
# 6) Testen van eenheden: Dit wordt uitgevoerd door de individuele ontwikkelaars op basis van hun deliverables. Ontwikkelaars zullen unit-testscenario's voorbereiden op basis van hun begrip van de vereisten, de unit-tests uitvoeren en de resultaten documenteren. Dit helpt de ontwikkelaars om eventuele bugs op te lossen, voordat de code aan het testteam wordt geleverd.
# 7) Regressietesten: Valideert dat het DW-systeem niet defect is na het verhelpen van eventuele defecten. Dit wordt vaak gedaan bij elke nieuwe codewijziging.
# 8) Testen van gebruikersacceptatie: Deze tests worden uitgevoerd door zakelijke gebruikers om de systeemfunctionaliteit te valideren. De UAT-omgeving is anders dan de QA-omgeving. Het afmelden van UAT houdt in dat we klaar zijn om de code naar productie te verplaatsen.
Java interview codering vragen en antwoorden
Vanuit het datawarehouse- en Business Intelligence-systeemperspectief kunnen zakelijke gebruikers verschillende rapporten valideren via een gebruikersinterface (UI). Ze kunnen de rapportspecificaties valideren tegen de vereisten, kunnen de juistheid van gegevens in de rapporten valideren, kunnen valideren hoe snel het systeem de resultaten retourneert, enz.
DW-teststroomschema:
Verantwoordelijkheden voor datawarehousetests
Hieronder staan de verschillende teams vermeld die betrokken zijn bij het leveren van een succesvol DW-systeem:
- Business Analisten: Verzamel alle zakelijke vereisten voor het systeem en documenteer deze voor ieders voorkeur.
- Infrastructuur Team: Stel verschillende omgevingen in zoals vereist voor zowel ontwikkelaars als testers.
- Ontwikkelaars: Ontwikkel ETL-code volgens de vereisten en voer eenheidstests uit.
- QA (Quality Assurance) / Testers: Ontwikkel testplan, testcases, etc. Identificeert defecten in het systeem door de testcases uit te voeren. Voer verschillende testniveaus uit.
- DBA's: DBA's zorgen voor het omzetten van logische ETL-databasescenario's in fysieke ETL-databasescenario's en nemen ook deel aan prestatietests.
- Zakelijke gebruikers: Neem deel aan het testen van gebruikersacceptatie, voer queries uit en rapporteer over DW-tabellen.
Fouten in datawarehouse
Wanneer u ETL-gegevens uit meerdere bronnen extraheert, transformeert en laadt, bestaat de kans dat u slechte gegevens krijgt die de langlopende taken kunnen afbreken.
Hieronder volgen de belangrijkste oorzaken van storingen in het DW-systeem:
# 1) Overtredingen van bedrijfsregels (logische fouten): Logisch onjuiste gegevens zijn in strijd met de bedrijfsregels. Dergelijke gegevens kunnen meestal worden verwerkt tijdens transformatie- of laadfasen.
# 2) Overtredingen van gegevensregels (gegevensfouten): Datafouten doen zich voor in het DW-databasesysteem, zoals niet-overeenkomende gegevenstypen, fouten in gegevensbeperkingen, enz.
ETL-implementatie
Dit is de fase waarin al je inspanningen live gaan. Alle productieondersteunende documenten moeten worden voorbereid.
De documentatie vertelt anderen over de volgorde van de taken die moeten worden uitgevoerd, scenario's voor het herstellen van fouten, trainingsmateriaal voor de DW-ondersteuningsteams om het systeem na implementatie te controleren en voor het administratieve ondersteuningsteam om de rapporten uit te voeren.
Gevolgtrekking
In deze tutorial leerden we in detail over de doelen van datawarehousetests, ETL-testverantwoordelijkheden, fouten bij DW en ETL-implementatie.
We hopen dat je een idee hebt gekregen van hoe gedetailleerd testen kan worden gedaan in een Data Warehouse (ETL) -systeem.
Bezoek hier om vanaf het begin te leren datawarehousing.
Aanbevolen literatuur
- ETL-testen Tutorial datawarehouse-testen (een complete gids)
- Zelfstudie over het testen van volumes: voorbeelden en tools voor het testen van volumes
- Vragen en antwoorden over ETL-tests
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Functioneel testen versus niet-functioneel testen
- Zelfstudie over paarsgewijs testen of testen in alle paren met tools en voorbeelden
- Top 10 ETL-testtools in 2021
- Gegevensgestuurde tests uitvoeren in SoapUI Pro - SoapUI-zelfstudie # 14