Tutoriel de test ETL
โก Rรฉsumรฉ intelligent
Les tests ETL valident le flux de donnรฉes depuis les systรจmes sources jusqu'ร l'entrepรดt de donnรฉes cible, en passant par la logique de transformation, et en confirment l'exactitude, l'exhaustivitรฉ et la fiabilitรฉ des donnรฉes. Cette ressource explique les รฉtapes du processus, les types de tests, les catรฉgories de bogues courantes, les approches d'automatisation et les bonnes pratiques utiles aux testeurs dรฉbutants et intermรฉdiaires.

Qu'est-ce que l'ETL?
ETL qui veut dire Extract-Transform-Chargementet dรฉcrit comment les donnรฉes sont transfรฉrรฉes d'un systรจme source vers un entrepรดt de donnรฉes. Les donnรฉes sont extracLes donnรฉes proviennent d'une base de donnรฉes OLTP, sont transformรฉes pour correspondre au schรฉma de l'entrepรดt de donnรฉes, puis chargรฉes dans la base de donnรฉes de l'entrepรดt. De nombreux entrepรดts intรจgrent รฉgalement des donnรฉes provenant de systรจmes non OLTP tels que des fichiers texte, des applications existantes et des tableurs.
Par exemple, un magasin de dรฉtail peut comporter des services distincts tels que les ventes, le marketing et la logistique. Chaque service gรจre les informations clients de maniรจre indรฉpendante et leurs mรฉthodes de stockage diffรจrent. Le service des ventes peut stocker les donnรฉes par nom de client, tandis que le service marketing utilise un identifiant client.
Si les รฉquipes commerciales souhaitent consulter l'historique d'achats complet d'un client ร travers diffรฉrentes campagnes marketing, la fragmentation des donnรฉes rend la tรขche extrรชmement fastidieuse. La solution consiste ร utiliser un datawarehouse L'ETL permet de stocker des informations provenant de diffรฉrentes sources dans une structure uniforme. Il transforme des ensembles de donnรฉes hรฉtรฉrogรจnes en une structure unifiรฉe, permettant ainsi aux outils de BI d'en extraire ultรฉrieurement des informations et des rapports pertinents.
Le diagramme suivant illustre le flux du processus de test ETL et les concepts fondamentaux que vous utiliserez tout au long de ce guide :
1) Extract
- Extract donnรฉes pertinentes provenant d'un ou plusieurs systรจmes sources.
2) Transformer
- Transformer les donnรฉes au format DW (entrepรดt de donnรฉes).
- Crรฉer des clรฉs : une clรฉ est un ou plusieurs attributs de donnรฉes qui identifient une entitรฉ de maniรจre unique. Divers types de clรฉs Les clรฉs primaires, alternatives, รฉtrangรจres, composites et de substitution sont utilisรฉes. L'entrepรดt de donnรฉes est propriรฉtaire de ces clรฉs et n'autorise aucune autre entitรฉ ร les attribuer.
- Nettoyage des donnรฉes : aprรจs lโextraction des donnรฉestracUne fois les donnรฉes traitรฉes, le systรจme passe ร la phase suivante : le nettoyage et la mise en conformitรฉ. Le nettoyage corrige les omissions et identifie les erreurs. La mise en conformitรฉ rรฉsout les conflits entre les ensembles de donnรฉes incompatibles afin quโils puissent รชtre utilisรฉs dans un entrepรดt de donnรฉes dโentreprise. Le systรจme crรฉe รฉgalement des mรฉtadonnรฉes qui facilitent le diagnostic des problรจmes du systรจme source et lโamรฉlioration de la qualitรฉ des donnรฉes.
3) Charge
- Charger les donnรฉes dans l'entrepรดt de donnรฉes (DW).
- Crรฉer des agrรฉgats : un agrรฉgat rรฉsume et stocke les donnรฉes dโun table de faits amรฉliorer les performances des requรชtes des utilisateurs finaux.
Qu'est-ce que le test ETL?
Les tests ETL sont effectuรฉs pour garantir l'exactitude des donnรฉes chargรฉes d'une source vers une destination aprรจs transformation mรฉtier. Ils impliquent รฉgalement la vรฉrification des donnรฉes aux diffรฉrentes รฉtapes intermรฉdiaires entre la source et la destination. ETL signifie ExรฉcutiontracLes tests t-Transform-Load et ETL couvrent chacune de ces trois รฉtapes et les points de croisement des donnรฉes entre elles.
Pourquoi les tests ETL sont-ils importants ?
Une fois que vous comprenez ce qu'est un test ETL, la question suivante est de savoir pourquoi les organisations y consacrent autant d'efforts. Les dรฉcisions commerciales reposent sur des donnรฉes correctes, complรจtes et fiables ; une simple erreur de transformation peut donc avoir des rรฉpercussions sur les rapports financiers, l'analyse client et les obligations rรฉglementaires.
Les points suivants expliquent la valeur pratique de tests ETL robustes :
- Prรฉcision des donnรฉes: Cela confirme que les valeurs transformรฉes par les rรจgles mรฉtier correspondent ร la carte documentรฉeping spรฉcifications, empรชchant la corruption silencieuse.
- Des informations fiables : Les tableaux de bord et les outils de BI dรฉpendent de l'entrepรดt de donnรฉes ; des pipelines ETL vรฉrifiรฉs protรจgent donc chaque rapport et indicateur de performance clรฉ (KPI) en aval.
- Conformitรฉ rรฉglementaire: Des secteurs comme la banque, la santรฉ et l'assurance doivent prouver que la traรงabilitรฉ et l'intรฉgritรฉ des donnรฉes sont prรฉservรฉes de bout en bout.
- Retravail rรฉduit : La dรฉtection des dรฉfauts dans les environnements infรฉrieurs permet d'รฉviter des rechargements de production coรปteux, des rapprochements manuels et des erreurs impactant les clients.
- Assurance de performance : Les tests ETL mesurent les fenรชtres de charge, le dรฉbit et les goulots d'รฉtranglement afin que l'entrepรดt de donnรฉes continue de s'adapter ร mesure que le volume de donnรฉes augmente.
Ces motivations รฉtant claires, la section suivante dรฉcrit le processus structurรฉ que suivent les testeurs ETL sur des projets rรฉels.
Dataddo est une plateforme d'intรฉgration de donnรฉes entiรจrement gรฉrรฉe et sans code qui simplifie la connexion des applications cloud, des tableaux de bord et des entrepรดts de donnรฉes. Cette plateforme ETL propose des connecteurs personnalisรฉs pouvant รชtre crรฉรฉs en 10 jours ouvrรฉs. L'outil prend en charge l'ETL inverse, la rรฉplication de bases de donnรฉes et les fonctionnalitรฉs ETL traditionnelles.
Processus de test ETL
ร l'instar des autres processus de test, l'ETL se dรฉroule รฉgalement en 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
- Mise en ลuvre de la logique mรฉtier et de la modรฉlisation dimensionnelle
- Construire et remplir des donnรฉes
- Crรฉer des rapports
En gardant ร l'esprit le processus de haut niveau, examinons les types de tests spรฉcifiques qui s'inscrivent dans ce cycle de vie.
Types de tests ETL
- Tests de validation de la production
Processus de test: รgalement appelรฉ ยซ รฉquilibrage des tables ยป ou ยซ rรฉconciliation de production ยป, ce type de test ETL est effectuรฉ sur les donnรฉes lors de leur transfert vers les systรจmes de production. Pour faciliter les dรฉcisions mรฉtier, les donnรฉes de production doivent รชtre correctement ordonnรฉes. informatique L'option de validation des donnรฉes offre des fonctionnalitรฉs d'automatisation et de gestion des tests ETL afin que les systรจmes de production ne soient pas compromis par des donnรฉes erronรฉes. - Source vers Target Tests (tests de validation)
Processus de test: Ce type de test permet de vรฉrifier si les valeurs des donnรฉes transformรฉes correspondent aux valeurs cibles attendues. - Application Upgrades
Processus de test: Ce type de test ETL peut รชtre gรฉnรฉrรฉ automatiquement, ce qui permet de gagner un temps considรฉrable lors du dรฉveloppement des tests. Il vรฉrifie si les donnรฉes extracLes donnรฉes d'une application ou d'un rรฉfรฉrentiel plus ancien correspondent aux donnรฉes d'une nouvelle application ou d'un nouveau rรฉfรฉrentiel. - Test des mรฉtadonnรฉes
Processus de test: Les tests de mรฉtadonnรฉes comprennent des vรฉrifications du type de donnรฉes, de la longueur des donnรฉes et des vรฉrifications d'index ou de contraintes. - Test d'exhaustivitรฉ des donnรฉes
Processus de test: Les tests d'exhaustivitรฉ des donnรฉes vรฉrifient que toutes les donnรฉes attendues sont chargรฉes de la source vers la cible. Les tests courants consistent ร comparer et ร valider le nombre d'enregistrements, les agrรฉgats et les donnรฉes rรฉelles entre les colonnes source et cible lorsque la transformation est simple ou inexistante. - Test d'exactitude des donnรฉes
Processus de test: Ce test garantit que les donnรฉes sont chargรฉes et transformรฉes correctement, comme prรฉvu. - Test de transformation de donnรฉes
Processus de test: Il est souvent impossible de rรฉaliser la transformation des donnรฉes de test avec une seule source. SQL Une requรชte et une comparaison des rรฉsultats peuvent รชtre nรฉcessaires. Plusieurs requรชtes SQL peuvent รชtre requises 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 comprennent des tests de syntaxe et des tests de rรฉfรฉrence. Ils permettent d'รฉviter les erreurs de processus mรฉtier dues ร des dates ou des numรฉros de commande incorrects.
Les tests de syntaxe signalent des donnรฉes erronรฉes en fonction de caractรจres invalides, de modรจles de caractรจres incorrects et d'un ordre incorrect des majuscules ou des minuscules.
Les tests de rรฉfรฉrence vรฉrifient la conformitรฉ des donnรฉes avec le modรจle de donnรฉes. Par exemple : lโidentifiant client.
Les tests de qualitรฉ des donnรฉes comprennent รฉgalement des vรฉrifications des nombres, des dates, de la prรฉcision, des donnรฉes et des valeurs nulles.
- Tests ETL incrรฉmentiels
Processus de test: Ce test vรฉrifie l'intรฉgritรฉ des donnรฉes, anciennes et nouvelles, lors de l'ajout de nouvelles donnรฉes. Les tests incrรฉmentaux vรฉrifient que les insertions et les mises ร jour sont traitรฉes comme prรฉvu pendant le processus ETL incrรฉmental. - Test de l'interface graphique/navigation
Processus de test: Ce test vรฉrifie la navigation et l'interface graphique des rapports front-end.
Comment crรฉer un cas de test ETL
Les tests ETL sont un concept qui peut รชtre appliquรฉ ร diffรฉrents outils et bases de donnรฉes dans le secteur de la gestion de l'information. L'objectif des tests ETL est de garantir l'exactitude des donnรฉes chargรฉes d'une source vers une destination aprรจs la transformation des donnรฉes mรฉtier. Cela implique รฉgalement la vรฉrification des donnรฉes aux diffรฉrentes รฉtapes intermรฉdiaires entre la source et la destination.
Lors de l'exรฉcution de tests ETL, deux documents sont toujours utilisรฉs par un testeur ETL :
- Carte ETLping feuilles: Une carte ETLping La feuille de calcul contient toutes les informations des tables source et de destination, y compris chaque colonne et sa correspondance dans les tables de rรฉfรฉrence. Les testeurs ETL doivent maรฎtriser les requรชtes SQL, car les tests ETL peuvent impliquer la rรฉdaction de requรชtes complexes avec de multiples jointures pour valider les donnรฉes ร chaque รฉtape. Schรฉma ETLping Les feuilles de calcul sont d'une aide prรฉcieuse lors de la rรฉdaction de requรชtes pour la vรฉrification des donnรฉes.
- Schรฉma de base de donnรฉes source et cible : Il convient de la garder ร portรฉe de main pour vรฉrifier tout dรฉtail figurant sur la carte.ping feuilles.
Scรฉnarios de test ETL et cas de test
- Carteping validation de documents
Cas de test : Vรฉrifiez si les informations ETL correspondantes sont fournies dans la carte.ping Un journal des modifications doit รชtre tenu pour chaque carte.ping doc. - Validation
Cas de test :1) Valider la structure des tables source et cible par rapport ร la carte correspondanteping doc.
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 les formats des 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) Vรฉrifiez que les noms des colonnes du tableau correspondent ร la carte.ping doc. - Validation des contraintes
Cas de test : Vรฉrifiez que les contraintes sont dรฉfinies pour la 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 d'un fichier ou d'une table ร l'autre, mรชme lorsque la dรฉfinition sรฉmantique est la mรชme.
2) Utilisation abusive 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รฉrifier s'il y a des enregistrements rejetรฉs.
4) Vรฉrifiez que les donnรฉes ne sont pas tronquรฉes dans les colonnes des tables cibles.
5) Vรฉrifier l'analyse des valeurs limites.
6) Comparez les valeurs uniques des champs clรฉs entre les donnรฉes chargรฉes dans l'entrepรดt 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 plage. - Transformation
Cas de test : Vรฉrifiez que chaque rรจgle mรฉtier et chaque logique de transformation sont bien prรฉsentes dans la carte.ping Le document est correctement appliquรฉ aux donnรฉes sources avant d'รชtre transfรฉrรฉ vers la cible. - Qualitรฉ des donnรฉes
Cas de test :1) Vรฉrification des nombres : valider les formats et les valeurs numรฉriques.
2) Vรฉrification des dates : les dates doivent suivre un format unique et รชtre cohรฉrentes dans tous les enregistrements.
3) Vรฉrification de prรฉcision.
4) Vรฉrification des donnรฉes.
5) Vรฉrification nulle. - Nul Valider
Cas de test : Vรฉrifiez les valeurs nulles lorsque ยซ Non nul ยป est spรฉcifiรฉ pour une colonne donnรฉe. - Vรฉrification en double
Cas de test :1) Validez la clรฉ unique, la clรฉ primaire et toute autre colonne qui doit รชtre unique selon les exigences mรฉtier pour confirmer qu'il n'y a pas de lignes en double.
2) Vรฉrifiez s'il existe des valeurs en double dans une colonne, par exemple :tractigรฉes ร partir de plusieurs colonnes sources et combinรฉes en une seule colonne.
3) Conformรฉment aux exigences du client, assurez-vous qu'il n'existe aucun doublon dans une combinaison de plusieurs colonnes au sein de la cible. - Validation de la date
Cas de test : Les valeurs de date sont utilisรฉes dans de nombreux domaines du dรฉveloppement ETL :1) Pour connaรฎtre la date de crรฉation de la ligne.
2) Identifier les enregistrements actifs du point de vue du dรฉveloppement ETL.
3) Identifier les enregistrements actifs du point de vue des exigences mรฉtier.
4) Parfois, en fonction des valeurs de date, des mises ร jour et des insertions sont gรฉnรฉrรฉes. - Validation complรจte des donnรฉes
Cas de test :1) Valider l'ensemble des donnรฉes dans les tables source et cible en utilisant une requรชte moins comme meilleure solution.
2) Vous devez effectuer la soustraction de la source ร la cible et la soustraction de la cible ร la source.
3) Si la requรชte moins renvoie une valeur quelconque, ces lignes doivent รชtre considรฉrรฉes comme non concordantes.
4) Faites correspondre les lignes entre la source et la cible ร l'aide d'une instruction intersect.
5) Le nombre renvoyรฉ par intersect doit correspondre aux nombres individuels des tables source et cible.
6) Si une requรชte moins renvoie des lignes et que le nombre d'intersections est infรฉrieur au nombre source ou cible, 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
Mรชme avec des scรฉnarios de test robustes, les pipelines ETL peuvent prรฉsenter des dรฉfaillances diverses. L'image ci-dessous rรฉcapitule les catรฉgories de bogues ร surveiller, et le tableau suivant les dรฉcrit une ร une.
| 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 |
โข N'autorise pas plusieurs utilisateurs โข Ne permet pas la charge attendue par le client |
| Bogues de condition de course |
โข Plantage 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 โข 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 |
Test d'entrepรดt de donnรฉes
Test d'entrepรดt de donnรฉes Les tests d'entrepรดt de donnรฉes consistent ร vรฉrifier l'intรฉgritรฉ, la fiabilitรฉ, l'exactitude et la cohรฉrence des donnรฉes d'un entrepรดt afin de garantir leur conformitรฉ avec le cadre de donnรฉes de l'entreprise. Leur principal objectif est de s'assurer que les donnรฉes intรฉgrรฉes sont suffisamment fiables pour permettre ร l'entreprise de prendre des dรฉcisions รฉclairรฉes. Alors que les tests ETL se concentrent sur le dรฉplacement des donnรฉes, les tests d'entrepรดt de donnรฉes couvrent l'ensemble de la couche de stockage et de reporting alimentรฉe par les processus ETL.
Diffรฉrence entre les tests de base de donnรฉes et les tests ETL
Bien que les deux disciplines travaillent avec des donnรฉes structurรฉes, elles rรฉpondent ร des questions diffรฉrentes. Le tableau ci-dessous met en รฉvidence cette diffรฉrence pratique :
| 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 respectent les rรจgles et les normes dรฉfinies dans le modรจle de donnรฉes. |
| Vรฉrifie si les nombres dans la source et la cible correspondent et si les donnรฉes transformรฉes sont conformes aux attentes. | Vรฉrifie qu'il n'existe pas d'enregistrements orphelins et que les relations clรฉ primaire รฉtrangรจre sont maintenues. |
| Vรฉrifie que les relations de clรฉs primaires รฉtrangรจres sont prรฉservรฉes pendant l'ETL. | Vรฉrifie l'absence de tables redondantes et la normalisation optimale de la base de donnรฉes. |
| Vรฉrifie l'absence de doublons dans les donnรฉes chargรฉes. | Vรฉrifie si des donnรฉes sont manquantes dans les colonnes oรน elles sont requises. |
Tests de performances dans ETL
Tests de performances dans ETL L'ETL est une technique de test qui garantit qu'un systรจme ETL peut gรฉrer la charge de plusieurs utilisateurs et transactions. L'objectif principal de l'ETL Test de performance L'objectif est d'optimiser et d'amรฉliorer les performances des sessions en identifiant et en รฉliminant les goulots d'รฉtranglement. Les bases de donnรฉes source et cible sont mappรฉes.pingLes sessions, les s et le systรจme lui-mรชme peuvent tous contenir des goulots d'รฉtranglement.
Informatica est l'un des meilleurs outils utilisรฉs pour les tests et l'optimisation des performances.
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 du tableau ร partir d'un fichier intermรฉdiaire ou d'un tableau aprรจs application d'une transformation
Voici quelques-unes des responsabilitรฉs quotidiennes d'un testeur ETL :
- Tester le logiciel ETL
- Composants de test de l'entrepรดt de donnรฉes ETL
- Exรฉcuter des tests basรฉs sur les donnรฉes du backend
- Crรฉer, concevoir et exรฉcuter cas de test, plans de test et bancs d'essai
- Identifier les problรจmes et proposer des solutions aux problรจmes potentiels
- Approuver les exigences et les spรฉcifications de conception
- Valider les transferts de donnรฉes et tester les fichiers plats
- Rรฉdigez des requรชtes SQL pour diffรฉrents scรฉnarios, tels que des tests de comptage.
Automatisation des tests ETL
La mรฉthodologie gรฉnรฉrale des tests ETL consiste ร utiliser des scripts SQL ou une analyse visuelle des donnรฉes. Ces approches sont chronophages, sujettes aux erreurs et fournissent rarement des rรฉsultats complets. Couverture de testPour accรฉlรฉrer l'exรฉcution, amรฉliorer la couverture, rรฉduire les coรปts et amรฉliorer dรฉfaut La dรฉtection dans les environnements de production et de dรฉveloppement nรฉcessite aujourd'hui une automatisation. Informatica est un outil qui rรฉpond ร ce besoin.
Les รฉquipes modernes combinent รฉgalement l'automatisation traditionnelle avec des outils d'aide ร l'IA qui suggรจrent des tests de transformation, gรฉnรจrent des donnรฉes sources synthรฉtiques et signalent les dรฉrives de schรฉma, permettant ainsi aux testeurs de se concentrer sur la logique mรฉtier complexe plutรดt que sur la maintenance rรฉpรฉtitive des scripts.
Meilleures pratiques pour les tests ETL
- Assurez-vous que les donnรฉes sont correctement transformรฉes.
- Sans aucune perte ni troncature de donnรฉes, les donnรฉes projetรฉes doivent รชtre chargรฉes dans l'entrepรดt de donnรฉes.
- Assurez-vous que l'application ETL rejette correctement les donnรฉes invalides, les remplace par des valeurs par dรฉfaut le cas รฉchรฉant et les signale.
- Vรฉrifiez que les donnรฉes sont chargรฉes dans l'entrepรดt dans les dรฉlais prescrits et prรฉvus afin de valider l'รฉvolutivitรฉ et les performances.
- Toutes les mรฉthodes doivent comporter des tests unitaires appropriรฉs, quelle que soit leur visibilitรฉ.
- Pour mesurer leur efficacitรฉ, tous les tests unitaires doivent utiliser des techniques de couverture appropriรฉes.
- Visez une assertion par cas de test.
- Crรฉer tests unitaires ces exceptions cibles.
Check-out - Questions et rรฉponses sur les entretiens de test ETL





