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





