Tutoriel de test ETL
Qu'est-ce que le test ETL?
Les tests ETL sont effectuรฉs pour s'assurer que les donnรฉes qui ont รฉtรฉ chargรฉes d'une source vers la destination aprรจs la transformation de l'entreprise sont exactes. Cela implique รฉgalement la vรฉrification des donnรฉes ร diverses รฉtapes intermรฉdiaires qui sont utilisรฉes entre la source et la destination. ETL signifie Extract-Transform-Load.
Test d'entrepรดt de donnรฉes
Test d'entrepรดt de donnรฉes est une mรฉthode de test dans laquelle l'intรฉgritรฉ, la fiabilitรฉ, l'exactitude et la cohรฉrence des donnรฉes ร l'intรฉrieur d'un entrepรดt de donnรฉes sont testรฉes afin de se conformer au cadre de donnรฉes de l'entreprise. L'objectif principal des tests d'entrepรดt de donnรฉes est de s'assurer que les donnรฉes intรฉgrรฉes ร l'intรฉrieur de l'entrepรดt de donnรฉes sont suffisamment fiables pour qu'une entreprise puisse prendre des dรฉcisions.
Qu'est-ce que l'ETL?
ETL signifie Extract-Transform-Load et c'est un processus de chargement des donnรฉes du systรจme source vers l'entrepรดt de donnรฉes. Les donnรฉes sont extraites d'une base de donnรฉes OLTP, transformรฉes pour correspondre au schรฉma de l'entrepรดt de donnรฉes et chargรฉes dans la base de donnรฉes de l'entrepรดt de donnรฉes. De nombreux entrepรดts de donnรฉes intรจgrent รฉgalement des donnรฉes provenant de systรจmes non OLTP tels que des fichiers texte, des systรจmes hรฉritรฉs et des feuilles de calcul.
Voyons comment รงa marche
Par exemple, il y a un magasin de dรฉtail qui a diffรฉrents dรฉpartements comme les ventes, le marketing, la logistique, etc. Chacun d'eux gรจre les informations client de maniรจre indรฉpendante, et la faรงon dont ils stockent ces donnรฉes est assez diffรฉrente. Le service des ventes l'a stockรฉ par nom de client, tandis que le service marketing par identifiant client.
Maintenant, s'ils veulent vรฉrifier l'historique du client et savoir quels sont les diffรฉrents produits qu'il a achetรฉs grรขce ร diffรฉrentes campagnes marketing ; ce serait trรจs fastidieux.
La solution est d'utiliser un datawarehouse pour stocker des informations provenant de diffรฉrentes sources dans une structure uniforme ร l'aide d'ETL. ETL peut transformer des ensembles de donnรฉes diffรฉrents en une structure unifiรฉe.Later utilisez les outils BI pour obtenir des informations et des rapports significatifs ร partir de ces donnรฉes.
Le diagramme suivant de ce didacticiel de test ETL vous donne la FEUILLE DE ROUTE du flux de processus de test ETL et divers concepts de test ETL :
1) Extraire
- Extraire les donnรฉes pertinentes
2) Transformer
- Transformer les donnรฉes au format DW (Data Warehouse)
- Clรฉs de construction โ Une clรฉ est un ou plusieurs attributs de donnรฉes qui identifient de maniรจre unique une entitรฉ. Divers types de clรฉs sont la clรฉ primaire, la clรฉ alternative, la clรฉ รฉtrangรจre, la clรฉ composite, la clรฉ de substitution. L'entrepรดt de donnรฉes est propriรฉtaire de ces clรฉs et n'autorise jamais aucune autre entitรฉ ร les attribuer.
- Nettoyage des donnรฉes : Une fois les donnรฉes extraites, elles passeront ร la phase suivante, de nettoyage et de mise en conformitรฉ des donnรฉes. Le nettoyage fait l'omission dans les donnรฉes ainsi que l'identification et la correction des erreurs. Se conformer signifie rรฉsoudre les conflits entre ces donnรฉes qui sont incompatibles, afin qu'elles puissent รชtre utilisรฉes dans un entrepรดt de donnรฉes d'entreprise. En plus de cela, ce systรจme crรฉe des mรฉtadonnรฉes qui sont utilisรฉes pour diagnostiquer les problรจmes du systรจme source et amรฉliorer la qualitรฉ des donnรฉes.
3) Charge
- Charger les donnรฉes dans DW (Data Warehouse)
- Construire des agrรฉgats โ La crรฉation d'un agrรฉgat consiste ร rรฉsumer et ร stocker des donnรฉes disponibles dans table de faits afin d'amรฉliorer les performances des requรชtes des utilisateurs finaux.
Processus de test ETL
Semblable ร d'autres processus de test, ETL passe รฉgalement par diffรฉrentes phases. Les diffรฉrentes phases du processus de test ETL sont les suivantes
Les tests ETL sont effectuรฉs en cinq รฉtapes
- Identification des sources de donnรฉes et des besoins
- L'acquisition des donnรฉes
- Implรฉmenter les logiques mรฉtier et la modรฉlisation dimensionnelle
- Construire et remplir des donnรฉes
- Crรฉer des rapports
Types de tests ETL
- Tests de validation de la production
Processus de test: ยซ รquilibrage de table ยป ou ยซ rapprochement de la production ยป, ce type de test ETL est effectuรฉ sur les donnรฉes au fur et ร mesure qu'elles sont transfรฉrรฉes dans les systรจmes de production. Pour appuyer votre dรฉcision commerciale, les donnรฉes de vos systรจmes de production doivent รชtre dans le bon ordre. informatique L'option de validation des donnรฉes fournit les capacitรฉs d'automatisation et de gestion des tests ETL pour garantir que les systรจmes de production ne sont pas compromis par les donnรฉes. - Source vers Target Tests (tests de validation)
Processus de test: Ce type de test est effectuรฉ pour valider si les valeurs de donnรฉes transformรฉes sont les valeurs de donnรฉes attendues. - Application Upgrades
Processus de test: Ce type de test ETL peut รชtre gรฉnรฉrรฉ automatiquement, ce qui permet d'รฉconomiser un temps de dรฉveloppement de test substantiel. Ce type de test vรฉrifie si les donnรฉes extraites d'une application ou d'un rรฉfรฉrentiel plus ancien sont exactement les mรชmes que les donnรฉes d'un rรฉfรฉrentiel ou d'une nouvelle application. - Test des mรฉtadonnรฉes
Processus de test: Le test des mรฉtadonnรฉes comprend le test de la vรฉrification du type de donnรฉes, la vรฉrification de la longueur des donnรฉes et la vรฉrification des index/contraintes. - Test d'exhaustivitรฉ des donnรฉes
Processus de test: Pour vรฉrifier que toutes les donnรฉes attendues sont chargรฉes dans la cible ร partir de la source, un test d'exhaustivitรฉ des donnรฉes est effectuรฉ. Certains des tests pouvant รชtre exรฉcutรฉs sont la comparaison et la validation des dรฉcomptes, des agrรฉgats et des donnรฉes rรฉelles entre la source et la cible pour les colonnes avec transformation simple ou sans transformation. - Test d'exactitude des donnรฉes
Processus de test: Ces tests sont effectuรฉs pour s'assurer que les donnรฉes sont correctement chargรฉes et transformรฉes comme prรฉvu. - Test de transformation de donnรฉes
Processus de test: Le test de la transformation des donnรฉes est effectuรฉ car dans de nombreux cas, il ne peut pas รชtre rรฉalisรฉ en รฉcrivant une source SQL requรชte et en comparant la sortie avec la cible. Plusieurs requรชtes SQL peuvent devoir รชtre exรฉcutรฉes pour chaque ligne afin de vรฉrifier les rรจgles de transformation. - Test de qualitรฉ des donnรฉes
Processus de test:Les tests de qualitรฉ des donnรฉes incluent des tests de syntaxe et de rรฉfรฉrence. Afin d'รฉviter toute erreur due ร la date ou au numรฉro de commande lors du processus commercial, des tests de qualitรฉ des donnรฉes sont effectuรฉs.
Tests de syntaxe : il signalera des donnรฉes incorrectes, basรฉes sur des caractรจres non valides, un modรจle de caractรจre, un ordre incorrect des majuscules ou des minuscules, etc.
Tests de rรฉfรฉrence : il vรฉrifiera les donnรฉes en fonction du modรจle de donnรฉes. Par exemple : ID client
Les tests de qualitรฉ des donnรฉes comprennent la vรฉrification du nombre, la vรฉrification de la date, la vรฉrification de la prรฉcision, la vรฉrification des donnรฉes, la vรฉrification nulle, etc.
- Tests ETL incrรฉmentiels
Processus de test: Ce test est effectuรฉ pour vรฉrifier l'intรฉgritรฉ des donnรฉes anciennes et nouvelles avec l'ajout de nouvelles donnรฉes. Les tests incrรฉmentiels vรฉrifient que les insertions et les mises ร jour sont traitรฉes comme prรฉvu pendant le processus ETL incrรฉmentiel. - Test de l'interface graphique/navigation
Processus de test: Ce test est effectuรฉ pour vรฉrifier les aspects de navigation ou d'interface graphique des rapports frontaux.
Comment crรฉer un cas de test ETL
Le test ETL est un concept qui peut รชtre appliquรฉ ร diffรฉrents outils et bases de donnรฉes dans l'industrie de la gestion de l'information. L'objectif des tests ETL est de s'assurer que les donnรฉes qui ont รฉtรฉ chargรฉes d'une source ร une destination aprรจs la transformation de l'entreprise sont exactes. Cela implique รฉgalement la vรฉrification des donnรฉes ร diverses รฉtapes intermรฉdiaires qui sont utilisรฉes entre la source et la destination.
Lors de l'exรฉcution des tests ETL, deux documents qui seront toujours utilisรฉs par un testeur ETL sont
- Feuilles de cartographie ETL :Une feuille de mappage ETL contient toutes les informations des tables source et destination, y compris chaque colonne et leur recherche dans les tables de rรฉfรฉrence. Un testeur ETL doit รชtre ร l'aise avec les requรชtes SQL, car les tests ETL peuvent impliquer l'รฉcriture de grandes requรชtes avec plusieurs jointures pour valider les donnรฉes ร n'importe quelle รฉtape de l'ETL. Les feuilles de mappage ETL fournissent une aide significative lors de l'รฉcriture de requรชtes pour la vรฉrification des donnรฉes.
- Schรฉma DB de source, Target: Il doit รชtre conservรฉ ร portรฉe de main pour vรฉrifier tout dรฉtail dans les feuilles de cartographie.
Scรฉnarios de test ETL et cas de test
- Validation des documents cartographiques
Cas de test : Vรฉrifiez la documentation de mappage si les informations ETL correspondantes sont fournies ou non. Le journal des modifications doit รชtre conservรฉ dans chaque document de mappage. - Validation
Cas de test :1) Validez la structure de la table source et cible par rapport au document de mappage correspondant.
2) Le type de donnรฉes source et le type de donnรฉes cible doivent รชtre identiques
3) La longueur des types de donnรฉes dans la source et la cible doit รชtre รฉgale
4) Vรฉrifiez que les types et formats de champs de donnรฉes sont spรฉcifiรฉs
5) La longueur du type de donnรฉes source ne doit pas รชtre infรฉrieure ร la longueur du type de donnรฉes cible
6) Validez le nom des colonnes de la table par rapport au document de mappage. - Validation des contraintes
Cas de test : Assurez-vous que les contraintes sont dรฉfinies pour une table spรฉcifique comme prรฉvu - Problรจmes de cohรฉrence des donnรฉes
Cas de test :1) Le type de donnรฉes et la longueur d'un attribut particulier peuvent varier dans les fichiers ou les tables, bien que la dรฉfinition sรฉmantique soit la mรชme.
2) Mauvaise utilisation des contraintes d'intรฉgritรฉ - Problรจmes d'exhaustivitรฉ
Cas de test :1) Assurez-vous que toutes les donnรฉes attendues sont chargรฉes dans la table cible.
2) Comparez le nombre dโenregistrements entre la source et la cible.
3) Vรฉrifiez les enregistrements rejetรฉs
4) Vรฉrifiez que les donnรฉes ne doivent pas รชtre tronquรฉes dans la colonne des tables cibles
5) Vรฉrifier l'analyse des valeurs limites
6) Compare les valeurs uniques des champs clรฉs entre les donnรฉes chargรฉes dans WH et les donnรฉes sources - Problรจmes d'exactitude
Cas de test :1) Donnรฉes mal orthographiรฉes ou enregistrรฉes de maniรจre inexacte
2) Donnรฉes nulles, non uniques ou hors limites - Transformation
Cas de test : Transformation - Qualitรฉ des donnรฉes
Cas de test :1) Vรฉrification du numรฉro : Il faut vรฉrifier le numรฉro et le valider
2) Vรฉrification de la date : ils doivent suivre le format de date et il doit รชtre le mรชme dans tous les enregistrements
3) Contrรดle de prรฉcision
4) Vรฉrification des donnรฉes
5) Vรฉrification nulle - Nul Valider
Cas de test : Vรฉrifiez les valeurs nulles, oรน ยซ Not Null ยป est spรฉcifiรฉ pour une colonne spรฉcifique. - Vรฉrification en double
Cas de test :1) Doit valider la clรฉ unique, la clรฉ primaire et toute autre colonne doivent รชtre uniques conformรฉment aux exigences de l'entreprise et contenir des lignes en double.
2) Vรฉrifiez si des valeurs en double existent dans une colonne qui extrait plusieurs colonnes de la source et les combine en une seule colonne
3) Conformรฉment aux exigences du client, il faut s'assurer qu'il n'y a pas de doublons dans la combinaison de plusieurs colonnes dans la cible uniquement - Validation de la date
Cas de test : Les valeurs de date utilisent de nombreux domaines dans le dรฉveloppement ETL pour1) Pour connaรฎtre la date de crรฉation de la ligne
2) Identifier les enregistrements actifs selon la perspective de dรฉveloppement ETL
3) Identifier les enregistrements actifs selon la perspective des besoins de l'entreprise
4) Parfois, en fonction des valeurs de date, les mises ร jour et les insertions sont gรฉnรฉrรฉes. - Validation complรจte des donnรฉes
Cas de test :1) Pour valider l'ensemble des donnรฉes dans la table source et cible moins une requรชte dans une meilleure solution
2) Nous devons calculer la source moins la cible et la cible moins la source
3) Si la requรชte nรฉgative renvoie une valeur, celles-ci doivent รชtre considรฉrรฉes comme des lignes non correspondantes.
4) Doit faire correspondre les lignes entre la source et la cible ร l'aide de l'instruction intersect
5) Le nombre renvoyรฉ par intersect doit correspondre aux nombres individuels des tables source et cible
6) Si la requรชte nรฉgative renvoie des lignes et que le nombre d'intersections est infรฉrieur au nombre source ou ร la table cible, nous pouvons considรฉrer que des lignes en double existent. - Propretรฉ des donnรฉes
Cas de test : Les colonnes inutiles doivent รชtre supprimรฉes avant le chargement dans la zone de prรฉparation.
Types de bogues ETL
| Type de bogues | Description |
|---|---|
| Bogues de l'interface utilisateur/bogues cosmรฉtiques |
โข Liรฉ ร l'interface graphique de l'application โข Style de police, taille de police, couleurs, alignement, fautes d'orthographe, navigation, etc. |
| Bogue liรฉ ร l'analyse des valeurs limites (BVA) | โข Valeurs minimales et maximales |
| Bogue liรฉ au partitionnement de classe d'รฉquivalence (ECP) | โข Type valide et invalide |
| Bogues d'entrรฉe/sortie |
โข Valeurs valides non acceptรฉes โข Valeurs non valides acceptรฉes |
| Bogues de calcul |
โข Erreurs mathรฉmatiques โข Le rรฉsultat final est erronรฉ |
| Bogues de condition de chargement |
โข Ne permet pas plusieurs utilisateurs โข Ne permet pas la charge attendue par le client |
| Bogues de condition de course |
โข Crash et blocage du systรจme โข Le systรจme ne peut pas exรฉcuter les plates-formes clientes |
| Bogues de contrรดle de version |
โข Aucune correspondance de logo โข Aucune information de version disponible โข Cela se produit gรฉnรฉralement dans Les tests de rรฉgression |
| Bogues matรฉriels | โข L'appareil ne rรฉpond pas ร l'application |
| Bogues de la source d'aide | โข Erreurs dans les documents d'aide |
Diffรฉrence entre les tests de base de donnรฉes et les tests ETL
| Test ETL | Test de la base de donnรฉes |
|---|---|
| Vรฉrifie si les donnรฉes sont dรฉplacรฉes comme prรฉvu | L'objectif principal est de vรฉrifier si les donnรฉes suivent les rรจgles/normes dรฉfinies dans le modรจle de donnรฉes |
| Vรฉrifie si les dรฉcomptes dans la source et la cible correspondent
Vรฉrifie si les donnรฉes transformรฉes sont conformes aux attentes |
Vรฉrifier qu'il n'y a pas d'enregistrements orphelins et que les relations de clรฉ primaire รฉtrangรจre sont maintenues |
| Vรฉrifie que les relations de clรฉ primaire รฉtrangรจre sont prรฉservรฉes pendant l'ETL | Vรฉrifie qu'il n'y a pas de tables redondantes et que la base de donnรฉes est normalisรฉe de maniรจre optimale |
| Vรฉrifie la duplication dans les donnรฉes chargรฉes | Vรฉrifier si des donnรฉes sont manquantes dans les colonnes si nรฉcessaire |
Responsabilitรฉs d'un testeur ETL
Les principales responsabilitรฉs d'un testeur ETL sont rรฉparties en trois catรฉgories
- Table de scรจne/ SFS ou MFS
- Logique de transformation mรฉtier appliquรฉe
- Target chargement de la table ร partir d'un fichier de scรจne ou d'une table aprรจs l'application d'une transformation.
Certaines des responsabilitรฉs d'un testeur ETL sont
- Tester le logiciel ETL
- Tester les composants de l'entrepรดt de donnรฉes ETL
- Exรฉcuter un test basรฉ sur les donnรฉes backend
- Crรฉer, concevoir et exรฉcuter cas de test, plans de test et harnais de test
- Identifier le problรจme et proposer des solutions aux problรจmes potentiels
- Approuver les exigences et les spรฉcifications de conception
- Transferts de donnรฉes et test de fichier plat
- Rรฉdaction de requรชtes SQL3 pour divers scรฉnarios comme le test de comptage
Tests de performances dans ETL
Tests de performances dans ETL est une technique de test pour s'assurer qu'un systรจme ETL peut gรฉrer la charge de plusieurs utilisateurs et transactions. L'objectif principal d'ETL Test de performance est d'optimiser et d'amรฉliorer les performances des sessions en identifiant et en รฉliminant les goulots d'รฉtranglement des performances. Les bases de donnรฉes source et cible, les mappages, les sessions et le systรจme peuvent prรฉsenter des goulots d'รฉtranglement en matiรจre de performances.
Informatica est l'un des meilleurs outils utilisรฉs pour les tests/rรฉglages de performances.
Automatisation des tests ETL
La mรฉthodologie gรฉnรฉrale des tests ETL consiste ร utiliser des scripts SQL ou ร ยซ observer ยป les donnรฉes. Ces approches des tests ETL prennent du temps, sont sujettes aux erreurs et fournissent rarement des informations complรจtes. Couverture de test. Pour accรฉlรฉrer, amรฉliorer la couverture, rรฉduire les coรปts, amรฉliorer Dรฉfaut ration de dรฉtection des tests ETL dans les environnements de production et de dรฉveloppement, l'automatisation est le besoin de l'heure. L'un de ces outils est Informatica.
Meilleures pratiques pour les tests ETL
- Assurez-vous que les donnรฉes sont correctement transformรฉes
- Sans aucune perte de donnรฉes ni troncature, les donnรฉes projetรฉes doivent รชtre chargรฉes dans l'entrepรดt de donnรฉes
- Assurez-vous que l'application ETL rejette et remplace de maniรจre appropriรฉe par les valeurs par dรฉfaut et signale les donnรฉes non valides
- Nรฉcessitรฉ de s'assurer que les donnรฉes sont chargรฉes dans l'entrepรดt de donnรฉes dans les dรฉlais prescrits et prรฉvus pour confirmer l'รฉvolutivitรฉ et les performances
- Toutes les mรฉthodes doivent avoir des tests unitaires appropriรฉs, quelle que soit la visibilitรฉ
- Pour mesurer leur efficacitรฉ, tous les tests unitaires doivent utiliser des techniques de couverture appropriรฉes
- S'efforcer d'obtenir une assertion par cas de test
- Crรฉer tests unitaires qui ciblent les exceptions
Check-out - Questions et rรฉponses sur les entretiens de test ETL





