etl vs db testing closer look etl testing need
Software Testing heeft een verscheidenheid aan gebieden die moeten worden geconcentreerd. De belangrijkste variëteiten zijn functionele en niet-functionele testen. Functioneel testen is de procedurele manier om ervoor te zorgen dat de ontwikkelde functionaliteit werkt zoals verwacht. Niet-functionele testen is de benadering waarmee de niet-functionele aspecten, zoals verbetering of prestaties op een acceptabel niveau, kunnen worden gegarandeerd.
Er is nog een andere smaak van testen genaamd DB-testen De gegevens worden in de database georganiseerd in de vorm van tabellen. Voor zaken kunnen er stromen zijn waar de gegevens uit de meerdere tabellen kunnen worden samengevoegd of verwerkt tot een enkele tabel en vice versa.
ETL-testen is een andere vorm van testen die de voorkeur heeft in de businesscase waar een soort rapportagebehoefte wordt gezocht door de klanten. De rapportage wordt gezocht om de eisen, behoeften en het aanbod te analyseren, zodat klanten, bedrijven en eindgebruikers zeer goed bediend en geprofiteerd worden.
Wat leer je in deze tutorial?
In deze zelfstudie leert u wat databasetests is, wat ETL-tests is, een verschil tussen DB-tests en ETL-tests, en meer details over de behoefte, het proces en de planning van ETL-tests met echte voorbeelden.
We hebben ook ETL-testen in meer detail besproken op de onderstaande pagina. Kijk er ook eens naar.
Tips en technieken voor ETL-tests / datawarehouse-tests
Wat je leert:
- DB-testen versus ETL-testen
- Vergelijkende studie van ETL- en DB-testen
- Waarom zou het bedrijf voor ETL moeten kiezen?
- ETL-testplanning
- Kritieke ETL-behoeften
- Basisproblemen bij ETL-testen
- Punten om te onthouden bij het plannen en uitvoeren van ETL-tests
- ETL-tools en hun aanzienlijke gebruik
- Gevolgtrekking
- Aanbevolen literatuur
DB-testen versus ETL-testen
De meesten van ons zijn een beetje in de war over het feit dat zowel databasetests als de ETL-tests vergelijkbaar en hetzelfde zijn. Het is een feit dat ze vergelijkbaar zijn, maar niet hetzelfde.
DB-testen:
DB-testen wordt meestal op grote schaal gebruikt in de bedrijfsstromen waar er meerdere gegevensstromen voorkomen in de applicatie van meerdere gegevensbronnen naar een enkele tabel. De gegevensbron kan een tabel, een plat bestand, een applicatie of iets anders zijn dat bepaalde uitvoergegevens kan opleveren.
De verkregen outputgegevens kunnen op hun beurt nog steeds worden gebruikt als input voor de sequentiële bedrijfsstroom. Wanneer we DB-tests uitvoeren, is het belangrijkste dat moet worden vastgelegd, de manier waarop de gegevens van de bron kunnen worden getransformeerd, samen met hoe ze worden opgeslagen op de bestemmingslocatie.
Synchronisatie is een belangrijk en essentieel ding waarmee rekening moet worden gehouden bij het uitvoeren van de DB-tests. Vanwege de positionering van de toepassing in de architectuurstroom, kunnen er enkele problemen zijn met de gegevens- of DB-synchronisatie. Daarom moet hier tijdens het testen voor worden gezorgd, omdat dit het potentieel kan overwinnen ongeldige gebreken of bugs.
Voorbeeld 1
Project 'A' heeft een geïntegreerde architectuur waarbij de specifieke applicatie gebruik maakt van gegevens uit verschillende andere heterogene gegevensbronnen. Daarom moet de integriteit van deze gegevens met de bestemmingslocatie worden gedaan samen met de validaties voor het volgende:
- Validatie van primaire externe sleutel
- Kolom waarden integriteit
- Null-waarden voor alle kolommen
Wat is ETL-testen?
ETL-testen is een speciaal type testen dat de klant wil laten doen voor hun prognoses en analyse van hun bedrijf. Dit wordt meestal gebruikt voor rapportagedoeleinden. Als de klanten bijvoorbeeld moeten hebben gerapporteerd over de klanten die hun product gebruiken of ervoor gaan op basis van de dag dat ze kopen, moeten ze gebruik maken van de ETL-rapporten.
Post analyse en rapportage , deze gegevens zijn gegevens opgeslagen naar een datawarehouse waar de oude historische bedrijfsgegevens verplaatst moeten worden.
wat is een .eps-bestand
Dit is een test op meerdere niveaus, aangezien de gegevens van de bron worden getransformeerd naar meerdere omgevingen voordat ze de uiteindelijke bestemming bereiken.
Voorbeeld 2
We zullen een groep 'A' overwegen die zaken doet met retailklanten via een winkelmarkt waar de klant alle huishoudelijke artikelen kan kopen die nodig zijn voor zijn dagelijkse overleving. Hier krijgen alle bezoekende klanten een uniek lidmaatschaps-ID waarmee ze punten kunnen verdienen elke keer dat ze iets op de winkelmarkt komen kopen.
Volgens het reglement van de groep vervallen de behaalde punten elk jaar. En afhankelijk van hun gebruik, kan het lidmaatschap worden opgewaardeerd naar een lid van een hogere rang of worden verlaagd naar een lid van een lagere rang in vergelijking met de huidige rang.
Na 5 jaar van vestiging op de winkelmarkt is het management nu op zoek naar schaalvergroting van hun bedrijf, samen met omzet.
Daarom hadden ze weinig zakelijke rapporten nodig om hun klanten te promoten.
Bij Database Testing voeren we het volgende uit:
# 1) Validaties op de doeltabellen die zijn gemaakt met kolommen met logische berekeningen zoals beschreven in het logische kaartblad en het datarouteringsdocument.
#twee) Manipulaties zoals het invoegen, bijwerken en verwijderen van de klantgegevens kunnen worden uitgevoerd op elke POS-applicatie van de eindgebruiker in een geïntegreerd systeem samen met de back-enddatabase, zodat dezelfde wijzigingen worden weerspiegeld in het eindsysteem.
# 3) DB-tests moeten ervoor zorgen dat er geen klantgegevens zijn die verkeerd zijn geïnterpreteerd of zelfs maar zijn ingekort. Dit kan leiden tot ernstige problemen, zoals het onjuist in kaart brengen van klantgegevens met hun loyaliteit
Bij ETL-testen controleren we op het volgende:
# 1) Ervan uitgaande dat er 100 klanten in de bron zijn, gaat u na of al deze klanten samen met hun gegevens uit de 100 rijen van het bronsysteem naar het doel zijn verplaatst. Dit staat bekend als verificatie van Controle op volledigheid van gegevens.
#twee) Controleren of de klantgegevens correct zijn gemanipuleerd en gedemonstreerd in de 100 rijen. Dit wordt simpelweg verificatie van genoemd Controle van de nauwkeurigheid van gegevens
# 3) Rapporten voor de klanten die binnen een bepaalde periode meer dan x punten hebben verdiend.
Vergelijkende studie van ETL- en DB-testen
Bij ETL- en DB-tests verschillen enkele van de aspecten van binnenuit die essentieel zijn om te worden begrepen voordat ze worden uitgevoerd. Dit helpt ons bij het begrijpen van de waarden en het belang van het testen en de manier waarop het het bedrijf helpt.
Hieronder volgt een tabelvorm die het basisgedrag van beide testformaten beschrijft.
DB-testen | ETL-testen | |
---|---|---|
Data Aard | Hier worden genormaliseerde gegevens gebruikt | Hier worden gedenormaliseerde gegevens gebruikt |
Voornaamste doel | Gegevens integratie | BI-rapportage |
Toepasselijke plaats | In het functionele systeem waarin de zakenstroom plaatsvindt | Buiten de bedrijfsstroomomgeving. input is de historische bedrijfsgegevens |
Automatiseringstool | QTP, selenium | Informatica, QuerySurge, COGNOS |
Zakelijke impact | Ernstige gevolgen kunnen leiden, aangezien het de geïntegreerde architectuur van de bedrijfsstromen is | Potentiële effecten, zoals wanneer de klant wil dat de prognoses en analyses worden uitgevoerd |
Modellering gebruikt | Entiteit relatie | Dimensionaal |
Systeem | Online transactieverwerking | Online analytische verwerking |
Waarom zou het bedrijf voor ETL moeten kiezen?
Er zijn tal van zakelijke behoeften beschikbaar om ETL-testen te overwegen. Elk bedrijf moet zijn unieke missie en branche hebben. Elk bedrijf heeft zijn productlevenscyclus die de generieke vorm aanneemt:
Het is heel duidelijk dat elk nieuw product op de markt komt met een enorme groei in verkoop en tot een stadium dat volwassenheid wordt genoemd en daarna afneemt in verkoop. Deze geleidelijke verandering is getuige van een duidelijke daling van de bedrijfsgroei. Daarom is het belangrijker om de behoeften van de klant voor de bedrijfsgroei en andere factoren die nodig zijn om de organisatie winstgevender te maken, te analyseren.
Dus in werkelijkheid willen de klanten de historische gegevens analyseren en strategisch enkele rapporten bedenken.
ETL-testplanning
Een van de belangrijkste stappen bij ETL-testen is het plannen van de test die zal worden uitgevoerd. Het zal vergelijkbaar zijn met het Testplan voor het testen van het systeem dat wordt meestal uitgevoerd behalve enkele attributen zoals vereisten en testgevallen.
Hier zijn de vereisten niets anders dan een toewijzingsblad dat zal een soort mapping hebben tussen gegevens in verschillende databases. Omdat we weten dat de ETL-tests op meerdere niveaus plaatsvinden, zijn er verschillende mappings nodig om dit te valideren.
Meestal zijn de gegevens die worden vastgelegd uit de brondatabases niet rechtstreeks. Alle brongegevens hebben de tabellenweergave van waaruit de gegevens kunnen worden gebruikt.
Voorbeeld: Hieronder volgt een voorbeeld van hoe de toewijzingen kunnen worden geleverd. De twee kolommen VIEW_NAME en TABLE_NAME kunnen worden gebruikt om de weergaven voor het lezen van gegevens van respectievelijk de bron en de tabel in de ETL-omgeving weer te geven.
Het is raadzaam om de naamgevingsconventie te handhaven die ons kan helpen bij het plannen van automatisering. Generieke notatie die kan worden gebruikt, is gewoon het voorvoegsel van de naam van de omgeving.
binaire boom invoegen en verwijderen in java
Het belangrijkste in ETL is het identificeren van de essentiële gegevens en de tabellen vanuit de bron. De volgende essentiële stap is het in kaart brengen van tabellen van de bron naar de ETL-omgeving.
Hieronder volgt een voorbeeld van hoe de mapping tussen de tabellen uit de verschillende omgevingen kan worden gerelateerd aan het ETL-doel.
Bij de bovenstaande afbeelding wordt uitgegaan van de gegevens van de brontabel naar de verzameltabel. En dan naar de tafels in EDW en dan naar OLAP dat is de laatste rapportageomgeving. Daarom is gegevenssynchronisatie op elk moment erg belangrijk voor de ETL.
Kritieke ETL-behoeften
Zoals we begrijpen, is ETL de behoefte aan het voorspellen, rapporteren en analyseren van het bedrijf om de behoeften van de klant op een meer opeenvolgende manier vast te leggen. Hierdoor kan het bedrijf hogere eisen stellen dan in het verleden.
Hier zijn enkele van de kritieke behoeften zonder welke ETL-tests niet kunnen worden bereikt:
- Identificatie van gegevens en tabellen : Dit is belangrijk omdat er veel andere irrelevante en onnodige gegevens kunnen zijn die het minst belangrijk kunnen zijn bij het voorspellen en analyseren van de behoeften van de klant. Daarom moeten de relevante gegevens en de tabellen worden geselecteerd voordat de ETL-werken worden opgestart.
- Toewijzingsblad : Dit is een van de belangrijkste behoeften tijdens het doen van ETL-werken. Het in kaart brengen van de juiste tabel van de bron naar de bestemming is verplicht en eventuele problemen of onjuiste gegevens in dit blad kunnen van invloed zijn op het hele ETL-product.
- Tabelontwerpen en gegevens, kolomtype : Dit is de volgende grote stap bij het overwegen van het in kaart brengen van brontabellen in de bestemde tabellen. Het kolomtype moet overeenkomen met de tafels op beide plaatsen etc.
- Database toegang : Het belangrijkste is toegang tot de database waar ETL doorgaat. Eventuele beperkingen op de toegang hebben een gelijkwaardige impact.
ETL-rapportage en testen
Rapportage in ETL is belangrijker omdat het de klanten uitlegt en de behoeften van de klant leidt. Hierdoor kunnen ze de exacte klantbehoeften voorspellen en analyseren
Voorbeeld # 3
Een bedrijf dat zijden stof vervaardigt, wilde hun jaarlijkse omzet analyseren. Bij het bekijken van hun jaarlijkse verkoop, ontdekten ze dat er in de maand augustus en september een enorme omzetdaling was met het gebruik van het rapport dat ze genereerden.
Daarom besloten ze om de promotieaanbieding, zoals de uitwisseling, kortingen, enz., Uit te rollen die hun verkoop verhoogden.
Basisproblemen bij ETL-testen
Er kunnen een aantal problemen zijn tijdens het uitvoeren van ETL-tests, zoals de volgende:
- Ofwel de toegang tot de brontabellen of de weergaven is niet geldig.
- De kolomnaam en het gegevenstype van de bron naar de volgende laag komen mogelijk niet overeen.
- Een aantal records van de brontabel tot de bestemde tabel komt mogelijk niet overeen.
En er is misschien nog veel meer.
Hieronder volgt een voorbeeld van een toewijzingsblad waarin kolommen zoals VIEW_NAME, COLUMN_NAME, DATA_TYPE, TABLE_NAME, COLUMN_NAME, DATA_TYPE en TRANSFORMATION LOGIC aanwezig zijn.
De eerste 3 kolommen vertegenwoordigen de details van de brondatabase en de volgende 3 zijn de details van de direct daaraan voorafgaande database. De laatste kolom is erg belangrijk. Transformatielogica is de manier waarop de gegevens van de bron worden gelezen en opgeslagen in de bestemde database. Dit hangt af van het bedrijf en de ETL-behoeften.
Punten om te onthouden bij het plannen en uitvoeren van ETL-tests
Het belangrijkste bij ETL-testen is het laden van gegevens op basis van de extractiecriteria uit de bron-database. Wanneer dit criterium ongeldig of verouderd is, zullen er geen gegevens in de tabel zijn om ETL-tests uit te voeren, wat echt meer problemen oplevert.
Hieronder volgen enkele van de aandachtspunten bij het plannen en uitvoeren van ETL-tests:
converteer youtube naar mp3 langer dan 30 minuten
# 1) Gegevens worden geëxtraheerd uit de heterogene gegevensbronnen
#twee) ETL-procesafhandeling in de geïntegreerde omgeving met verschillende:
- DBMS
- U
- Hardware
- Communicatieprotocollen
# 3) Noodzaak om een logisch gegevensoverzicht te hebben voordat de fysieke gegevens kunnen worden getransformeerd
# 4) Inzicht in en onderzoek van de databronnen
# 5) Initiële belasting en de incrementele belasting
# 6) Audit kolommen
# 7) Het laden van de feiten en de afmetingen
ETL-tools en hun aanzienlijke gebruik
ETL-tools worden in principe gebruikt om het transformatie logica door gegevens van de bron naar een andere over te brengen door de transformatielogica toe te passen. U kunt ook de schema's van de bron naar de bestemming in kaart brengen, wat op unieke manieren gebeurt, gegevens transformeren en opschonen voordat ze naar de bestemming kunnen worden verplaatst, samen met het op een efficiënte manier laden op de bestemming.
Dit kan de handmatige inspanningen aanzienlijk verminderen, aangezien de mapping kan worden gedaan die wordt gebruikt voor bijna alle ETL-validatie en verificatie.
- Informatica - PowerCenter - is een van de populaire ETL-tools die is geïntroduceerd door de Informatica Corporation. Dit heeft een zeer goede klantenkring die grote gebieden bestrijkt. De belangrijkste componenten van de tool zijn de tools voor klanten en de repository-tools en de servers. Klik voor meer informatie over de tool hier
- IBM - Infosphere Information Server IBM, marktleider op het gebied van computertechnologie, heeft in 2008 de Infosphere Information-server ontwikkeld die wordt gebruikt voor informatie-integratie en -beheer. Klik voor meer informatie over de tool op hier
- Oracle - Gegevensintegrator - Oracle Corporation heeft zijn ETL-tool ontwikkeld in de naam van Oracle - Data Integrator. Door hun toenemende klantenondersteuning hebben ze hun ETL-tools in verschillende versies bijgewerkt. Klik voor meer informatie over de tool hier
Meer voorbeelden van het gebruik van ETL-testen:
Overweeg enkele luchtvaartmaatschappijen die promoties en aanbiedingen willen uitrollen om de klanten strategisch aan te trekken. Ten eerste zullen ze proberen de eisen en behoeften van de specificaties van de klant te begrijpen. Om dit te bereiken, hebben ze de historische gegevens nodig, bij voorkeur de gegevens van de afgelopen 2 jaar. Met behulp van de gegevens zullen ze enkele rapporten analyseren en voorbereiden die nuttig zullen zijn om de behoeften van de klanten te begrijpen.
De rapporten kunnen van de volgende soort zijn:
- Klanten uit regio A die op bepaalde data naar regio B reizen
- Klanten met een specifiek leeftijdscriterium reizen naar stad XX
En er kunnen nog veel meer rapporten zijn.
Het analyseren van deze rapporten zal de klanten helpen bij het identificeren van het soort promoties en aanbiedingen die de klanten ten goede zullen komen en kan tegelijkertijd bedrijven ten goede komen waar dit een win-win-situatie kan worden. Dit kan eenvoudig worden bereikt door ETL-tests en rapporten.
Tegelijkertijd wordt het IT-segment geconfronteerd met een ernstig DB-probleem dat is opgemerkt en dat op hun beurt meerdere services heeft gestopt, kan dit gevolgen hebben voor het bedrijf. Bij onderzoek werd vastgesteld dat sommige ongeldige gegevens enkele databases hebben beschadigd die handmatig moesten worden gecorrigeerd.
In het eerste geval zijn ETL-rapporten en tests vereist.
In het laatste geval moeten de DB-tests correct worden uitgevoerd om problemen met ongeldige gegevens op te lossen.
Gevolgtrekking
Ik hoop dat de bovenstaande tutorial een eenvoudig en duidelijk overzicht heeft gegeven van wat ETL-testen is en waarom het moet worden gedaan, samen met de zakelijke impact of voordelen die ze opleveren. Dit houdt hier niet op, maar het kan zich uitstrekken tot een vooruitziende blik op de groei van het bedrijfsleven.
Over de auteur: Deze tutorial is geschreven door Nagarajan. Hij is een testleider met meer dan 6 jaar ervaring in het testen van software in verschillende functionele gebieden, zoals bankieren, luchtvaartmaatschappijen en telecom, zowel op het gebied van handmatige als automatisering.
Laat ons uw mening / vragen weten in de opmerkingen hieronder.
Aanbevolen literatuur
- Vragen en antwoorden over ETL-tests
- ETL-testen Tutorial datawarehouse-testen (een complete gids)
- Top 10 ETL-testtools in 2021
- ETL-tests uitvoeren met de Informatica PowerCenter Tool
- 31 Top Database Testing Interviewvragen en antwoorden
- 40+ beste databasetesttools - Populaire datatestoplossingen
- Volledige gids voor databasetests (waarom, wat en hoe gegevens te testen)
- Selenium-databasetests (met behulp van WebDriver en JDBC API)