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 :
- Extraction
- Extraire les données pertinentes
- 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.
- 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
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
- 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
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 |
|
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 |
|
Problèmes d'exhaustivité |
|
Problèmes d'exactitude |
|
De La Carrosserie | De La Carrosserie |
Qualité des données |
|
Nul Valider | Vérifiez les valeurs nulles, où « Not Null » est spécifié pour une colonne spécifique. |
Vérification en double |
|
Validation de la date | Les valeurs de date utilisent de nombreux domaines dans le développement ETL pour
|
Validation complète des données |
|
Propreté des données | 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 |
|
Bogue lié à l'analyse des valeurs limites (BVA) |
|
Bogue lié au partitionnement de classe d'équivalence (ECP) |
|
Bogues d'entrée/sortie |
|
Bogues de calcul |
|
Bogues de condition de chargement |
|
Bogues de condition de course |
|
Bogues de contrôle de version |
|
Bogues matériels |
|
Bogues de la source 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éez tests unitaires qui ciblent les exceptions
Check-out - Questions et réponses sur les entretiens de test ETL