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.

  • (I.e. Définir les tests ETL : Vérifier l'intégrité des données dans ExtracÉtapes t, Transform et Load entre les systèmes source et cible.
  • (I.e. Phases du processus : Identifier les sources, acquérir les données, appliquer la logique métier et la modélisation dimensionnelle, puis construire et produire des rapports.
  • 🧪 Types de tests : Validation de la production, correspondance source-cible, métadonnées, exhaustivité, exactitude, transformation et tests incrémentaux.
  • 🐞 Catégories de bogues : Interface utilisateur, analyse des valeurs limites, partitionnement par équivalence, calcul, chargement, conditions de concurrence et défauts de contrôle de version.
  • 🤖 Focus sur l'automatisation : Des outils tels qu'Informatica et les scripts assistés par l'IA réduisent les efforts manuels et étendent la couverture des tests.
  • Meilleures pratiques : Valider les transformations, cibler les exceptions, appliquer la couverture et confirmer les délais de chargement évolutifs.

Tutoriel de test ETL

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 :

Extract-Transform-Chargement

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.

Test ETL

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.

Le meilleur choix
Dataddo

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.

Visitez Dataddo

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 :

Processus de test ETL

Les tests ETL sont effectués en cinq étapes :

  1. Identification des sources de données et des besoins
  2. L'acquisition des données
  3. Mise en œuvre de la logique métier et de la modélisation dimensionnelle
  4. Construire et remplir des données
  5. Créer des rapports

Processus de test ETL

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.

  9. 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.
  10. 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 :

  1. 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.
  2. 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

  1. 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.
  2. 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.

  3. Validation des contraintes
    Cas de test : Vérifiez que les contraintes sont définies pour la table spécifique comme prévu.
  4. 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é.

  5. 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.

  6. 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.

  7. 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.
  8. 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.

  9. Nul Valider
    Cas de test : Vérifiez les valeurs nulles lorsque « Non nul » est spécifié pour une colonne donnée.
  10. 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.

  11. 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.

  12. 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.

  13. 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.

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 • 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

  1. Assurez-vous que les données sont correctement transformées.
  2. Sans aucune perte ni troncature de données, les données projetées doivent être chargées dans l'entrepôt de données.
  3. 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.
  4. 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.
  5. Toutes les méthodes doivent comporter des tests unitaires appropriés, quelle que soit leur visibilité.
  6. Pour mesurer leur efficacité, tous les tests unitaires doivent utiliser des techniques de couverture appropriées.
  7. Visez une assertion par cas de test.
  8. Créer tests unitaires ces exceptions cibles.

Check-out - Questions et réponses sur les entretiens de test ETL

FAQ

L'ETL transforme les données avant de les charger dans l'entrepôt de données, tandis que l'ELT charge d'abord les données brutes et les transforme dans le système cible. L'ELT convient aux entrepôts de données cloud disposant d'une capacité de calcul élastique, tandis que l'ETL est adapté aux pipelines structurés sur site.

Les défis courants incluent les volumes de données importants, les changements fréquents de schéma, les données de test manquantes, les règles métier non documentées, les transformations complexes et les contraintes de performance.ping La documentation, l'automatisation et les requêtes de validation réutilisables réduisent considérablement ces risques.

Les outils populaires incluent informatique Option de validation des données, QuerySurge, Talend, IBM InfoSphere DataStage et des utilitaires open source comme dbt tests. Le choix optimal dépend de la plateforme d'entrepôt de données, du budget et du niveau d'automatisation souhaité.

L'IA améliore les tests ETL en détectant les anomalies, en prédisant les dérives de schéma, en générant des données sources synthétiques et en recommandant des solutions pour combler les lacunes de couverture. Les modèles d'apprentissage automatique peuvent également profiler les données de production et proposer des règles de validation que les humains pourraient négliger.

Oui. Les assistants IA peuvent lire les cartes.ping Le système traite les documents, déduit les règles de transformation et génère automatiquement des scripts de validation SQL. Les testeurs vérifient toujours la conformité des cas générés aux exigences métier, mais le temps de génération passe souvent de plusieurs heures à quelques minutes pour les contrôles répétitifs.

Résumez cet article avec :