Database
 sql >> Base de données >  >> RDS >> Database

Qu'est-ce qu'un test de base de données et comment le réaliser ?

Les données sont au cœur de chaque application logicielle, tout comme la base de données qui héberge ces données. Mais avec l'augmentation de la taille des données ou la complexité des bases de données augmente également, ce qui rend difficile la gestion des données. Ainsi, la validation des données devient très nécessaire. C'est là que les tests de base de données sont utiles et aident à vérifier la qualité, la sécurité et l'exactitude des données qu'une application récupère ou stocke dans la base de données. À travers cet article, je vais vous en donner un aperçu complet.

Vous trouverez ci-dessous les sujets abordés dans ce didacticiel :

  • Qu'est-ce que le test de base de données ?
  • Pourquoi le test de la base de données est-il nécessaire ?
  • Types de test de base de données
    • Tests structurels
    • Tests fonctionnels
    • Tests non fonctionnels
  • Étapes de test de la base de données
  • Outils de test de base de données

Alors commençons.

Qu'est-ce que le test de base de données ?

Avant de parler de ce qu'est le test de base de données, permettez-moi d'abord de vous informer sur les bases de données. Une base de données n'est rien d'autre qu'une collection systématique de données qui fournit le stockage des données et aide à la manipulation des données. La gestion des données devient très facile à l'aide de ces bases de données, car les bases de données utilisent des objets pour gérer les données, tels que des tables pour stocker les données, des vues pour les représentations des données, des fonctions et des déclencheurs pour la manipulation des données.

Désormais, le test de base de données fait référence au processus de validation des données stockées dans une base de données en vérifiant les objets contrôlant les données et les diverses fonctionnalités qui les entourent. Généralement, les activités telles que la vérification de la validité des données, le test de l'intégrité des données, la vérification des performances, le test de diverses procédures, déclencheurs et fonctions dans la base de données sont couvertes pendant le test de la base de données.

Mais pour effectuer des tests de base de données, il est très important d'avoir une bonne connaissance de SQL. Ne vous inquiétez pas si vous n'avez pas l'expertise requise, vous pouvez vous référer à cet article sur les Bases de SQL pour commencer.

Pourquoi tester la base de données ?

Comme nous le savons, la base de données est un dépotoir de données où les données sont collectées en quantité énorme et stockées dans un format structuré. Bien que SGBD (DataBase Management System) fournit un moyen organisé de gérer, de récupérer et de stocker ces données, il y a des cas où les données peuvent devenir redondantes, dupliquées, etc. Dans de tels cas, les tests de base de données entrent en jeu, ce qui nous aide à valider les données. Ci-dessous, j'ai énuméré divers aspects en fonction desquels une base de données doit être validée :

  1. Mappage des données
    Le mappage de données fait partie intégrante des tests de base de données qui se concentrent sur la validation des données qui transitent entre l'application et la base de données principale.
  2. Validation des propriétés ACID
    ACIDE signifie A tomicité, C persistance, je solution, et D urabilité. C'est un autre aspect important qui doit être confirmé pour chaque transaction de base de données.

    • Anomicité  :Cela signifie que toutes les transactions de base de données sont atomiques, c'est-à-dire que les transactions peuvent aboutir à un succès ou à un échec. Aussi appelé Tout ou rien .
    • Cohérence  :Cela signifie que l'état de la base de données restera valide une fois la transaction terminée.
    • Isolement  :Cela signifie que plusieurs transactions peuvent être exécutées en même temps sans impact les unes sur les autres et sans altérer l'état de la base de données.
    • Durabilité  :Cela signifie qu'une fois qu'une transaction est validée, elle conservera les modifications sans aucun échec, quel que soit l'effet de facteurs externes.
  3. Intégrité des données
    Le test de l'intégrité des données d'une base de données fait référence au processus d'évaluation de toutes sortes de processus, d'opérations et de méthodes utilisés pour accéder, gérer et mettre à jour la base de données, également connu sous le nom de CRUD. opérations. Cela se concentre uniquement sur le test de l'exactitude et de la cohérence des données stockées dans la base de données afin que nous obtenions les résultats attendus ou souhaités.
  4. Conformité aux règles métier
    Avec l'augmentation de la complexité des bases de données, divers composants tels que les contraintes relationnelles, les déclencheurs, les procédures stockées, etc. commencent également à se compliquer. Afin d'éviter cela, les testeurs fournissent des requêtes SQL suffisamment appropriées pour valider les objets complexes.

Types de test de base de données

Il existe 3 types de tests de base de données que j'ai répertoriés ci-dessous :

  1. Tests structurels
  2. Tests fonctionnels
  3. Tests non fonctionnels

Regardons maintenant chacun de ces types et leurs sous-types un par un.

Tests structurels

Le test de la base de données structurelle est le processus de validation de tous les éléments qui sont présents à l'intérieur du référentiel de données et qui sont principalement utilisés pour le stockage des données. Ces éléments ne peuvent pas être manipulés directement par les utilisateurs finaux. La validation des serveurs de bases de données est l'une des considérations les plus importantes et les testeurs qui parviennent à mener à bien cette phase acquièrent avec succès la maîtrise des requêtes SQL.

Les différents types de tests structurels sont :

  • Test de schéma

Ce type de test est également connu sous le nom de test de mappage et est effectué pour s'assurer que le mappage de schéma du front-end et du back-end sont synchronisés. Certains des points de contrôle importants de ce test sont :

    • Valide divers types de formats de schéma associés aux bases de données.
    • Une vérification est requise pour les tables/vues/colonnes non mappées.
    • Une vérification est également requise pour garantir la cohérence des bases de données hétérogènes dans un environnement avec le mappage global de l'application.
    • Fournit divers outils pour la validation du schéma de base de données.
  • Test de table et de colonne de base de données

Certains des points de contrôle importants de ce test sont :

    • La compatibilité des champs de base de données et le mappage des colonnes en back-end et en front-end.
    • Valider la longueur et la convention de dénomination des champs et des colonnes de la base de données conformément aux exigences.
    • Détecter et valider toutes les tables/colonnes de base de données inutilisées/non mappées
    • Valider la compatibilité du type de données et de la longueur des champs dans les colonnes de la base de données principale avec le frontal de l'application.
    • Valide que les utilisateurs sont en mesure de fournir les entrées souhaitées à l'aide des champs de base de données spécifiés dans les documents de spécification des exigences commerciales.
  • Test des clés et des index

Certains des points de contrôle importants de ce test sont :

    • Assurez-vous que les contraintes de clé primaire et de clé étrangère requises sont déjà présentes sur les tables requises.
    • Valider les références des clés étrangères.
    • Assurez-vous que, dans deux tables, le type de données de la clé primaire et les clés étrangères correspondantes sont identiques.
    • Validez les noms de toutes les clés et index en fonction des conventions de dénomination.
    • Vérifiez les champs obligatoires et la taille et la longueur des index.
    • Assurer la création des index clusterisés et des index non clusterisés dans les tables requises conformément aux exigences de l'entreprise.
  • Test des procédures stockées

Certains des points de contrôle importants de ce test sont :

    • Valider l'adoption des conventions standard de codage requises, la gestion des exceptions et des erreurs pour toutes les procédures stockées par l'équipe de développement dans tous les modules de l'application en cours de test.
    • Assurez-vous que l'équipe de développement a couvert toutes les conditions/boucles en appliquant les données d'entrée requises à l'application en cours de test.
    • Vérifiez si l'équipe de développement a correctement appliqué les opérations TRIM ou non à chaque fois que les données ont été extraites des tables de base de données spécifiées.
    • Assurez-vous que les sorties requises sont générées en exécutant manuellement les procédures stockées.
    • Assurez-vous que les champs du tableau sont mis à jour comme spécifié par l'application testée en exécutant manuellement les procédures stockées.
    • Assurez-vous que les déclencheurs requis sont invoqués implicitement en exécutant les procédures stockées.
    • Détectez et validez toutes les procédures stockées inutilisées.
    • Validation de la condition Null au niveau de la base de données.
    • Assurez-vous que toutes les procédures et fonctions stockées ont été exécutées et testées sur la base de données vierge en cours de test.
    • Valider l'intégration globale des modules de procédure stockée comme spécifié dans les exigences de l'application testée.
  • Test de déclenchement

Certains des points de contrôle importants de ce test sont :

    • Valider que les conventions de codage requises sont suivies lors de la phase de codage des déclencheurs.
    • Assurez-vous que les déclencheurs exécutés remplissent les conditions requises pour les transactions DML respectives.
    • Vérifiez si les données sont correctement mises à jour une fois les déclencheurs exécutés.
    • Valider les fonctionnalités telles que la fonctionnalité de déclencheurs de mise à jour, d'insertion et de suppression de l'application testée.
  • Validations du serveur de base de données

Certains des points de contrôle importants de ce test sont :

    • Valider les configurations du serveur de base de données comme spécifié dans les exigences commerciales.
    • Assurez-vous que l'utilisateur requis exécute uniquement les niveaux d'actions requis par l'application testée.
    • Assurez-vous que le serveur de base de données est capable de répondre aux besoins du nombre maximal de transactions utilisateur autorisées, conformément aux spécifications des exigences commerciales.

Tests fonctionnels

Le test fonctionnel de la base de données est le processus qui garantit que les transactions et les opérations effectuées par les utilisateurs finaux sont conformes aux spécifications de l'entreprise.

Les différents types de tests fonctionnels sont :

  • Test de la boîte noire

Le test de la boîte noire fait référence au processus qui vérifie diverses fonctionnalités en vérifiant l'intégration de la base de données. En cela, les cas de test sont généralement simples et sont utilisés pour vérifier les données entrantes et sortantes de la fonction. Diverses techniques telles que la technique graphique de cause à effet, l'analyse des valeurs limites et le partitionnement d'équivalence sont utilisées pour tester la fonctionnalité de la base de données. Il est généralement effectué aux premières étapes du développement et coûte moins cher que d'autres tests fonctionnels. Mais il présente certains inconvénients, comme certaines erreurs qui ne peuvent pas être détectées et il n'y a aucune spécification sur la quantité de programme à tester.

  • Test de la boîte blanche

Le test de la boîte blanche concerne la structure interne de la base de données et les utilisateurs ne connaissent pas les détails de la spécification. Ce test nécessite des déclencheurs de base de données et des tests de vues logiques qui prennent en charge la refactorisation de la base de données. De plus, les fonctions de base de données, les déclencheurs, les vues, les requêtes SQL, etc., y sont également testés. Le test de la boîte blanche est utilisé pour valider les tables de la base de données, les modèles de données, le schéma de la base de données, etc. Il adhère aux règles d'intégrité référentielle et sélectionne les valeurs de table par défaut pour vérifier la cohérence de la base de données. Des techniques telles que la couverture des conditions, la couverture des décisions, la couverture des déclarations, etc. sont souvent utilisées pour effectuer des tests en boîte blanche. Contrairement aux tests de boîte noire, les erreurs de codage peuvent être facilement détectées pour éliminer les bogues internes présents dans la base de données. Le seul inconvénient de ce type de test est qu'il ne couvre pas les instructions SQL.

Tests non fonctionnels

Les tests non fonctionnels consistent à effectuer des tests de charge, des tests de résistance, à vérifier la configuration minimale requise pour répondre aux spécifications de l'entreprise, à détecter les risques et à optimiser les performances de la base de données.

Les principaux types de tests non fonctionnels sont :

  • Test de charge

La fonction principale des tests de charge consiste à valider l'impact sur les performances de la plupart des transactions en cours d'exécution dans la base de données. Dans ce test, un testeur est tenu de vérifier les conditions suivantes −

    • Quel est le temps de réponse requis pour exécuter des transactions pour plusieurs utilisateurs situés à distance ?
    • Quel est le temps nécessaire à la base de données pour récupérer les enregistrements spécifiques ?
  • Tests de résistance

Les tests de résistance sont un processus de test qui est effectué pour identifier le point d'arrêt du système. Ainsi, dans ce test, une application est chargée jusqu'au moment où le système tombe en panne. Ce point est appelé point d'arrêt du système de base de données. Les outils de test de résistance couramment utilisés sont LoadRunner et WinRunner .

Voyons maintenant quelles sont les différentes étapes impliquées dans le test de la base de données.

Étapes de test de la base de données

Les tests de base de données ne sont pas un processus fastidieux et comprennent différentes étapes dans le cycle de vie des tests de base de données conformément aux processus de test.

Les étapes clés du test de la base de données sont :

  1. Configurer les conditions préalables aux tests
  2. Exécuter les tests
  3. Vérifier l'état du test
  4. Valider les résultats
  5. Consolider et publier le rapport

Maintenant que vous savez ce qu'est le test de base de données et comment l'exécuter, permettez-moi maintenant de vous éclairer sur les différents outils qui sont principalement utilisés pour les tests de base de données.

Outils de test de base de données

Il existe de nombreux outils sur le marché qui sont utilisés pour générer les données de test, les gérer et enfin effectuer des tests de base de données comme les tests de charge et les tests de régression, etc. Ci-dessous, j'ai répertorié un quelques-uns des outils les plus préférés :

Catégorie Outils
Outils de sécurité des données
  • Confidentialité des données IBM Optim
Outils de test de charge
  • Performances Web
  • Vue radar
  • Mercure
Outils de générateur de données de test
  • Usine de données
  • Générateur de données DTM
  • Données turbo
Outil de gestion des données de test
  • Gestion des données de test IBM Optim
Outils de test unitaire
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

C'était donc une question de test de base de données. Sur ce, je voudrais conclure cet article. J'espère que cet article vous a aidé à ajouter de la valeur à vos connaissances. Pour plus d'informations sur SQL ou les bases de données, vous pouvez vous référer à notre liste de lecture complète ici :Bases de données Edureka .

Si vous souhaitez obtenir une formation structurée sur MySQL, consultez notre Formation de certification MySQL DBA qui vient avec une formation en direct dirigée par un instructeur et une expérience de projet réelle. Cette formation vous aidera à comprendre MySQL en profondeur et vous aidera à maîtriser le sujet.

Vous avez une question pour nous ? Veuillez le mentionner dans la section des commentaires de "Test de base de données ” et je vous répondrai.