how perform etl testing using informatica powercenter tool
Het is een bekend feit dat ETL-testen is een van de cruciale aspecten van elk Bedrijfsintelligentie (BI) gebaseerde applicatie. Om de kwaliteitsborging en acceptatie in het bedrijfsleven live te krijgen, moet de BI-applicatie ruim van tevoren worden getest.
Het primaire doel van ETL-testen is ervoor te zorgen dat de IS xtract, T transformeren & L. oad-functionaliteit werkt volgens de zakelijke vereisten en in overeenstemming met de prestatienormen.
Voordat we ingaan op ETL-testen met Computergebruik , is het essentieel om te weten wat ETL en Informatica zijn.
Wat je leert:
- Wat je leert in deze ETL-tutorial:
- Informatica PowerCenter ETL-testtool:
- Inzicht in ETL-testen specifiek voor Informatica:
- Classificatie van ETL-testen in Informatica:
- Voordelen van het gebruik van Informatica als ETL-tool:
- Enkele handige tips om u te helpen bij het testen van Informatica ETL:
- Gevolgtrekking:
- Aanbevolen literatuur
Wat je leert in deze ETL-tutorial:
- Basisprincipes van ETL-, Informatica- en ETL-testen.
- Inzicht in ETL-testen die specifiek zijn voor Informatica.
- Classificatie van ETL-testen in Informatica.
- Voorbeeldtestcases voor Informatica ETL-testen.
- Voordelen van het gebruik van Informatica als een ETL-tool
- Tips en trucs om u te helpen bij het testen.
In computergebruik verwijst Extract, Transform, Load (ETL) naar een proces in databasegebruik en vooral in datawarehousing dat het volgende uitvoert:
- Data-extractie - Extraheert gegevens uit homogene of heterogene gegevensbronnen.
- Gegevenstransformatie - Formatteert de gegevens in het vereiste type.
- Gegevens laden - Verplaats en bewaar de gegevens naar een permanente locatie voor langdurig gebruik.
Informatica PowerCenter ETL-testtool:
Informatica PowerCenter is een krachtige ETL-tool van Informatica Corporation. Het is een enkel, verenigd platform voor gegevensintegratie voor ondernemingen voor het openen, ontdekken en integreren van gegevens van vrijwel elk bedrijfssysteem, in elk
Het is een enkel, verenigd platform voor gegevensintegratie voor ondernemingen voor het openen, ontdekken en integreren van gegevens uit vrijwel elk bedrijfssysteem, in elk formaat, en het leveren van die gegevens aan de hele onderneming met elke snelheid. Door Informatica PowerCenter creëren we workflows die end-to-end ETL-bewerkingen uitvoeren.
Download en installeer Informatica PowerCenter:
Gebruik de onderstaande link met stapsgewijze instructies om Informatica PowerCenter 9.x te installeren en configureren:
Informatica PowerCenter 9 Installatie- en configuratiegids
Inzicht in ETL-testen specifiek voor Informatica:
ETL-testers hebben vaak relevante vragen over wat ze in Informatica moeten testen en hoeveel testdekking er nodig is?
Ik zal u een rondleiding geven over het uitvoeren van ETL-tests die specifiek zijn voor Informatica.
De belangrijkste aspecten die in essentie aan bod moeten komen bij Informatica ETL-tests zijn:
- Het testen van de functionaliteit van de Informatica-workflow en zijn componenten; alle transformaties die in de onderliggende toewijzingen worden gebruikt.
- Om de volledigheid van de gegevens te controleren (d.w.z. ervoor zorgen dat de geprojecteerde gegevens naar het doel worden geladen zonder enige afkapping en gegevensverlies),
- Verifiëren of de gegevens binnen de geschatte tijdslimieten naar het doel worden geladen (d.w.z. evalueren van de prestaties van de workflow),
- Ervoor zorgen dat de workflow niet toestaat dat ongeldige of ongewenste gegevens in het doel worden geladen.
Classificatie van ETL-testen in Informatica:
Voor een beter begrip en gemak van de tester, kunnen ETL-testen in Informatica worden onderverdeeld in twee hoofdonderdelen:
hoe je een reeks strings maakt
# 1) Testen op hoog niveau
# 2) Gedetailleerd testen
Ten eerste bij de tests op hoog niveau:
- U kunt controleren of de Informatica-workflow en gerelateerde objecten geldig zijn of niet.
- Controleer of de workflow met succes wordt voltooid tijdens het uitvoeren.
- Bevestig of alle vereiste sessies / taken worden uitgevoerd in de workflow.
- Valideer of de gegevens worden geladen in de gewenste doelmap en met de verwachte bestandsnaam (voor het geval de workflow een bestand aan het maken is), enz.
In een notendop kun je zeggen dat de tests op hoog niveau alle elementaire gezondheidscontroles omvatten.
Komt naar het volgende deel, d.w.z. gedetailleerde testen in Informatica , ga je de diepte in om te valideren of de logica die in Informatica geïmplementeerd is, werkt zoals verwacht in termen van resultaten en prestaties.
- U moet de validaties van de uitvoergegevens op veldniveau uitvoeren om te bevestigen dat elke transformatie goed werkt
- Controleer of het record op elk verwerkingsniveau telt en ten slotte of het doel is zoals verwacht.
- Controleer elementen zoals bronkwalificatie en doel grondig in de bron- / doelstatistieken van de sessie
- Zorg ervoor dat de looptijd van de Informatica-workflow gelijk is aan de geschatte looptijd.
Samenvattend kunnen we zeggen dat de gedetailleerde tests een rigoureuze end-to-end validatie van de Informatica-workflow en de bijbehorende gegevensstroom omvatten.
Laten we hier een voorbeeld nemen:
We hebben een plat bestand met gegevens over verschillende producten. Het slaat details op zoals de naam van het product, de beschrijving, categorie, vervaldatum, prijs, enz.
Mijn vereiste is om elk productrecord uit het bestand op te halen, een uniek product-ID te genereren dat overeenkomt met elk record en het in de doeldatabasetabel te laden. Ik moet ook die producten schrappen die ofwel tot de categorie ‘C’ behoren of waarvan de vervaldatum korter is dan de huidige datum.
Stel, mijn platte bestand (bron) ziet er als volgt uit:
Notitie:Klik op een afbeelding voor een vergrote weergave)
Op basis van mijn hierboven vermelde vereisten, zou mijn databasetabel (Target) er als volgt uit moeten zien:
Tabelnaam: Tbl_Product
Prod_ID (primaire sleutel) | Productnaam | Prod_description | Prod_category | Prod_expiry_date | Prod_price |
---|---|---|---|---|---|
1001 | abc | Dit is product ABC. | M. | 14-8-2017 | 150 |
1002 | DEF | Dit is product DEF. | S | 10/6/2018 | 700 |
1003 | PQRS | Dit is product PQRS. | M. | 23-5-2019 | 1500 |
Stel dat we nu een Informatica-workflow hebben ontwikkeld om de oplossing voor mijn ETL-vereisten te krijgen.
De onderliggende Informatica-mapping leest gegevens uit het platte bestand, geeft de gegevens door een routertransformatie die rijen weggooit die productcategorie als 'C' of vervaldatum hebben, en vervolgens gebruik ik een reeksgeneratie om de unieke primaire sleutel te maken waarden voor kolom Prod_ID in Producttabel.
Ten slotte worden de records geladen in de producttabel die het doel is voor mijn Informatica-mapping.
Voorbeelden:
Hieronder staan de voorbeeldtestgevallen voor het hierboven beschreven scenario.
U kunt deze testcases gebruiken als sjabloon in uw Informatica-testproject en soortgelijke testcases toevoegen / verwijderen, afhankelijk van de functionaliteit van uw workflow.
# 1) Testcase-ID: T001
Doel van de testcase: Valideer workflow - (workflow_name)
Test procedure:
- Ga naar workflowmanager
- Open de workflow
- Workflows menu-> klik op valideren
Invoerwaarde / testgegevens: Bronnen en doelen zijn beschikbaar en verbonden
Bronnen: (naam van alle broninstanties)
Toewijzingen: (naam van alle toewijzingen)
Targets: (naam van alle doelinstanties)
Sessie: (naam alle sessies)
Verwachte resultaten: Bericht in de statusbalk van de workflowmanager: 'Workflow (workflow_name) is geldig'
Daadwerkelijke resultaten: Bericht in de statusbalk van de workflowmanager: 'Workflow (workflow_name) is geldig'
Opmerkingen:Slagen voor
Tester Opmerkingen:
# 2) Testcase-ID: T002
Doel van de testcase: Om ervoor te zorgen dat de workflow met succes wordt uitgevoerd
Test procedure:
- Ga naar workflowmanager
- Open de workflow
- Klik met de rechtermuisknop in workflowontwerper en selecteer Start workflow
- Controleer de status in Workflow Monitor
Invoerwaarde / testgegevens: Hetzelfde als testgegevens voor T001
Verwachte resultaten: Bericht in het uitvoervenster in Workflowmanager: Taakupdate: (workflow_name) (geslaagd)
Daadwerkelijke resultaten: Bericht in het uitvoervenster in Workflowmanager: Taakupdate: (workflow_name) (geslaagd)
Opmerkingen:Slagen voor
Tester Opmerkingen: De workflow is geslaagd
kwaliteitsborging en kwaliteitscontrole verschil
Notitie: U kunt de status van de werkstroomuitvoering (mislukt / geslaagd) gemakkelijk zien in Workflowmonitor, zoals in het onderstaande voorbeeld. Zodra de workflow is voltooid, wordt de status automatisch weergegeven in de workflowmonitor.
In de bovenstaande schermafbeelding ziet u de starttijd en eindtijd van de workflow, evenals de status als geslaagd.
# 3) Testcase-ID: T003
Doel van de testcase: Om te valideren of het gewenste aantal records naar het doel wordt geladen
Test procedure: Zodra de workflow succesvol is verlopen, gaat u naar de doeltabel in de database
Controleer het aantal rijen in de doeldatabasetabel
Invoerwaarde / testgegevens: 5 rijen in het bronbestand
Doel: databasetabel - (Tbl_Product)
Query om uit te voeren in SQL-server: Selecteer aantal (1) uit (Tbl_Product)
Verwachte resultaten: 3 rijen geselecteerd
Daadwerkelijke resultaten: 3 rijen geselecteerd
Opmerkingen:Slagen voor
Tester Opmerkingen:
# 4) Testcase-ID: T004
Doel van de testcase: Om te controleren of de sequentiegenerator in Informatica-mapping goed werkt voor het vullen van (primary_key_column_name bv. Prod_ID) kolom
Test procedure: Zodra de workflow succesvol is verlopen, gaat u naar de doeltabel in de database
Controleer de unieke reeks gegenereerd in kolom Prod_ID
Invoerwaarde / testgegevens: waarde voor Prod_ID blanco gelaten voor elke rij in het bronbestand
Sequence Generator toegewezen aan Prod_ID kolom in de mapping
Startwaarde sequentiegenerator ingesteld op 1001
Doel: databasetabel- (Tbl_Product) geopend in SQL Server
Verwachte resultaten: Waarde van 1001 tot 1003 ingevuld voor elke rij voor kolom Prod_ID
Daadwerkelijke resultaten: Waarde van 1001 tot 1003 ingevuld voor elke rij voor kolom Prod_ID
Opmerkingen:Slagen voor
Tester Opmerkingen:
# 5) Testcase-ID: T005
wat is een json-bestand hoe te openen
Doel van de testcase: Om te valideren of routertransformatie goed werkt om records te onderdrukken voor het geval de productcategorie ‘C’ is of het product is verlopen.
Test procedure: Zodra de workflow succesvol is verlopen, gaat u naar de doeltabel in de database
Voer de query uit op de doeltabel om te controleren of de gewenste records zijn onderdrukt.
Invoerwaarde / testgegevens: 5 rijen in het bronbestand
Doel: databasetabel - (Tbl_Product)
Query om uit te voeren in SQL-server: Selecteer * uit Product waarbij Prod_category = ’C’ of Prod_expiry_date< sysdate
Verwachte resultaten: geen rijen geselecteerd
Daadwerkelijke resultaten: geen rijen geselecteerd
Opmerkingen:Slagen voor
Tester Opmerkingen: (indien aanwezig)
# 6) Testcase-ID: T006
Doel van de testcase: Om de prestaties van de workflow te controleren door de workflowruntime op te nemen.
Test procedure:
- Open de workflowmonitor en voer de run uit die is uitgevoerd als onderdeel van T001.
- Noteer de starttijd en eindtijd van de workflow.
- Bereken de totale looptijd door de begintijd af te trekken van de eindtijd.
Invoerwaarde / testgegevens: De workflow is succesvol verlopen
Starttijd van workflow op monitor
Eindtijd van workflow op monitor.
Verwachte resultaten: 2 min 30 sec
Daadwerkelijke resultaten: 2 min 15 sec
Opmerkingen:Slagen voor
Tester Opmerkingen: Beschouw de test als ‘Geslaagd’ in het geval dat de werkelijke run-duur +/- 10% van de verwachte run-duur is.
# 7) Testcase-ID: T007
Doel van de testcase: Gegevens valideren op kolomniveau van de doeltabel om ervoor te zorgen dat er geen gegevens verloren gaan.
Test procedure: Zodra de workflow succesvol is verlopen, gaat u naar de SQL Server.
Voer de query uit op de doeltabel om te controleren of er geen gegevens verloren gaan.
Invoerwaarde / testgegevens: De workflow is succesvol verlopen
Een voorbeeldrecord uit een plat bronbestand.
SQL-vraag: Selecteer Top 1 * van Tbl_Patient;
Verwachte resultaten:
1 rij geretourneerd
Prod_ID (primaire sleutel) | Productnaam | Prod_description | Prod_category | Prod_expiry_date | Prod_price |
---|---|---|---|---|---|
1001 | abc | Dit is product ABC. | M. | 14-8-2017 | 150 |
Daadwerkelijke resultaten:
1 rij geretourneerd.
Prod_ID (primaire sleutel) | Productnaam | Prod_description | Prod_category | Prod_expiry_date | Prod_price |
---|---|---|---|---|---|
1001 | abc | Dit is product ABC. | M. | 14-8-2017 | 150 |
Opmerkingen:Slagen voor
Tester Opmerkingen: Beschouw de test als ‘Geslaagd’ in het geval dat de werkelijke run-duur +/- 10% van de verwachte run-duur is.
Voordelen van het gebruik van Informatica als ETL-tool:
Informatica is een populaire en succesvolle ETL-tool omdat:
- Het heeft een hoog 'go live'-slagingspercentage (bijna 100%)
- Informatica heeft de mogelijkheid om Lean Integration mogelijk te maken.
- Het is een redelijk geprijsde tool in vergelijking met andere ETL-tools.
- Het wordt geleverd met een interne taakplanner. Het is dus niet nodig om de planner van een derde partij afzonderlijk te gebruiken, zoals bij sommige andere ETL-tools.
- Eenvoudige training en beschikbaarheid van tools hebben Informatica populairder gemaakt.
Enkele handige tips om u te helpen bij het testen van Informatica ETL:
- Genereer de testgegevens voordat u de testscenario's uitvoert.
- De testgegevens moeten in overeenstemming zijn met de testcase waarvoor ze worden gebruikt.
- Zorg ervoor dat u alle 3 de scenario's hebt behandeld - er worden geen gegevens ingediend, ongeldige gegevens worden ingediend en geldige gegevens worden ingediend als invoer voor de Informatica-workflow.
- Zorg ervoor dat u test of alle vereiste gegevens volledig naar het doel worden geladen. Hiervoor kunt u testcase - T003 hierboven beschreven als voorbeeld gebruiken.
- Het is erg belangrijk om te testen of de workflow alle datatransformaties correct uitvoert volgens de bedrijfsregels.
- Ik zou willen voorstellen dat u voor elke transformatie die wordt toegepast in uw Informatica-mapping, een checklist moet hebben om de uitvoergegevens eraan te verifiëren. Op die manier kunt u gemakkelijk bugs rapporteren als een transformatie niet goed werkt.
Gevolgtrekking:
We hebben dus in detail enkele van de voorbeeldtestcases gezien die kunnen worden gebruikt als sjabloon voor ETL-testen in Informatica. Zoals ik eerder al zei, kunt u deze testcases toevoegen / verwijderen / wijzigen, afhankelijk van het scenario dat u in uw project heeft.
Zoals ik eerder al zei, kunt u deze testcases toevoegen / verwijderen / wijzigen, afhankelijk van het scenario dat u in uw project heeft.
Het Informatica PowerCenter is een basis voor alle data-integratieactiviteiten.
U kunt eenvoudig scriptvrij geautomatiseerd testen van gegevens die naar een test-, dev- of productieomgeving zijn gekopieerd, en dat is de reden waarom PowerCenter tegenwoordig de meest populaire ETL-tool is.
Aanbevolen literatuur => ETL vs. DB-tests - Een nadere blik op de behoefte aan ETL-tests
Over de auteur: Dit is een gastartikel van Priya K. Ze heeft meer dan 4 jaar hands-on ervaring in het ontwikkelen en ondersteunen van Informatica ETL-applicaties.
Stel gerust uw vragen / opmerkingen over deze ETL-tool.
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Backend-tests uitvoeren
- Vragen en antwoorden over ETL-tests
- ETL-testen Tutorial datawarehouse-testen (een complete gids)
- Primer eBook downloaden testen
- ETL vs. DB-testen - Een nadere blik op ETL-testbehoeften, planning en ETL-tools
- Laadtesten met LoadUI - een gratis en open source loadtesttool
- Top 10 ETL-testtools in 2021