etl testing data warehouse testing tutorial
ETL-testen / datawarehouse-proces en uitdagingen:
Laat me vandaag even de tijd nemen om mijn testbroederschap uit te leggen over een van de veelgevraagde en opkomende vaardigheden voor mijn testvrienden, namelijk ETL-testen (Extract, Transform en Load).
Deze tutorial geeft je een compleet idee over ETL-testen en wat we doen om het ETL-proces te testen.
Volledige lijst met tutorials in deze serie:
- Zelfstudie # 1 ETL-testen Datawarehousetesten Introductiegids
- Tutorial # 2 ETL-testen met Informatica PowerCenter Tool
- Tutorial # 3 ETL versus DB-testen
- Tutorial # 4 Business Intelligence (BI) testen: hoe bedrijfsgegevens te testen
- Zelfstudie # 5 Top 10 ETL-testtools
Er is vastgesteld dat onafhankelijke verificatie en validatie een enorm marktpotentieel aan het winnen is en veel bedrijven zien dit nu als een potentiële bedrijfswinst.
Klanten hebben een ander productassortiment gekregen in termen van serviceaanbod, verdeeld over veel gebieden op basis van technologie, proces en oplossingen. ETL of datawarehouse is een van de aanbiedingen die zich snel en succesvol ontwikkelen.
Via het ETL-proces worden gegevens opgehaald uit de bronsystemen, getransformeerd volgens bedrijfsregels en uiteindelijk geladen in het doelsysteem (datawarehouse). Een datawarehouse is een bedrijfsbrede winkel die geïntegreerde gegevens bevat die helpen bij het zakelijke besluitvormingsproces. Het is een onderdeel van business intelligence.
Wat je leert:
- Waarom hebben organisaties datawarehouse nodig?
- ETL-proces
- ETL-testtechnieken
- ETL / Data Warehouse-testproces
- Verschil tussen database- en datawarehouse-testen
- ETL-testuitdagingen
- Aanbevolen literatuur
Waarom hebben organisaties datawarehouse nodig?
Organisaties met georganiseerde IT-praktijken kijken ernaar uit om het volgende niveau van technologietransformatie te creëren. Ze proberen zichzelf nu veel operationeler te maken met eenvoudig te gebruiken gegevens.
Dat gezegd hebbende, zijn gegevens het belangrijkste onderdeel van elke organisatie, het kunnen alledaagse gegevens of historische gegevens zijn. Gegevens vormen de ruggengraat van elk rapport en rapporten vormen de basis waarop alle essentiële managementbeslissingen worden genomen.
De meeste bedrijven zetten een stap voorwaarts bij het bouwen van hun datawarehouse om zowel realtime als historische gegevens op te slaan en te bewaken. Het maken van een efficiënt datawarehouse is geen gemakkelijke taak. Veel organisaties hebben afdelingen met verschillende applicaties die op gedistribueerde technologie draaien.
ETL-tool wordt gebruikt om een vlekkeloze integratie te maken tussen verschillende databronnen van verschillende afdelingen. ETL-tool werkt als een integrator en haalt gegevens uit verschillende bronnen; het transformeren naar het gewenste formaat op basis van de regels voor bedrijfstransformatie en het laden in samenhangende database, bekend als Data Warehouse.
Goed geplande, goed gedefinieerde en effectieve testscope garandeert een soepele conversie van het project tot de productie. Een bedrijf krijgt het echte drijfvermogen zodra de ETL-processen zijn geverifieerd en gevalideerd door een onafhankelijke groep experts om ervoor te zorgen dat het datawarehouse concreet en robuust is.
ETL- of datawarehouse-testen zijn onderverdeeld in vier verschillende opdrachten ongeacht de gebruikte technologie of ETL-tools:
- Nieuwe datawarehousetests - Nieuwe DW is vanaf nul gebouwd en geverifieerd. Gegevensinvoer wordt gehaald uit klantvereisten en verschillende gegevensbronnen en er wordt een nieuw datawarehouse gebouwd en geverifieerd met behulp van ETL-tools.
- Migratietesten - In dit type project heeft de klant een bestaande DW en ETL die de klus uitvoert, maar ze zijn op zoek naar nieuwe tools om de efficiëntie te verbeteren.
- Verzoek wijzigen - In dit type project worden nieuwe gegevens uit verschillende bronnen toegevoegd aan een bestaande DW. Er kan ook een situatie zijn waarbij de klant zijn bestaande bedrijfsregel moet wijzigen of de nieuwe regel moet integreren.
- Rapport testen - Rapport is het eindresultaat van elk datawarehouse en het basisvoorstel waarvoor DW bouwt. Het rapport moet worden getest door lay-out, gegevens in het rapport en berekening te valideren.
ETL-proces
Notitie : Klik op de afbeelding voor een vergrote weergave)
ETL-testtechnieken
1) Testen van datatransformatie : Controleer of de gegevens correct zijn getransformeerd volgens verschillende zakelijke vereisten en regels.
2) Testen van bron tot doel : Zorg ervoor dat het aantal records dat in het doel is geladen, overeenkomt met het verwachte aantal.
3) Testen van bron naar doelgegevens : Zorg ervoor dat alle geprojecteerde gegevens in het datawarehouse worden geladen zonder gegevensverlies of afkapping.
4) Testen van gegevenskwaliteit : Zorg ervoor dat de ETL-applicatie op de juiste manier verwerpt, vervangt door standaardwaarden en ongeldige gegevens rapporteert.
5) Prestatietests : Zorg ervoor dat gegevens binnen voorgeschreven en verwachte tijdsbestekken in het datawarehouse worden geladen om verbeterde prestaties en schaalbaarheid te bevestigen.
hoe team foundation server te gebruiken
6) Testen van productievalidatie: Valideer de gegevens in het productiesysteem en vergelijk deze met de brongegevens.
7) Testen van gegevensintegratie : Zorg ervoor dat de gegevens uit verschillende bronnen correct in het doelsysteem zijn geladen en dat alle drempelwaarden zijn gecontroleerd.
8) Testen van toepassingsmigratie : Bij deze tests is ervoor gezorgd dat de ETL-applicatie goed werkt bij het verhuizen naar een nieuwe box of nieuw platform.
9) Controle van gegevens en beperkingen : Het datatype, de lengte, de index, de beperkingen, etc. worden in dit geval getest.
10) Controle op dubbele gegevens : Test of er dubbele gegevens aanwezig zijn in de doelsystemen. Dubbele gegevens kunnen leiden tot verkeerde analytische rapporten.
Naast de bovenstaande ETL-testmethoden worden ook andere testmethoden zoals systeemintegratietesten, gebruikersacceptatietesten, incrementele testen, regressietesten, hertesten en navigatietesten uitgevoerd om ervoor te zorgen dat alles soepel en betrouwbaar verloopt.
ETL / Datawarehouse Testproces
Net als bij alle andere tests die vallen onder onafhankelijke verificatie en validatie, doorloopt ETL ook dezelfde fase.
- Vereiste begrip
- Valideren
- Test schatting op basis van een aantal tabellen, de complexiteit van regels, datavolume en prestatie van een job.
- Testplanning gebaseerd op de input van testschatting en zakelijke vereisten. We moeten hier vaststellen wat binnen de scope valt en wat niet. In deze fase kijken we ook naar afhankelijkheden, risico's en mitigatieplannen.
- Ontwerpen van testcases en testscenario's van alle beschikbare inputs. We moeten ook kaartdocumenten en SQL-scripts ontwerpen.
- Zodra alle testcases klaar en goedgekeurd zijn, gaat het testteam verder met het uitvoeren van pre-executiecontrole en voorbereiding van testgegevens om uit te proberen
- Ten slotte wordt de uitvoering uitgevoerd totdat aan de exitcriteria is voldaan. De uitvoeringsfase omvat dus het uitvoeren van ETL-taken, het bewaken van het uitvoeren van taken, het uitvoeren van SQL-scripts, het loggen van defecten, het opnieuw testen van defecten en het testen van regressie.
- Na succesvolle afronding wordt een samenvattend rapport opgesteld en wordt het afsluitingsproces voltooid. In deze fase wordt afgetekend om de functie of code naar de volgende fase te promoten.
De eerste twee fasen, d.w.z. het begrijpen en valideren van vereisten, kunnen worden beschouwd als voorbereidende stappen van het ETL-testproces.
Het hoofdproces kan dus worden weergegeven zoals hieronder:
Het is noodzakelijk om een teststrategie te definiëren die wederzijds moet worden aanvaard door belanghebbenden voordat met daadwerkelijke testen wordt begonnen. Een goed gedefinieerde teststrategie zorgt ervoor dat de juiste aanpak is gevolgd om aan de testambities te voldoen.
Voor ETL / Data Warehouse-tests kan het nodig zijn om uitgebreid SQL-instructies te schrijven door het testteam of om de SQL die door het ontwikkelingsteam wordt geleverd, aan te passen. In elk geval moet een testteam op de hoogte zijn van de resultaten die ze proberen te krijgen met behulp van die SQL-instructies.
Verschil tussen database- en datawarehouse-testen
Er is een algemeen misverstand dat databasetests en datawarehouse is vergelijkbaar, terwijl het feit is dat beide een verschillende richting inslaan bij het testen.
- Databasetests worden uitgevoerd met behulp van een kleinere schaal van gegevens, normaal met OLTP-databases (online transactieverwerking), terwijl datawarehouse-tests worden uitgevoerd met een groot volume met gegevens met OLAP-databases (online analytische verwerking).
- Bij databasetests worden normaal gesproken gegevens consequent uit uniforme bronnen geïnjecteerd, terwijl bij datawarehouse-tests de meeste gegevens afkomstig zijn van verschillende soorten gegevensbronnen die opeenvolgend inconsistent zijn.
- We voeren over het algemeen de enige CRUD-bewerking (maken, lezen, bijwerken en verwijderen) uit bij het testen van databases, terwijl we bij het testen van datawarehouses alleen-lezen (selecteren) gebruiken.
- Genormaliseerde databases worden gebruikt bij DB-testen, terwijl gedemoraliseerde DB wordt gebruikt bij datawarehouse-testen.
Er zijn een aantal universele verificaties die moeten worden uitgevoerd voor elke vorm van datawarehouse-testen.
Hieronder staat de lijst met objecten die als essentieel worden beschouwd voor validatie bij deze test:
- Controleer of de gegevenstransformatie van bron naar bestemming werkt zoals verwacht
- Controleer of de verwachte gegevens zijn toegevoegd aan het doelsysteem
- Controleer of alle DB-velden en veldgegevens zijn geladen zonder enige afkapping
- Controleer de gegevenscontrolesom voor overeenstemming met het aantal records
- Controleer of voor geweigerde gegevens de juiste foutlogboeken met alle details worden gegenereerd
- Controleer NULL-waardevelden
- Controleer of dubbele gegevens niet zijn geladen
- Controleer de gegevensintegriteit
=> Ken de verschil tussen ETL / datawarehouse-testen en databasetesten
ETL-testuitdagingen
Dit testen is heel anders dan conventioneel testen. Er zijn veel uitdagingen waarmee we werden geconfronteerd tijdens het uitvoeren van datawarehouse-testen.
Hier zijn enkele uitdagingen die ik tijdens mijn project heb ervaren:
- Incompatibele en dubbele gegevens
- Verlies van gegevens tijdens ETL-proces
- Onbeschikbaarheid van het inclusief testbed
- Testers hebben geen privileges om ETL-taken zelf uit te voeren
- Het volume en de complexiteit van gegevens zijn enorm
- Storing in bedrijfsproces en procedures
- Problemen bij het verkrijgen en opbouwen van testgegevens
- Instabiele testomgeving
- Ontbrekende bedrijfsstroominformatie
Gegevens zijn belangrijk voor bedrijven om de cruciale zakelijke beslissingen te nemen. ETL-tests spelen een belangrijke rol bij het valideren en ervoor zorgen dat de bedrijfsinformatie exact, consistent en betrouwbaar is. Het minimaliseert ook het risico van gegevensverlies tijdens de productie.
Ik hoop dat deze tips zullen helpen ervoor te zorgen dat uw ETL-proces nauwkeurig is en dat het datawarehouse dat hierdoor wordt opgebouwd, een concurrentievoordeel voor uw bedrijf is.
Volledige lijst met ETL-testhandleidingen:
- Zelfstudie # 1 ETL-testen Datawarehousetesten Introductiegids
- Tutorial # 2 ETL-testen met Informatica PowerCenter Tool
- Tutorial # 3 ETL versus DB-testen
- Tutorial # 4 Business Intelligence (BI) testen: hoe bedrijfsgegevens te testen
- Zelfstudie # 5 Top 10 ETL-testtools
Dit is een gastpost van Vishal Chhaperia die in een MNC werkt in een testmanagementrol. Hij heeft uitgebreide ervaring met het managen van multi-technologie QA-projecten, processen en teams.
Heb je gewerkt aan ETL-testen? Deel hieronder uw tips en uitdagingen voor ETL / DW-testen.
Aanbevolen literatuur
- Alfatesten en bètatesten (een complete gids)
- Vragen en antwoorden over ETL-tests
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Top 10 ETL-testtools in 2021
- Build Verification Testing (BVT Testing) Complete Guide
- Functioneel testen versus niet-functioneel testen
- De 4 stappen naar Business Intelligence (BI) -testen: hoe u bedrijfsgegevens test
- Primer eBook downloaden testen