Entreposage de données - Test
Les tests sont très importants pour les systèmes d'entrepôt de données afin de les faire fonctionner correctement et efficacement. Il existe trois niveaux de test de base effectués sur un entrepôt de données -
- Test unitaire
- Test d'intégration
- Test du système
Test unitaire
Dans les tests unitaires, chaque composant est testé séparément.
Chaque module, c'est-à-dire procédure, programme, script SQL, shell Unix est testé.
Ce test est réalisé par le développeur.
Test d'intégration
Lors des tests d'intégration, les différents modules de l'application sont rassemblés puis testés par rapport au nombre d'entrées.
Il est effectué pour tester si les différents composants fonctionnent bien après l'intégration.
Test du système
Lors des tests système, l'ensemble de l'application d'entrepôt de données est testée ensemble.
Le but des tests du système est de vérifier si l'ensemble du système fonctionne correctement ensemble ou non.
Les tests du système sont effectués par l'équipe de test.
Étant donné que la taille de tout l'entrepôt de données est très grande, il est généralement possible d'effectuer des tests système minimaux avant que le plan de test puisse être mis en œuvre.
Calendrier des tests
Tout d'abord, le programme de test est créé au cours du processus de développement du plan de test. Dans ce calendrier, nous prévoyons le temps estimé nécessaire pour tester l'ensemble du système d'entrepôt de données.
Il existe différentes méthodologies disponibles pour créer un calendrier de test, mais aucune d'entre elles n'est parfaite car l'entrepôt de données est très complexe et volumineux. Le système d'entrepôt de données évolue également dans la nature. On peut rencontrer les problèmes suivants lors de la création d'un calendrier de test -
Un problème simple peut avoir une grande taille de requête qui peut prendre un jour ou plus pour se terminer, c'est-à-dire que la requête ne se termine pas dans une échelle de temps souhaitée.
Il peut y avoir des pannes matérielles telles que la perte d'un disque ou des erreurs humaines telles que la suppression accidentelle d'une table ou l'écrasement d'une table volumineuse.
Note - En raison des difficultés mentionnées ci-dessus, il est recommandé de toujours doubler le temps que vous accorderiez normalement pour les tests.
Test de la récupération de sauvegarde
Tester la stratégie de récupération de sauvegarde est extrêmement important. Voici la liste des scénarios pour lesquels ce test est nécessaire -
- Panne de média
- Perte ou endommagement de l'espace table ou du fichier de données
- Perte ou endommagement du fichier de journalisation
- Perte ou détérioration du fichier de contrôle
- Échec de l'instance
- Perte ou endommagement du fichier d'archive
- Perte ou endommagement de la table
- Échec lors d'une panne de données
Test de l'environnement opérationnel
Il y a un certain nombre d'aspects qui doivent être testés. Ces aspects sont énumérés ci-dessous.
Security- Un document de sécurité distinct est requis pour les tests de sécurité. Ce document contient une liste des opérations non autorisées et la conception de tests pour chacune.
Scheduler- Un logiciel de planification est nécessaire pour contrôler les opérations quotidiennes d'un entrepôt de données. Il doit être testé lors des tests du système. Le logiciel de planification nécessite une interface avec l'entrepôt de données, qui aura besoin du planificateur pour contrôler le traitement de nuit et la gestion des agrégations.
Disk Configuration.- La configuration du disque doit également être testée pour identifier les goulots d'étranglement d'E / S. Le test doit être effectué plusieurs fois avec des paramètres différents.
Management Tools.- Il est nécessaire de tester tous les outils de gestion lors des tests du système. Voici la liste des outils à tester.
- Responsable de l'événement
- Gestionnaire système
- Gestionnaire de base de données
- Panneau de configuration
- Gestionnaire de récupération de sauvegarde
Tester la base de données
La base de données est testée des trois manières suivantes -
Testing the database manager and monitoring tools - Pour tester le gestionnaire de base de données et les outils de surveillance, ils doivent être utilisés dans la création, l'exécution et la gestion de la base de données de test.
Testing database features - Voici la liste des fonctionnalités que nous devons tester -
Interroger en parallèle
Créer un index en parallèle
Chargement de données en parallèle
Testing database performance- L'exécution des requêtes joue un rôle très important dans les mesures de performance de l'entrepôt de données. Il existe des ensembles de requêtes fixes qui doivent être exécutées régulièrement et doivent être testées. Pour tester les requêtes ad hoc, il faut parcourir le document des exigences de l'utilisateur et comprendre complètement l'entreprise. Prenez le temps de tester les requêtes les plus délicates que l'entreprise est susceptible de poser par rapport à différentes stratégies d'indexation et d'agrégation.
Test de l'application
Tous les gestionnaires doivent être correctement intégrés et travailler afin de garantir que la charge, l'indexation, l'agrégation et les requêtes de bout en bout fonctionnent conformément aux attentes.
Chaque fonction de chaque manager doit fonctionner correctement
Il est également nécessaire de tester l'application sur une période de temps.
Les tâches de fin de semaine et de fin de mois doivent également être testées.
Logistique du test
Le but du test du système est de tester tous les domaines suivants -
- Logiciel de planification
- Procédures opérationnelles au jour le jour
- Stratégie de récupération de sauvegarde
- Outils de gestion et de planification
- Traitement de nuit
- Performances des requêtes
Note- Le point le plus important est de tester l'évolutivité. Ne pas le faire nous laissera une conception de système qui ne fonctionnera pas lorsque le système se développera.