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 ETL

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 :

Extraire-Transformer-Charger

  1. Extraction
  • Extraire les données pertinentes
  1. 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.
  1. 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

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. Implémenter les logiques métier et la modélisation dimensionnelle
  4. Construire et remplir des données
  5. Créer des rapports

Processus de test ETL

Types de tests ETL

Types de tests Processus de test
Tests de validation de la production « É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) 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 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 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 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 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 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 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 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 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

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

Scénario de test Cas de test
Validation des documents cartographiques 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
  1. Validez la structure des tables source et cible par rapport à la documentation de mappage correspondante.
  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érifier que les types et formats de champ 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 à la documentation de mappage.
Validation des contraintes Assurez-vous que les contraintes sont définies pour une table spécifique comme prévu
Problèmes de cohérence des données
  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. Utilisation abusive des contraintes d'intégrité
Problèmes d'exhaustivité
  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 les enregistrements rejetés
  4. Les données de vérification 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 source
Problèmes d'exactitude
  1. Données mal orthographiées ou mal enregistrées
  2. Données nulles, non uniques ou hors limites
De La Carrosserie De La Carrosserie
Qualité des données
  1. Vérification du numéro : besoin de vérifier le numéro et de le valider
  2. Vérification de la date : ils doivent suivre le format de la date et celui-ci doit être le même pour tous les enregistrements
  3. Contrôle de précision
  4. Vérification des données
  5. Chèque nul
Nul Valider Vérifiez les valeurs nulles, où « Not Null » est spécifié pour une colonne spécifique.
Vérification en double
  1. Doit valider la clé unique, la clé primaire et toute autre colonne doit être unique selon les exigences de l'entreprise et avoir des lignes en double
  2. Vérifiez s'il existe des valeurs en double dans une colonne extraite de plusieurs colonnes dans la source et combinée en une seule colonne
  3. Selon les 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 Les valeurs de date utilisent de nombreux domaines dans le développement ETL pour

  1. 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
  1. Pour valider l'ensemble de données complet dans la table source et cible moins une requête dans une meilleure solution
  2. Nous devons source moins cible et cible moins source
  3. Si la requête moins renvoie une valeur, celles-ci doivent être considérées comme des lignes incompatibles
  4. Nécessite de faire correspondre les lignes entre la source et la cible à l'aide de l'instruction d'intersection
  5. Le nombre renvoyé par l'intersection doit correspondre aux nombres individuels des tables source et cible
  6. Si moins les retours de requête des lignes et le nombre d'intersections sont inférieurs au nombre de sources ou à la table cible, nous pouvons considérer qu'il existe des lignes en double.
Propreté des données Les colonnes inutiles doivent être supprimées avant le chargement dans la zone de préparation.

Types de bogues ETL

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 invalides acceptées
Bogues de calcul
  • Erreurs mathématiques
  • La sortie finale est fausse
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 client
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

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

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