31 top database testing interview questions
Nos experts ont répondu aux questions les plus fréquemment posées Test de base de données Questions d'entrevue pour les nouveaux candidats et les candidats expérimentés:
Ceci est une collection de plus de 30 questions d'entrevue de test DB avec des réponses détaillées. Ces questions de test DB sont principalement posées lors des entretiens de test QA.
Passez en revue ces questions et réponses si vous vous préparez à un entretien de test de logiciel qui nécessite également des compétences en base de données.
Principales questions d'entrevue de test de base de données
Quel type de questions de base de données (SQL) posées dans les entretiens pour le poste d'ingénieur de test (pas pour le testeur de base de données)?
Cela dépend de nombreux facteurs, que ces questions concernent des postes de test au niveau d'entrée ou des professionnels expérimentés du test. La profondeur des questions d'entrevue de base de données dépend de l'expérience du candidat.
Quel que soit le poste, le candidat doit toujours être clair et confiant sur les concepts de la base de données. Pour la plupart des postes de test de logiciels, vous devez avoir des connaissances en base de données pour effectuer certaines vérifications de base de données. Presque toutes les applications nécessitent une interaction avec une base de données.
Examinons ces questions d'entrevue pour les postes de test de logiciels d'entrée de gamme.
Les questions suivantes peuvent être posées lors des entretiens:
- Requêtes SQL de base et dans une certaine mesure imbriquées pour récupérer des données à partir de tables de base de données.
- Exemples d'instructions de base de données pour Create Database, Create table et Drop Table.
- Concept de «clé primaire», «clé étrangère» et index DB.
- Exemples d'instructions SQL SELECT, INSERT, DELETE, ALTER et UPDATE.
- Jointures SQL (jointure interne, jointure gauche, jointure droite et jointure complète) avec des exemples.
Pratiquez les requêtes de jointure SQL sur des tables factices et voyez les résultats.
Pour les postes de test de logiciels de niveau expérimenté, les questions d'entrevue dépendent des exigences du poste. Pour de tels postes, les intervieweurs attendent des candidats une connaissance détaillée des bases de données.
Remarque: Si vous recevez des questions sur les requêtes SQL de base de données, ne dites jamais que «toutes les instructions de requête doivent être exécutées par les développeurs». Il est normal de dire que vous obtenez l’aide des développeurs pour écrire des requêtes SQL complexes, mais enfin, vous gérez vous-même.
Commençons par les questions et réponses réelles de la base de données:
Q # 1) Qu'est-ce que le test de base de données?
Répondre: Le test de base de données / test back-end est un processus de vérification de l'impact du fonctionnement de la base de données back-end sur les applications web / de bureau frontales.
Il est divisé en différentes catégories suivantes:
- Test de validité des données: Lors de ces tests, les testeurs doivent avoir une bonne connaissance des requêtes SQL.
- Test d'intégrité des données: Lors de ces tests, les testeurs / développeurs doivent connaître l'intégrité référentielle et les différentes contraintes.
- Test des performances de la base de données: Lors de ces tests, les testeurs / développeurs doivent être bons dans la conception de la structure de la table.
- Test de la procédure, des déclencheurs et des fonctions: Lors de ces tests, les testeurs / développeurs doivent avoir une compréhension parfaite de la procédure de test, des déclencheurs et des fonctions.
Q # 2) Pourquoi le test de base de données est-il important?
Répondre: Bien que nous sachions tous que la base de données n'est pas comme une petite table, c'est en effet un gros conteneur de nombreuses tables et plein de données qui fournit des données en même temps à de nombreuses applications Web / de bureau.
Top 50 des questions d'entretien complexes sur sql pdf
Le processus de test de la base de données garantit que les données correctes et uniques (sans bogue) sont livrées au bon emplacement. Ces bogues peuvent causer des problèmes graves tels que blocage, corruption des données, mauvaises performances, incohérence, etc.
Q # 3) Dans le processus de test de base de données, que vérifions-nous habituellement?
Répondre: Les tests de bases de données nécessitent des connaissances approfondies et un plan d'approche plus défini pour tester les données d'une application particulière.
Dans ce processus de test, nous vérifions généralement,
- La validation de la taille du champ
- Contraintes.
- Les index sont terminés ou non (pour les problèmes liés aux performances)
- Procédures stockées
- La taille de champ définie dans l'application correspond à celle du DB.
Q # 4) Pouvez-vous tester la base de données manuellement, si oui, alors comment? Expliquez avec l'exemple.
Répondre: Il faut observer le comportement de l'opération. Observez les opérations du front-end et son effet sur la base de données principale. Lors de l'ajout d'un enregistrement (XYZ) du front-end à la base de données principale, vérifiez manuellement que l'enregistrement a été affecté ou non sur la base de données principale. De même, cela fonctionnera pour la suppression, la mise à jour, etc.
Par exemple, Pour conserver la trace des étudiants qui passent l'examen, saisissez les détails de l'étudiant à partir du système frontal et vérifiez manuellement l'effet de cet ajout sur la base de données principale.
Q # 5) Comment tester les procédures et les déclencheurs de la base de données?
Répondre: Le processus de test des procédures et des déclencheurs de la base de données nécessite la connaissance des paramètres d'entrée, des paramètres de sortie et des instructions EXEC. L'instruction EXEC est utile pour exécuter la procédure et observer le comportement des tables.
Voyons comment tester les procédures et les déclencheurs de la base de données:
- Tout d'abord, ouvrez le projet de base de données qui sera affiché dans l'explorateur de solutions.
- Une fois le projet souhaité ouvert, allez dans le menu Affichage, cliquez sur le schéma de la base de données, puis ouvrez le dossier du projet à partir du menu Affichage du schéma.
- Cliquez avec le bouton droit sur l'objet à tester, puis cliquez sur Créer des tests unitaires. Une boîte de dialogue «Créer des tests unitaires» s'ouvre et affiche tous les dossiers et objets du projet de base de données et la case à cocher de l'objet sélectionné est cochée.
- Ensuite, créez un nouveau projet de test de langue.
- Choisissez soit d'insérer le test unitaire dans une classe de test existante, soit de créer une nouvelle classe de test et cliquez sur OK.
- Pour configurer le projet, la boîte de dialogue Configuration du projet apparaît pour configurer les paramètres du projet de test. Le processus nécessite une connexion à la base de données et un plan de génération de données. La connexion à la base de données sert à exécuter le résultat du test.
- Enfin, configurez le projet et cliquez sur OK.
Q # 6) Qu'entendez-vous par tests basés sur les données?
Répondre: Le test basé sur les données est un terme utilisé dans le processus de test où les scripts de test lors de l'exécution lisent les données de test et / ou les valeurs de sortie des fichiers de données (pools de données, fichiers Excel, objets ADO, fichiers CSV, sources ODBC) au lieu de lire le même disque dur -valeurs codées à chaque fois. Le test aide les testeurs à vérifier l'efficacité de l'application dans la gestion de diverses entrées.
Q # 7) Quel est le déclencheur de base de données, comment vérifier que le déclencheur est déclenché ou non et pouvez-vous invoquer le déclencheur à la demande?
Répondre:
Déclencheur de base de données: Un déclencheur est essentiellement une procédure stockée utilisée pour maintenir l'intégrité des données présentes dans la base de données. Il s'exécute automatiquement pour répondre à un certain événement d'une table / vue dans une base de données.
Pour vérifier que le déclencheur est déclenché ou non; utiliser la requête du journal d'audit commun affichera le déclencheur de la table de données.
Les déclencheurs ne peuvent pas être appelés à la demande, ils sont appelés lorsqu'une table affiche une action (INSERT, DELETE & UPDATE) définie sur cette table particulière.
Q # 8) Après avoir entré les données de l'interface de l'application frontale, comment testez-vous si une base de données est mise à jour ou non?
Répondre: Cela dépend totalement de l'interface de l'application que vous utilisez.
Voici les méthodes de test suivantes:
- Vous pouvez vérifier uniquement à partir du front-end lorsque l'interface de l'application affiche une fonctionnalité d'affichage des données que vous avez entrées. Principalement, les ingénieurs de test de la boîte noire effectuent ce test de vérification des fonctionnalités de cette manière.
- Si l'interface de l'application ne fournit pas de fonctionnalité d'affichage des données que vous avez saisies, vous pouvez vérifier la mise à jour de la base de données à l'aide de la requête SQL / Oracle appropriée.
- La fonction de point de contrôle de WinRunner / QTP peut également être utilisée pour vérifier la mise à jour de la base de données.
Q # 9) Comment tester les procédures stockées?
Répondre: L'ingénieur de test doit suivre certaines étapes pour tester le Procédures stockées ,
- Tout d'abord, l'ingénieur de test doit comprendre l'exigence et également le but d'une procédure stockée particulière.
- Ensuite, vérifiez si tous les index, jointures, mises à jour, suppressions sont précis par rapport aux tables mentionnées dans la procédure stockée et assurez-vous également que la procédure stockée est dans le format standard commun, comme les commentaires, mis à jour par, etc.
- Ensuite, pour différents ensembles de paramètres d'entrée, vérifiez le nom d'appel de la procédure, les paramètres d'appel et les réponses attendues.
- Exécutez manuellement la procédure avec des programmes clients de base de données tels que TOAD, MySQL ou Query Analyzer.
- Pour vérifier les résultats par rapport aux valeurs attendues, réexécutez la procédure en donnant différents paramètres.
- Enfin, automatisez les tests avec QTP.
Q # 10) Que sont les jointures et mentionner différents types de jointures?
Répondre: La jointure est utilisée pour combiner deux ou plus de deux tables et s'affiche sous la forme d'un seul ensemble de données.
En SQL, il y a types de jointures :
- Jointure interne
- Jointure externe
- Joint gauche
- Jointure droite
Dans Oracle / PLSQL, il existe quatre types différents de jointures,
- Jointure interne
- Jointure externe gauche
- Jointure droite-externe
- Jointure extérieure complète
Q # 11) Qu'entendez-vous par index et expliquez les différents types d'index?
Répondre: Un Index est un objet de base de données, créé sur une colonne de la table pour trouver des données plus rapidement et plus efficacement (ou on peut dire qu'il est utilisé pour accélérer les recherches / requêtes).
Les différents types d'index sont:
- Index B-Tree
- Index bitmap
- Index groupé
- Index de couverture
- Index non unique
- Index unique
Q # 12) Qu'entendez-vous par SGBD?
Répondre: Une base de données est un ensemble structuré de données. Le système de gestion de base de données (SGBD) est une application logicielle informatique qui crée un réseau de communication entre les utilisateurs, d'autres applications et la base de données pour stocker, modifier et extraire des informations d'une base de données.
Les SGBD célèbres sont My SQL, Postgre SQL, Microsoft SQL Server, Oracle, SAP et IBM DB2.
Q # 13) Qu'entendez-vous par DML?
Répondre: Data Manipulation Language (DML) est un membre du langage de programmation informatique qui nous permet de sélectionner, insérer, supprimer et mettre à jour des données dans une base de données. DML est essentiellement impliqué dans le langage SQL (Structured Query Language) qui permet aux utilisateurs de récupérer et d'utiliser des données dans une base de données relationnelle.
Q # 14) Qu'entendez-vous par commandes DCL et expliquez les types de commandes utilisées par DCL?
Répondre: Data Control Language (DCL) est un composant de SQL, contrôle l'utilisation des données stockées dans une base de données.
Il existe deux types de commandes DCL:
- Accorder: La commande permet aux utilisateurs d'accéder aux privilèges de la base de données
- Révoquer: Arrêtez d'autoriser les utilisateurs à accéder à la base de données
Q # 15) Qu'entendez-vous par test de boîte blanche et test de boîte noire?
Répondre:
Test en boîte noire est une technique de test logiciel pour tester le comportement fonctionnel d'une application sans entrer dans ses structures internes d'une application. Le code / la structure interne et les connaissances en programmation de l’application de base ne sont pas nécessaires pour les tests en boîte noire, mais des connaissances de base sur les fonctionnalités de l’application sont nécessaires pour tester l’application.
Test en boîte blanche (WBT) est également connu sous le nom de test basé sur le code ou test structurel pour tester la structure interne d'une application logicielle. Dans le cas des tests en boîte blanche, le testeur doit avoir une bonne compréhension de la structure interne d'une application ainsi qu'une bonne connaissance des compétences en programmation pour concevoir des cas de test et la structure interne d'une application.
Q # 16) QTP prend-il en charge les requêtes SQL, comment utiliser Requêtes SQL dans QTP ?
Répondre: Bien que QTP ne propose aucune fonction intégrée pour la connectivité des bases de données, les testeurs utilisent le langage VBScript pour se connecter et interagir avec des bases de données à l'aide d'objets ADODB.
Les objets ADODB sont divisés en quatre propriétés / méthodes différentes qui aident à créer avec succès une connexion à la base de données,
- Connexion: Utile pour établir une connexion avec une base de données
- Commander: Utile pour exécuter une commande SQL (requêtes / procédures stockées)
- Des champs: Utile pour récupérer une colonne particulière à partir d'un jeu d'enregistrements après l'exécution d'une requête / procédure stockée.
- Jeu d'enregistrements: Utilisé pour récupérer des données d'une base de données
Q # 17) Quelles instructions SQL peuvent être utilisées dans le test de base de données?
Répondre: Toutes les instructions DDL, DML, DCL et TCL de SQL peuvent être utilisées dans les tests de base de données,
(i) DDL (Data Definition Language): Toutes les instructions liées à cela peuvent être utilisées pour définir la structure ou le schéma de la base de données.
Déclarations: CRÉER, ALTER, DROP, TRONQUER, COMMENTER et RENOMMER
(ii) DML (Data Manipulation Language): Toutes les instructions liées à cela peuvent être utilisées pour gérer les données dans les objets de schéma.
Déclarations: SÉLECTIONNER, INSÉRER, METTRE À JOUR, SUPPRIMER, FUSIONNER, APPELER, EXPLIQUER LE PLAN et VERROUILLER LA TABLE.
(iii) DCL (Data Control Language): Déclaration GRANT et déclaration REVOKE.
(iv) TCL (Transaction Control Language): Toutes les instructions liées à cela peuvent être utilisées pour gérer les modifications apportées par les instructions DML. En utilisant TCL, les instructions peuvent être regroupées en transactions logiques.
Déclarations: COMMIT, SAVEPOINT, ROLLBACK et SET TRANSACTION.
Q # 18) Dans les tests de bases de données, comment effectuer les tests de charge des données?
Répondre: Pour les tests de charge de données,
- Vous devez avoir une connaissance de la base de données source (tables de données, colonnes, contraintes associées, types de données) et de la base de données de destination (tables de données, colonnes, types de données et contraintes).
- Vous devez vérifier la compatibilité entre la base de données source et la base de données de destination via le package DTS.
- Vous devez ouvrir le package DTS correspondant dans SQL Enterprise Manager et exécuter le package DTS (si vous utilisez SQL Server).
- Comparez les données de la colonne Source et Cible.
- Vérifiez le nombre de lignes de Source et Cible.
- Après avoir mis à jour les données dans la base de données source, vérifiez si les modifications ont été répercutées sur la base de données de destination ou non.
- Vérifiez les caractères indésirables et les valeurs NULL.
- Test de charge de la base de données, vérifiez le volume du serveur de base de données pour traiter les requêtes et vérifiez également le temps de réponse du serveur de base de données et du client.
Q # 19) Un «taux de récupération rapide de la base de données» est-il une exigence testable?
Répondre: Non, je ne le pense pas, car l’exigence ne semble pas claire. Le SRS doit clairement afficher les exigences de performance ou de transaction, c'est-à-dire qu'il doit mentionner comme; «Taux de récupération de la base de données de 5 microsecondes».
Q # 20) Sans impliquer des points de contrôle de base de données, comment tester une requête SQL dans QTP?
Répondre: La procédure de script ci-dessous nous aide à nous connecter à la base de données où nous pouvons tester les deux; la base de données et les requêtes.
à) La procédure de script pour la connexion à la base de données,
db_connect ('query1', DRIVER = {nom du pilote}; SERVER = nom_serveur;
UID = nom_uid; PWD = mot de passe; DBQ = nom_base_de_données “);
b) La procédure de script pour exécuter la requête,
db_excecute_query ('query1', 'requête d'écriture que vous voulez exécuter');
-Condition à mentionner-
c) La procédure de script pour déconnecter la connexion avec la base de données,
db_disconnect («requête»);
Q # 21) Dans le test de base de données, que faut-il tout faire pour écrire de bons cas de test?
Répondre: La connaissance des éléments suivants est requise avant d'écrire les cas de test de la base de données,
- Comprenez complètement l'application ainsi que les exigences fonctionnelles de l'application.
- Extraire d'autres entités qui ont été utilisées dans une application comme des tables de base de données back-end, des jointures entre les tables, des curseurs (le cas échéant), des déclencheurs (le cas échéant), des procédures stockées (le cas échéant), des paramètres d'entrée et des paramètres de sortie pour le développement cette exigence.
- Après avoir rassemblé toutes les informations nécessaires, notez le cas de test avec différentes valeurs d'entrée pour examiner toutes les ressources.
L'écriture de cas de test pour les tests back-end est opposée aux tests fonctionnels, il faut utiliser la technique de test de la boîte blanche.
Q # 22) Qu'est-ce qu'un nouveau test et en quoi est-il différent tests basés sur les données ?
Répondre: Après l'exécution du test en termes de recherche du défaut déjà détecté et corrigé, la réexécution du même test avec des valeurs d'entrée différentes pour confirmer que le défaut d'origine a été supprimé avec succès est appelée nouveau test ou test de confirmation.
Nouveau test est également appelé test piloté par les données, mais la différence entre les deux est que le nouveau test est un processus de test manuel, tandis que le test d'application est effectué avec l'ensemble du nouvel ensemble de données.
Test basé sur les données (DDT): Il s'agit d'un processus de test d'automatisation où une application sera testée avec plusieurs données de test.C'est simple et facile que de retester où le testeur se trouve juste devant le système et entre différentes nouvelles valeurs d'entrée manuellement à partir de l'interface frontale, c'est vraiment un technique ennuyeuse.
Q # 23) Quels sont les types de tests basés sur les données?
Répondre:
Il existe quatre types de tests basés sur les données:
- Soumission dynamique des données de test via le clavier (test par touches): Dans certains cas, les testeurs retestent une application particulière avec différentes valeurs d'entrée pour valider le calcul via une soumission dynamique. Ainsi, pour soumettre la valeur d'entrée, les testeurs peuvent utiliser la fonction suivante dans TSL; script– create_input_dialog («label»);
- Tests pilotés par les données via des fichiers plats (.txt, .doc): Dans certains cas, les testeurs effectuent le nouveau test en tenant compte des données du fichier plat. Les testeurs rassemblent ces fichiers plats à partir d'anciennes bases de données / clients.
- Tests pilotés par les données via des objets frontaux: Dans certains cas, les testeurs créent des scripts d'automatisation en tenant compte des valeurs d'objet frontal, telles que liste, menu, table, fenêtre de données, ocx, etc.
- Tests pilotés par les données via une feuille Excel: Dans certains cas, les testeurs utilisent l'aide de ce test basé sur les données pour exécuter le script pour plusieurs entrées. Ces multiples entrées résident dans les colonnes d'une feuille Excel. Nous devons collecter ces données de test à partir des tables backend.
Q # 24) Comment écrire une requête pour obtenir la deuxième plus grande valeur d'une colonne donnée d'une table?
Répondre: Il s'agit d'une requête pour obtenir la deuxième valeur la plus élevée d'une colonne donnée d'une table.
SELECT MAX(COLUMN_NAME) FROM TABLE_NAME WHERE COLUMN_NAME <(SELECT MAX(COLUMN_NAME) FROM TABLE_NAME);
Par exemple,
Pour obtenir la deuxième plus grande note de la colonne 'Notes' d'un tableau 'Élèves'
SELECT Max(Marks) from Students WHERE Marks<(SELECT Max(Marks) from students);
Q # 25) Comment écrire une requête pour obtenir le 10ele salaire le plus élevé d'une table d'employés?
Répondre: Il s'agit d'une requête pour obtenir le nième salaire le plus élevé d'une table d'employés,
SELECT * FROM Employee Emp1 WHERE ( n ) = ( SELECT COUNT( DISTINCT ( Emp2.Employee_Salary ) ) FROM Employee Emp2 WHERE Emp2.Employee_Salary >= Emp1.Employee_Salary );
Ici, vous pouvez les remplacer par n'importe quel nombre.
Par exemple, si vous voulez obtenir le 10e salaire le plus élevé, remplacez n par 10.
SELECT * FROM Employee Emp1 WHERE (10) = ( SELECT COUNT( DISTINCT ( Emp2.Employee_Salary ) ) FROM Employee Emp2 WHERE Emp2.Employee_Salary >= Emp1.Employee_Salary );
Q # 26) Comment écrire des cas de test à partir des exigences, les exigences signifient-elles la fonctionnalité exacte d'AUT?
Répondre: Oui, les exigences doivent indiquer la fonctionnalité exacte d'AUT.
Faire cela,
- Examiner l'exigence de comprendre la fonctionnalité globale.
- Ensuite, décidez quelles méthodes de conception de test conviennent pour écrire un cas de test - des méthodes de conception de test Black Box telles que; Partitionnement d'équivalence, analyse de la valeur limite, estimation des erreurs et représentation graphique de cause à effet.
- Une fois que vous avez décidé quelle méthode de conception de test est appropriée, écrivez vos cas de test dans l'analyse des exigences et la phase de conception.
De cette façon, vous vous assurerez que toutes les exigences sont testables.
Q # 27) Quel est le scénario de test pour tester une base de données migrée d'un serveur SQL à un autre?
Répondre: Tout d'abord, nous devons vérifier toutes les améliorations et modifications apportées au serveur SQL sur lequel nous prévoyons de migrer.
Suivant, concevoir le cas de test selon les considérations suivantes,
- Un type de données qui a été utilisé.
- La longueur du champ de données de SQL Server (serveur vers lequel nous migrons les données) doit être identique à celle du serveur SQL à partir duquel nous retirons les données.
- Chaque tâche doit être organisée correctement.
Q n ° 28) Que signifie le SGBDR et quels sont les principaux SGBDR utilisés par SQL?
Répondre: RDBMS signifie Relational Database Management Systems. Les principaux SGBDR impliqués dans SQL incluent Sybase, Oracle, Access, Ingres, Microsoft SQL Server, etc.
Q # 29) Expliquez les tests de performance et leurs goulots d'étranglement.
Répondre: Le test de performance est une technique de test logiciel permettant de déterminer les performances d'un système en termes de vitesse, de sensibilité et de stabilité sous une charge de travail importante. Ces tests nécessitent des outils coûteux et des testeurs bien formés et expérimentés pour fonctionner.
Q # 30) Qu'est-ce que CMMI et décrivez les différents niveaux de CMM?
Répondre: CMMI signifie Capability Maturity Model Integration est un modèle de formation et d'évaluation de développement de processus de divers processus métier en génie logiciel.
Cinq niveaux de maturité CMM pour une organisation sont:
- Initiale: À ce niveau, les organisations ne disposent d'aucune technique ni d'un environnement vérifiés. Par conséquent, le budget et le temps de planification des organisations sont généralement dépassés.
- Répétable: À ce niveau, les organisations ont des techniques de base et des directives pour limiter les coûts et le temps de planification, capables de répéter la même chose dans le prochain projet similaire.
- Défini: A ce niveau, toutes les techniques sont bien organisées et expliquées sous forme claire et standard.
- Géré: À ce niveau, les organisations sont beaucoup plus développées que le niveau défini. Ici, les techniques sont contactées en utilisant des techniques statistiques et quantitatives.
- Optimiser: Les organisations tentent résolument de développer la performance via le progrès technique moderne.
Q # 31) Quelle est la signification du dossier dans une base de données?
Répondre: Dans une base de données, un enregistrement est l'ensemble des valeurs / champs d'une entité spécifique.
Par exemple, Office_Employee Record, Book Record, etc.
Nous espérons que vous aimerez ces questions d'entretien détaillées sur la base de données avec réponses. Faites-nous savoir en cas de questions.
test sql questions et réponses pdf
lecture recommandée
- Questions et réponses d'entrevue
- Questions et réponses d'entrevue de test ETL
- Test de base de données avec JMeter
- Quelques questions d'entretien intéressantes sur les tests de logiciels
- 25 meilleures questions et réponses d'entrevue de test Agile
- Top 20 des questions et réponses d'entretien les plus importantes pour les tests d'API
- Questions et réponses sur les tests de logiciels (partie 1)
- Top 30 des questions et réponses pour l'entretien des tests de sécurité