database crud testing through ui with sample test cases
Que sont les opérations CRUD et comment effectuer des tests CRUD via l'interface utilisateur:
Les êtres humains ont commencé à stocker des informations avant même plusieurs décennies! Et à cette époque, les bases de données de fichiers plats étaient utilisées dans l'historique informatique où toutes les données étaient stockées dans un fichier.
Plus tard, au début des années 70, IBM a développé le premier modèle de base de données relationnelle, qui a introduit des «index» pour extraire facilement les données.
Ce que vous apprendrez:
- Présentation des opérations CRUD
- Pourquoi le test de base de données est-il important?
- Les 4 fonctionnalités de base de la base de données
- Définition de CRUD
- Test CRUD
- Comment tester la fonctionnalité CRUD d'un logiciel?
- Conclusion
- lecture recommandée
Présentation des opérations CRUD
Actuellement, le système de stockage de données le plus courant est le Base de données où le logiciel crée, lit, met à jour et supprime les données via des requêtes. Les logiciels informatiques peuvent répondre aux besoins des utilisateurs de manière plus rapide et efficace grâce à une base de données et des requêtes correctement conçues.
Cela implique que le test et la vérification de la base de données sont un facteur très important.
Les réponses de l'interface utilisateur graphique (GUI) comme les messages d'erreur, les messages de réussite, etc. sont considérées comme très importantes par presque tous les gestionnaires de test. En effet, l'interface graphique se trouve être la partie visible d'une application, que les utilisateurs peuvent voir. Cependant, les tests de base de données sont tout aussi importants.
D'après mon expérience, j'ai vu de nombreux testeurs manuels qui considèrent cela comme un travail fastidieux, mais ce n'est pas le cas.
Dans ce didacticiel, nous aborderons le test des fonctionnalités de la base de données boîte noire via l'interface utilisateur et les requêtes MySQL d'une manière simple avec des exemples simples.
Pourquoi le test de base de données est-il important?
Les points donnés ci-dessous expliqueront l'importance des tests de bases de données de manière très brève.
- Les données sont un atout important et elles doivent être sauvegardées et protégées.
- Les bases de données se complexifient avec les nouvelles technologies et plates-formes. Par conséquent, les chances de bugs augmentent.
- Il peut y avoir des fonctionnalités critiques associées aux valeurs stockées dans la base de données.
- Des problèmes dans la base de données ou des requêtes peuvent entraîner des problèmes de fonctionnalité majeurs.
- Pour s'assurer que les données sont correctement mappées ou non.
Le test de la base de données peut être effectué sous forme de test unitaire, test de la boîte noire , test de la boîte blanche et le texte de la zone grise.
Les 4 fonctionnalités de base de la base de données
Les logiciels basés sur une base de données ont généralement quatre fonctionnalités principales qui ressortiront clairement des exemples ci-dessous.
Exemple 1:
Facebook, le site de réseautage social le plus connu.
- Vous pouvez créer un nouveau compte
- Afficher les détails de votre compte
- Modifier les détails du compte
- Supprimer le compte
- Vous pouvez créer des commentaires
- Les voir
- Modifiez-les
- Supprime-les
Exemple 2:
LinkedIn, le célèbre site de recherche d'emploi:
outils de test de services Web open source
- Vous pouvez créer votre profil
- Le voir
- Modifier
- Supprime-le
- Vous pouvez ajouter des articles
- Les voir
- Modifiez-les
- Supprime-les
Avez-vous remarqué un ensemble d'activités communes ici?
Oui! Vous avez raison.
La plupart des logiciels prennent en charge ces fonctionnalités de création, d'affichage, d'édition et de suppression d'où le terme CRUEL vient.
Définition de CRUD
En programmation informatique, CRUEL signifie créer, lire, mettre à jour et supprimer. Ce sont les quatre fonctions principales et de base du stockage persistant. Celles-ci sont souvent effectuées dans des applications logicielles via des formulaires.
- Créer - INSÉRER une entrée dans la base de données.
- Lis ou Récupérer - CHOISISSEZ l'entrée dans la base de données et affichez-la.
- Mettre à jour - METTRE À JOUR l'entrée complètement ou partiellement.
- Effacer ou Détruire - SUPPRIMER / SUPPRIMER l'entrée.
En fonction des exigences logicielles, les cycles CRUD peuvent varier.
Par exemple: parfois, le vendeur crée un compte et l'utilisateur le visualise. L'utilisateur n'a peut-être pas le privilège de le modifier ou de le supprimer. D'autre part, l'exigence pourrait être: l'utilisateur crée son compte et le vendeur le vérifie et l'approuve. Ces cycles sont très importants du point de vue du testeur.
Pour les fonctionnalités décrites ci-dessus, une requête correspondante s'exécute dans la base de données.
Vous trouverez ci-dessous des exemples de requêtes MYSQL pour chaque action
action | Exemple de requête |
---|---|
CRÉER | INSERT INTO nom_table (colonne1, colonne2, colonne3, ...) VALEURS (valeur1, valeur2, valeur3, ...); |
LIRE | SELECT * à partir de la table; |
METTRE À JOUR | UPDATE nom_table SET colonne1 = valeur11, colonne2 = valeur22 Condition WHERE; |
EFFACER | DELETE FROM TABLE nom_table où colonne1 = «valeur11»; |
Trois variantes de CRUD sont PAIN (Parcourir, lire, modifier, ajouter, supprimer), DAVE (Supprimer, Ajouter, Afficher, Modifier) et ET MINCE (Créer, répliquer, ajouter, traiter).
Test CRUD
Le test CRUD est un test boîte noire de la fonctionnalité de la base de données.
Comme nous le savons, les tests de la boîte noire considèrent le système logiciel de test comme une «boîte noire et les tests sont effectués via l'interface utilisateur.
Nous avons compris que chaque action frontale telle que l'enregistrement du compte, la modification des détails personnels, l'affichage des détails, la suppression du compte, etc. a une action CRUD correspondante dans la base de données. Les tests CRUD sont effectués pour vérifier si ces actions se reflètent correctement ou non dans la base de données.
Le test CRUD est différent du test frontal de boîte noire commun où nous vérifions les messages de réussite tels que «Compte créé avec succès» après l'enregistrement d'un utilisateur, etc. Ici, nous devons vérifier si les détails du compte sont réellement entrés dans la base de données ou non.
Un testeur manuel peut le faire de deux manières:
# 1) Exécuter des requêtes par nous-mêmes- Les testeurs ayant une bonne compréhension du langage SQL et des exigences logicielles peuvent effectuer leurs propres requêtes pour tester la base de données. De cette façon, tous les cas possibles peuvent être vérifiés avec de bonnes requêtes.
# 2) Exécuter des requêtes avec l'aide d'un développeur- Les testeurs peuvent commencer par vérifier l'interface utilisateur de l'application et obtenir des requêtes du développeur.
Les questions suivantes doivent être prises en compte lors de l'écriture de cas de test pour les opérations CRUD:
- Quel type d'action CRUD est valide et qu'est-ce qui n'est pas valide pour une application de test?
- Quel type de relation les actions CRUD entretiennent-elles / devraient-elles avoir entre elles?
- Quand les actions CRUD sont-elles exécutées?
- Qui accède à la fonctionnalité CRUD? Le système définit-il des privilèges différents pour différents utilisateurs?
Le processus de test général pour Test DB n'est pas très différent des tests manuels habituels de l'interface graphique de la boîte noire.
Aimer,
Étape 1: Préparez l'environnement de test.
Étape 2: Exécutez les étapes de test.
Étape 3: Vérifiez le résultat du test.
Étape 4: Validez les résultats réels en fonction des résultats attendus.
Étape 5: Signalez les bogues et autres résultats.
Afin de vérifier le résultat du test, la réponse de l'interface graphique et le résultat de la requête sont utilisés. Pour les tests de boîte noire CRUD, nous avons juste besoin d'une requête, qui est SELECT.
Comme nous le savons tous, les bases de données stockent des données. Lorsque nous avons besoin de récupérer les données, la requête SELECT est utilisée. Dans les tests de boîte noire, nous devons simplement utiliser cette requête pour voir si les actions via l'interface utilisateur montrent des réflexions appropriées dans la base de données ou non.
«SELECT» peut être utilisé des manières suivantes:
#1) Si un testeur souhaite vérifier et vérifier toutes les données, il peut utiliser le symbole de début (*) dans la requête SELECT. Il s'agit de la forme la plus simple de requête SELECT.
SELECT * FROM table_name;
L'instruction ci-dessus sélectionne tous les champs de toutes les lignes de la table nom_table.
# 2) Dans certains cas, le premier résultat de la requête peut être désordonné. Si un testeur ne s'intéresse qu'à certains champs, le script suivant peut être utilisé.
où puis-je diffuser l'anime gratuitement
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
L'instruction ci-dessus sélectionne les champs 'field_1', 'field_2' et 'field_3' dans toutes les lignes de la table table_name.
# 3) Si un testeur souhaite voir les résultats en fonction de n'importe quel critère, la clause WHERE peut être utilisée.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
L'instruction ci-dessus sélectionne le champ 'field_1' parmi toutes les lignes de la table table_name, où 'field2' est 'success'.
Comment tester la fonctionnalité CRUD d'un logiciel?
Considérer ce qui suit Exemple d'une interface utilisateur, qui autorise certains privilèges utilisateur pour l'utilisation de la base de données MySQL pour stocker les données.
EXEMPLE | DÉTAILS DE LA BASE DE DONNÉES |
---|---|
1. Peut CRÉER un produit avec tous les détails, y compris le nom du produit, la description du produit, le prix du produit en utilisant le formulaire «Ajout de produit» | Base de données: Shopping_DB Tableau: produit Champs: nom_produit, détails_produit, prix_produit Crée une ligne dans la table 'produit' avec des détails ajoutés dans les champs correspondants |
2. Peut LIRE les détails du nom du produit, la description du produit, le prix du produit dans la «page de détails du produit». | Base de données: Shopping_DB Tableau: produit Champs: nom_produit, détails_produit, prix_produit Sélectionne toutes les données ou sélectionne une donnée particulière dans le tableau 'produits' |
3. Peut METTRE À JOUR le nom du produit, la description du produit, le prix du produit en utilisant le formulaire «Product Edit». | Base de données: Shopping_DB Tableau: produit Champs: nom_produit, détails_produit, prix_produit Mettre à jour tous les détails ou des détails particuliers dans une ligne particulière du tableau «produits» |
4. Peut SUPPRIMER le produit | Base de données: Shopping_DB Tableau: produit Champs: nom_produit, détails_produit, prix_produit Supprimez tous les détails du tableau «produits» en supprimant le tableau ou en supprimant une ligne particulière. |
Voyons comment la fonctionnalité CRUD peut être vérifiée dans ce cas.
Remarque :Effectuez toujours des tests CRUD dans les vidages de base de données, car ces tests peuvent entraîner des modifications dans la base de données. La commande ci-dessous peut être utilisée pour effectuer un vidage de l'ensemble de la base de données.
$ mysqldump -u [uname] -p [pass] Shopping_DB> Shopping_DB_backup.sql
# 1) Créer des fonctionnalités
En ajoutant un nouvel article de produit, les étapes suivantes peuvent être suivies:
- Chargez le formulaire «Ajout de produit».
- Saisissez le nom du produit, dites «nom du test».
- Saisissez la description du produit, dites 'ceci est le détail du produit de test'.
- Saisissez le prix du produit, dites «100».
- Soumettez le formulaire.
Vérification du résultat:
- Le testeur vérifie manuellement si le produit est affiché avec tous les détails dans le front-end de l'application logicielle.
- Le testeur exécute la requête dans le serveur de base de données MYSQL pour vérifier si la ligne particulière est présente
Mettre en doute:
angularjs interview questions et réponses pour expérimenté en .net
SELECT * FROM products WHERE product_name = ‘test name’;
Résultat de la requête de MySQL:
Une ligne avec les détails correspondants doit être affichée comme,
mysql> SELECT * FROM produits WHERE product_name = ‘test name’; + ------------- + ----------------------------- + ----- ------------ + | nom_produit | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | nom du test | ceci est les détails du produit de test | 100 | |
Autres cas à considérer:
- Pour certains systèmes, différents utilisateurs auront des privilèges différents. Dans ce cas, les testeurs devront peut-être vérifier la réponse pour chaque rôle d'utilisateur.
- Si les produits en double ne sont pas autorisés, un testeur peut le vérifier en ajoutant à nouveau un produit avec les mêmes détails. Cette fois, la base de données ne doit pas avoir une deuxième entrée correspondant au même produit.
- Si le logiciel autorise plusieurs créations de produits à la fois, le testeur peut vérifier si tous les détails de tous les produits de la soumission ont été correctement saisis dans la base de données.
- Essayez différentes combinaisons d'entrées.
- Vérifiez ce qui se passe pendant les temps d'arrêt du serveur.
# 2) Fonctionnalité de lecture
Pour vérifier si l'entrée créée est lisible, les étapes suivantes peuvent être suivies:
- Créez des produits avec différentes combinaisons d'entrée via la fonctionnalité CREATE, par exemple le nom du test 1, le nom du test 2, le nom du test 3.
- Essayez de rechercher les produits.
Vérification du résultat:
- Le testeur vérifie manuellement si les détails du produit sont corrects.
- Le testeur compare les détails avec ceux enregistrés dans la base de données.
Mettre en doute:
SELECT * FROM produits WHERE nom_produit = «nom du test 1» OU nom_produit = «nom du test 12» OU nom_produit = «nom du test 3»; |
Résultat de la requête de MySQL:
Les détails des produits sélectionnés doivent être affichés. Le testeur peut vérifier et comparer cela avec les résultats dans l'interface utilisateur.
mysql> SELECT * FROM produits WHERE nom_produit = 'nom du test 1' OU nom_produit = 'nom du test 12' OU nom_produit = 'nom du test 3'; + ------------- + ----------------------------- + ----- ------------ + | nom_produit | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | nom du test 1 | ceci est le produit de test detail1 | 100 | | nom du test 2 | ceci est le produit de test detail2 | 100 | | nom du test 3 | ceci est le détail du produit de test3 | 100 | |
Autres cas à considérer:
- Afficher les éléments un à la fois.
- Afficher plusieurs éléments à la fois.
- Essayer d'afficher un élément qui n'existe pas.
- Essayez de rechercher avec différentes conditions.
- Essayez de vérifier la fonctionnalité pour différents rôles d'utilisateur.
- Vérifiez ce qui se passe pendant les temps d'arrêt du serveur.
# 3) Fonctionnalité UPDATE
Pour modifier ou mettre à jour des entrées existantes, les étapes suivantes peuvent être suivies:
- Créez un produit à l'aide de la fonctionnalité CREATE.
- Modifiez différents champs du produit, dites «nom du test» à «Haut col en V».
- Nous faire parvenir
Vérification du résultat:
- Le testeur vérifie manuellement que les détails du produit ont changé
- Le testeur exécute la requête MYSQL et voit les détails
Mettre en doute:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Résultat de la requête de MySQL:
Une ligne avec les détails correspondants doit être affichée.
mysql> SELECT * FROM produits WHERE product_name = ‘V Neck Top’; + ------------- + ----------------------------- + ----- ------------ + | nom_produit | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | Haut à col en V | ceci est les détails du produit de test | 100 | + ------------- + ----------------------------- + ----- ------------ + |
Si vous recherchez avec un ancien nom de produit, la base de données ne doit pas renvoyer les détails.
Autres cas à considérer:
- Mettez à jour plusieurs éléments à la fois.
- Mettez à jour une valeur de clé qui existe déjà.
- Mettez à jour tous les détails ou des détails partiels.
- Mettez à jour les champs avec différentes combinaisons d'entrées.
- Vérifiez la fonctionnalité mise à jour pour les différents privilèges.
- Vérifiez ce qui se passe pendant les temps d'arrêt du serveur.
# 4) Fonctionnalité DELETE
Pour vérifier la fonctionnalité de suppression, les étapes suivantes peuvent être suivies:
- Créez un produit avec la fonctionnalité CREATE.
- Supprimez le produit.
Vérification du résultat:
- Le testeur vérifie manuellement si le produit est supprimé de l'interface utilisateur
- Le testeur vérifie manuellement la base de données MySQL et confirme que la ligne correspondante a été supprimée.
Mettre en doute :
SELECT * FROM products WHERE product_name = ‘test name’;
Résultat de la requête de MySQL:
Cela devrait afficher le résultat de la requête comme indiqué ci-dessous.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)
Autres cas à considérer:
- Supprimez plusieurs éléments en une seule demande.
- Supprimer un élément mis à jour.
- Prenez deux onglets et essayez de donner une demande de suppression pour un produit à partir des deux onglets.
Conclusion
Le test de la base de données est très important car il confirme la sécurité et la fiabilité d'une application logicielle. La plupart des applications logicielles traitent de la création, de la lecture, de la mise à jour et de la suppression de données vers / depuis la base de données. Selon les exigences du logiciel, les cycles CRUD peuvent varier. Un testeur doit planifier des cas de test basés sur le cycle CRUD.
Les fonctionnalités CRUD peuvent être testées manuellement et vérifiées à partir de l'interface utilisateur et de la base de données. La requête SELECT peut être utilisée pour vérifier les changements dans la base de données correspondant à chaque opération CRUD.
Êtes-vous un expert des tests CRUD? Avez-vous des faits intéressants à partager avec nos lecteurs qui sont nouveaux à CRUD? N'hésitez pas à exprimer vos pensées / suggestions dans la section commentaires ci-dessous !!
lecture recommandée
- Test de base de données avec JMeter
- Échantillon de questions sur la certification de test ISTQB avec réponses
- Meilleurs outils de test de logiciels 2021 [Outils d'automatisation des tests QA]
- Différences clés entre les tests de boîte noire et les tests de boîte blanche
- Téléchargement de l'e-book 'Testing Primer'
- Une approche simple pour les tests de bases de données XML
- 40+ meilleurs outils de test de base de données - Solutions de test de données populaires
- Tutoriel de test GUI: un guide de test complet de l'interface utilisateur (UI)