Test de base de données - Techniques

Ce chapitre explique les techniques les plus courantes utilisées pour effectuer des tests de base de données.

Test de schéma de base de données

Comme mentionné précédemment, cela implique de tester chaque objet dans le schéma.

Vérification des bases de données et des appareils

  • Vérification du nom de la base de données
  • Vérification du périphérique de données, du périphérique de journalisation et du périphérique de vidage
  • Vérifier si suffisamment d'espace alloué pour chaque base de données
  • Vérification du paramètre d'option de base de données

Vérification des règles de tables, colonnes, types de colonnes

Vérifiez les éléments ci-dessous pour découvrir les différences entre les paramètres réels et appliqués.

  • Nom de toutes les tables de la base de données

  • Noms de colonne pour chaque table

  • Types de colonnes pour chaque table

  • NULL valeur vérifiée ou non

  • Si une valeur par défaut est liée à des colonnes de table correctes

  • Définitions de règles pour corriger les noms de table et les privilèges d'accès

Clé et index

Vérifiez la clé et les index dans chaque table -

  • Clé primaire pour chaque table

  • Clés étrangères pour chaque table

  • Types de données entre une colonne de clé étrangère et une colonne dans une autre table Indices, clusterisés ou non clusterisés uniques ou non uniques

Tests de procédure stockée

Il s'agit de vérifier si une procédure stockée est définie et les résultats de sortie sont comparés. Dans un test de procédure stockée, les points suivants sont vérifiés -

  • Nom de la procédure stockée

  • Noms de paramètres, types de paramètres, etc.

  • Output- Si la sortie contient de nombreux enregistrements. Aucune ligne n'est effectuée ou seuls quelques enregistrements sont extraits.

  • Quelle est la fonction de la procédure stockée et ce qu'une procédure stockée n'est pas censée faire?

  • Passer des exemples de requêtes d'entrée pour vérifier si une procédure stockée extrait les données correctes.

  • Stored Procedure Parameters- Appel d'une procédure stockée avec des données de limite et avec des données valides. Rendez chaque paramètre invalide une fois et exécutez une procédure.

  • Return values- Vérifiez les valeurs renvoyées par la procédure stockée. En cas d'échec, une valeur différente de zéro doit être renvoyée.

  • Error messages check- Apportez des modifications de manière à ce que la procédure stockée échoue et générez chaque message d'erreur au moins une fois. Vérifiez tous les scénarios d'exception en l'absence de message d'erreur prédéfini.

Tests de déclenchement

Dans un test de déclenchement, le testeur doit effectuer les tâches suivantes -

  • Assurez-vous que le nom du déclencheur est correct.
  • Validez le déclencheur s'il est généré pour une colonne de table spécifique.
  • Validation de la mise à jour du déclencheur.
  • Mettez à jour un enregistrement avec des données valides.
  • Mettez à jour un enregistrement avec des données non valides et couvrez chaque erreur de déclenchement.
  • Mettez à jour un enregistrement lorsqu'il est toujours référencé par une ligne dans une autre table.
  • Assurez la restauration des transactions en cas de panne.
  • Découvrez tous les cas dans lesquels un déclencheur n'est pas censé annuler les transactions.

Scripts de configuration du serveur

Deux types de tests doivent être effectués -

  • Configuration de la base de données à partir de zéro, et
  • Pour configurer une base de données existante.

Tests d'intégration de SQL Server

Les tests d'intégration doivent être effectués une fois les tests de composants terminés.

  • Les procédures stockées doivent être appelées de manière intensive pour sélectionner, insérer, mettre à jour et supprimer des enregistrements dans différentes tables afin de détecter tout conflit et incompatibilité.

  • Tout conflit entre le schéma et les déclencheurs.

  • Tout conflit entre les procédures stockées et le schéma.

  • Tout conflit entre les procédures stockées et les déclencheurs.

Méthode de test fonctionnel

Les tests fonctionnels peuvent être effectués en divisant la base de données en modules selon la fonctionnalité. Les fonctionnalités sont des deux types suivants -

  • Type 1- Dans les tests de type 1, découvrez les caractéristiques du projet. Pour chaque fonctionnalité majeure, découvrez le schéma, les déclencheurs et les procédures stockées responsables de l'implémentation de cette fonction et placez-les dans un groupe fonctionnel. Ensuite, testez chaque groupe ensemble.

  • Type 2- Dans les tests de type 2, la frontière des groupes fonctionnels dans un back-end n'est pas évidente. Vous pouvez vérifier le flux de données et voir où vous pouvez vérifier les données. Commencez par le front-end.

Le processus suivant a lieu -

  • Lorsqu'un service a une demande ou enregistre des données, certaines procédures stockées sont appelées.

  • Les procédures mettront à jour certaines tables.

  • Ces procédures stockées seront l'endroit où commencer les tests et ces tables seront l'endroit où vérifier les résultats des tests.

Test de stress

Les tests de résistance consistent à obtenir une liste des principales fonctions de la base de données et des procédures stockées correspondantes. Suivez les étapes ci-dessous pour les tests de résistance -

  • Écrivez des scripts de test pour essayer ces fonctions et chaque fonction doit être vérifiée au moins une fois dans un cycle complet.

  • Exécutez les scripts de test encore et encore pendant une période de temps spécifique.

  • Vérification des fichiers journaux pour vérifier les blocages, les pannes de mémoire, la corruption des données, etc.

Tests de référence

Si votre base de données ne présente aucun problème de données ou bogue, les performances du système peuvent être vérifiées. Une mauvaise performance du système peut être trouvée dans les tests de référence en vérifiant les paramètres donnés ci-dessous -

  • Performances au niveau du système
  • Identifier les fonctions / fonctionnalités les plus utilisées
  • Minutage - temps maximum, temps minimum et temps moyen pour exécuter les fonctions
  • Volume d'accès

Test d'une base de données via Front-end

Des bogues back-end peuvent également être trouvés parfois en faisant des tests frontaux. Vous pouvez suivre les étapes simples ci-dessous pour détecter les bogues par des tests frontaux.

  • Écrivez des requêtes depuis le front-end et lancez les recherches.

  • Choisissez un enregistrement existant, modifiez les valeurs de certains champs et enregistrez l'enregistrement. (Cela implique l'instruction UPDATE ou la mise à jour des procédures stockées et des déclencheurs de mise à jour.)

  • Insérez un nouvel élément de menu dans la fenêtre frontale. Remplissez les informations et sauvegardez l'enregistrement. (Cela implique les instructions INSERT ou les procédures stockées d'insertion et les déclencheurs de suppression.)

  • Prenez un enregistrement existant, cliquez sur le bouton SUPPRIMER ou SUPPRIMER et confirmez la suppression. (Cela implique l'instruction DELETE ou les procédures stockées de suppression et les déclencheurs de suppression.)

  • Répétez ces cas de test avec des données non valides et voyez comment la base de données répond.