39 top automation testing interview questions
Questions d'entrevue de test d'automatisation les plus fréquemment posées pour les candidats de niveau débutant et avancé:
L'automatisation des tests joue un rôle très important dans tout le cycle de vie du logiciel. La plupart du temps, lorsque nous voulons nous préparer à un entretien de test d'automatisation, nous nous concentrons uniquement sur des questions spécifiques à l'outil.
Cependant, nous devons également tenir compte du fait que l’apprentissage et la connaissance de l’outil n’est qu’un moyen et non le but ultime.
Ainsi, chaque fois que nous nous préparons à un entretien avec un testeur d'automatisation, nous devons considérer «l'automatisation» dans son ensemble et nous concentrer sur le cadre et les étapes impliquées.
Nous savons tous que les tests logiciels sont une partie très importante du développement logiciel. Mais, avec la croissance rapide des méthodologies et des environnements de développement logiciel, il devient difficile de tout tester manuellement pour une application dans un temps limité avec des contraintes de coûts.
Ainsi, les tests d'automatisation se développent rapidement sur le marché pour accélérer le rythme de développement. Ce didacticiel comprend les principales questions d'entretien sur les tests d'automatisation. J'ai essayé de citer les questions courtes et rapides qui sont très spécifiques à l'automatisation dans son ensemble et ne sont spécifiques à aucun «outil».
Top 39 des questions d'entretien de test d'automatisation
Nous avons couvert des questions d'automatisation de test de base ainsi que des questions avancées pour les candidats de niveau intermédiaire à expert ayant jusqu'à 2 à 5 ans d'expérience.
Q # 1) Qu'est-ce que l'automatisation?
Répondre: L'automatisation est toute action qui peut réduire les efforts humains.
Q # 2) Qu'est-ce que les tests d'automatisation?
Répondre: Le processus d'utilisation d'outils ou de scripts logiciels spéciaux pour effectuer des tâches de test telles que la saisie de données, l'exécution des étapes de test et la comparaison des résultats, etc. est appelé test d'automatisation.
Q # 3) Que pouvez-vous automatiser?
Répondre:
- Suite de tests de régression
- Suite de tests de fumée / santé mentale
- Déploiement de build
- Création de données de test
- Automatisation derrière l'interface graphique comme le test des API et des méthodes.
Q # 4) Quand les tests d'automatisation sont-ils utiles?
Répondre: Les tests d'automatisation sont utiles dans les scénarios suivants:
a) Test de régression: En cas de correction de bogue ou de nouvelle implémentation de module, nous devons nous assurer que la fonctionnalité déjà implémentée ou inchangée n'est pas affectée. Dans ce cas, nous finissons par exécuter le cas de test de régression plusieurs fois.
Par exemple: Après chaque demande de changement ou correction de bogue, après chaque itération en cas d'approche de développement incrémental, etc.
b) Test non fonctionnel: Tester les aspects non fonctionnels d'une application.
Par exemple, Les tests de charge ou les tests de performance, etc. sont très difficiles à suivre et à analyser pour les humains.
c) Calcul complexe vérifie ou teste des scénarios sujets à des erreurs humaines.
d) Exécution répétée des mêmes tests: Parfois, nous devons exécuter le même ensemble de cas de test pour un ensemble de données différent ou après chaque version de build ou sur plusieurs matériels, logiciels ou combinaison des deux.
L'automatisation des cas de test dans les scénarios ci-dessus permet d'atteindre la vitesse des tests et de minimiser les erreurs humaines.
Q # 5) Comment identifiez-vous les cas de test qui conviennent à l'automatisation?
Répondre: L'identification des cas de test appropriés pour l'automatisation est l'étape la plus importante vers l'automatisation.
Q # 6) Pouvez-vous atteindre une automatisation à 100%?
Répondre: Une automatisation à 100% serait difficile à réaliser car il y aurait de nombreux cas de test de pointe et certains cas qui sont exécutés rarement. L'automatisation de ces cas qui ne sont pas exécutés souvent n'ajoutera pas de valeur à la suite automatisée.
Q # 7) Comment décider de l'outil à utiliser pour les tests d'automatisation dans leurs projets?
Réponse: Afin d'identifier l'outil de test d'automatisation dans votre projet:
à) Comprenez parfaitement les exigences de votre projet et identifiez les scénarios de test que vous souhaitez automatiser.
b) Recherchez la liste des outils qui prennent en charge les exigences de votre projet.
c) Identifiez votre budget pour l'outil d'automatisation. Sélectionnez les outils dans votre budget.
ré) Identifiez si vous disposez déjà de ressources qualifiées pour les outils. Si vous ne disposez pas des ressources qualifiées nécessaires, identifiez le coût de la formation des ressources existantes ou de l'embauche de nouvelles ressources.
est) Maintenant, comparez chaque outil pour des critères clés tels que:
- Est-il facile de développer et de gérer les scripts de l'outil?
- Une personne non technique peut-elle également exécuter les cas de test avec peu de formation?
- L'outil prend-il en charge différents types de plates-formes telles que le Web, le mobile, le bureau, etc. en fonction des exigences de votre projet?
- L'outil dispose-t-il d'une fonctionnalité de rapport de test? Sinon, est-il facilement configurable pour l'outil?
- Comment est l'outil de prise en charge inter-navigateurs pour les applications Web?
- Combien de types de tests différents cet outil peut-il prendre en charge?
- Combien de langues l'outil prend-il en charge?
F) Une fois que vous avez comparé les outils, sélectionnez l'outil qui correspond à votre budget et répond aux exigences de votre projet, et vous offre plus d'avantages en fonction des critères clés mentionnés ci-dessus.
Q # 8) Actuellement, je n'ai pas d'automatisation en place dans mon projet, mais maintenant je veux implémenter l'automatisation, quelles seraient mes étapes?
Répondre:
- Tout d'abord, identifiez le type de test / cas de test que vous souhaitez automatiser.
- Identifier l'outil
- Concevoir le cadre
- Créez des fichiers utilitaires et des fichiers d'environnement.
- Lancer le script
- Identifier et travailler sur le reporting.
- Allouer du temps pour améliorer et maintenir les scripts.
Les étapes requises pour mettre en place les tests d'automatisation pour un projet incluent:
- Comprenez les avantages et les inconvénients des tests d'automatisation et identifiez les scénarios de test adaptés à l'automatisation.
- Sélectionnez l'outil d'automatisation le mieux adapté pour automatiser les scénarios identifiés
- Trouvez l'expert en outils pour vous aider à configurer l'outil et l'environnement requis pour exécuter les cas de test à l'aide de l'outil.
- Former l'équipe afin qu'elle puisse écrire des scripts dans le langage de programmation pris en charge par l'outil.
- Créez le cadre de test ou identifiez celui déjà existant qui répond à vos besoins.
- Rédigez un plan d'exécution pour le système d'exploitation, les navigateurs, les appareils mobiles, etc.
- Écrivez des scripts de programmation pour des cas de test manuels afin de les convertir en cas de test automatisés.
- Signalez l'état du scénario de test à l'aide de la fonction de création de rapports de l'outil.
- Gérez les scripts pour les modifications en cours ou les nouvelles fonctionnalités.
Q # 9) Comment décidez-vous quel outil vous devez utiliser?
Répondre: Final quel outil convient le mieux car le projet nécessite beaucoup de brainstorming et de discussions.
Q # 10) Une fois que vous avez identifié l'outil, quelles seraient vos prochaines étapes?
Répondre: Une fois que nous avons finalisé l'outil, notre prochaine étape serait de concevoir le cadre.
Q # 11) Qu'est-ce qu'un cadre?
Répondre: Un framework est un ensemble de la structure de l'ensemble de la suite d'automatisation. C'est aussi une directive qui, si elle est suivie, peut aboutir à une structure facile à entretenir et à améliorer.
Ces directives comprennent:
- Normes de codage
- Traitement des données de test
- Maintenance et manipulation des éléments (référentiel d'objets dans QTP)
- Gestion des fichiers d'environnement et des fichiers de propriétés
- Communication des données
- Manipulation des journaux
Q # 12) Quels sont les attributs d'un bon cadre?
Réponse: Les caractéristiques comprennent:
- Modulaire: Le cadre doit être adaptable au changement. Les testeurs doivent pouvoir modifier les scripts en fonction de l'environnement ou des informations de connexion.
- Réutilisable: Les méthodes ou utilitaires couramment utilisés doivent être écrits dans un fichier commun accessible à tous les scripts.
- Cohérent: La suite doit être rédigée dans un format cohérent en suivant toutes les pratiques de codage acceptées.
- Indépendant: Les scripts doivent être écrits de manière à être indépendants les uns des autres. Si un test échoue, il ne doit pas retenir les cas de test restants (sauf s'il s'agit d'une page de connexion)
- Journaux: Il est bon d'avoir implémenté la fonction de journalisation dans le framework. Cela aiderait dans le cas où nos scripts fonctionneraient pendant plus d'heures (par exemple en mode nocturne), si le script échoue à tout moment, le fichier journal nous aidera à détecter l'emplacement ainsi que le type d'erreur.
- Rapports: Il est bon que la fonction de création de rapports soit automatiquement intégrée dans le cadre. Une fois le script terminé, nous pouvons avoir les résultats et les rapports envoyés par e-mail.
- L'intégration: Automation Framework doit être tel qu'il soit facile à intégrer avec d'autres applications comme l'intégration continue ou le déclenchement du script automatisé dès que la build est déployée.
Q # 13) Pouvez-vous vous passer d'un cadre?
Répondre: Les cadres sont des lignes directrices et non des règles obligatoires, nous pouvons donc nous passer d'un cadre, mais si nous le créons et le suivons, l'amélioration et la maintenance seraient faciles à mettre en œuvre.
Q # 14) Quels sont les différents types d'outils d'automatisation dont vous avez connaissance?
Répondre: Outil open source comme Selenium, JMeter, etc.
Des outils payants tels que QTP, Load Runner, Ranorex, RFT et Rational Robot.
Q # 15) Quelle est généralement la structure d'un cadre?
Répondre: Normalement, la structure devrait avoir - (elle différerait d'un projet à l'autre)
- Un dossier «src» (source) contenant les scripts de test réels.
- Un dossier «lib» (bibliothèque) contenant toutes les bibliothèques et méthodes courantes.
- Un dossier «class» contenant tout le fichier de classe (au cas où java serait utilisé).
- Un dossier «journal» contenant le ou les fichiers journaux.
- Un fichier / dossier contenant tous les ID d'élément Web.
- Un fichier contenant l'URL, l'environnement et les informations de connexion.
Q # 16) Où allez-vous conserver des informations telles que l'URL, le login, le mot de passe?
Répondre: Ces informations doivent toujours être conservées dans un fichier séparé.
Q # 17) Pourquoi voulez-vous conserver ce type d'informations dans un fichier séparé et non directement dans le code?
Répondre: L'URL, la connexion et les mots de passe sont le type de champs qui sont utilisés très souvent et qui changent selon l'environnement et l'autorisation. Au cas où nous le coderions en dur dans notre code, nous devons le changer dans chaque fichier qui a sa référence.
Dans le cas où il y a plus de 100 fichiers, il devient alors très difficile de modifier tous les 100 fichiers et cela, à son tour, peut entraîner des erreurs. Ainsi, ce type d'informations est conservé dans un fichier séparé afin que la mise à jour devienne facile.
Q # 18) Quels sont les différents types de cadres?
Répondre: Différents types de cadres comprennent:
- Cadre basé sur les mots clés
- Cadre basé sur les données
- Cadre hybride
- Script linéaire
Q # 19) Pouvez-vous parler de bonnes pratiques de codage lors de l'automatisation?
Répondre: Certaines des bonnes pratiques de codage comprennent:
- Ajoutez les commentaires appropriés.
- Identifiez les méthodes réutilisables et écrivez-les dans un fichier séparé.
- Suivez les conventions de codage spécifiques à la langue.
- Conservez les données de test dans un fichier séparé.
- Exécutez vos scripts régulièrement.
Q # 20) Tout type de test qui, selon vous, ne devrait pas être automatisé?
Répondre:
- Tests rarement exécutés.
- Essais exploratoires
- Tests d'utilisation
- Test qui est exécuté rapidement lorsqu'il est fait manuellement.
Q # 21) Pensez-vous que les tests ne peuvent être effectués qu'au niveau de l'interface utilisateur?
html css entretien questions et réponses
Répondre: Aujourd'hui, alors que nous passons au mode Agile, les tests ne se limitent pas à la couche UI. Les premiers retours sont impératifs pour un projet agile. Si nous nous concentrons uniquement sur la couche UI, nous attendons en fait que l'interface utilisateur soit développée et disponible pour test.
Nous pouvons plutôt tester avant même que l'interface utilisateur ne soit réellement développée. Nous pouvons directement tester les API ou les méthodes à l'aide d'outils comme Cucumber et FitNesse .
De cette façon, nous donnons les commentaires beaucoup plus tôt et testons avant même le développement de l'interface utilisateur. Suivre cette approche nous aidera à tester uniquement l'aspect GUI de petits changements cosmétiques ou certaines validations sur l'interface utilisateur et aidera les développeurs en donnant plus de temps pour corriger les bogues.
Q # 22) Comment sélectionnez-vous l'outil d'automatisation qui vous convient le mieux?
Répondre: La sélection de l'outil d'automatisation dépend de divers facteurs tels que:
- La portée de l'application que nous souhaitons automatiser.
- Frais généraux de gestion tels que les coûts et le budget.
- Il est temps d'apprendre et de mettre en œuvre l'outil.
- Type de support disponible pour l'outil.
- Limitation de l'outil
Q # 23) À votre avis, qu'est-ce qui retient les testeurs de l'automatisation? Y a-t-il un moyen de le surmonter?
Répondre: Le principal obstacle pour les testeurs est d'apprendre la programmation / le codage lorsqu'ils veulent automatiser. Étant donné que les testeurs ne codent pas, l'adaptation au codage est un peu difficile pour les testeurs.
Nous pouvons le surmonter en:
- Collaboration avec les développeurs lors de l'automatisation.
- Considérant que l'automatisation est de la responsabilité de toute l'équipe et pas seulement des testeurs.
- Donner un temps dédié et se concentrer sur l'automatisation.
- Obtenir un support de gestion approprié.
Vous pouvez enregistrer ces questions d'entrevue de test d'automatisation au format PDF et les imprimer pour en savoir plus.
Q # 24) Qu'est-ce qu'un cadre de test d'automatisation?
Répondre: Un cadre, en général, est un ensemble de lignes directrices. Un ensemble de lignes directrices, d'hypothèses, de concepts et de pratiques de codage pour la création d'un environnement d'exécution dans lequel les tests seront automatisés est connu sous le nom de cadre de test d'automatisation.
Un cadre de test d'automatisation est chargé de créer un faisceau de test avec un mécanisme pour se connecter à l'application testée, prendre les entrées d'un fichier, exécuter les cas de test et générer les rapports pour l'exécution des tests. Un cadre de test d'automatisation doit être indépendant de l'application et il doit être facile à utiliser, à modifier ou à étendre.
Q # 25) Quels sont les modules importants d'un cadre de test d'automatisation?
Répondre: Les modules importants d'un cadre de test d'automatisation sont:
- Outil d'assertion de test: Cet outil fournira des déclarations d'assert pour tester les valeurs attendues dans l'application testée. Par exemple. TestNG, Junit, etc.
- Configuration des données: Chaque scénario de test doit extraire les données utilisateur de la base de données ou d'un fichier ou incorporées dans le script de test. Le module de données Frameworks doit prendre en charge la saisie des données pour les scripts de test et les variables globales.
- Outil de gestion de build: Le framework doit être construit et déployé pour l'utilisation de la création de scripts de test.
- Outil d'intégration continue: Avec CICD (Intégration Continue et Développement Continu) en place, un outil d'intégration continue est nécessaire pour intégrer et déployer les changements effectués dans le framework à chaque itération.
- Outil de reporting: Un outil de reporting est nécessaire pour générer un rapport lisible après l'exécution des cas de test pour une meilleure vue des étapes, des résultats et des échecs.
- Outil de journalisation: L'outil de journalisation dans le cadre aide à un meilleur débogage de l'erreur et des bogues.
Q # 26) Expliquez quelques outils de test d'automatisation.
Répondre: Certains des célèbres outils de test d'automatisation sont expliqués ci-dessous:
(i) Sélénium : Selenium est un framework de test pour les tests d'automatisation d'applications Web. Il prend en charge plusieurs navigateurs et est indépendant du système d'exploitation. Selenium prend également en charge divers langages de programmation tels que Java, C #, PHP, Ruby et Perl, etc.
Sélénium est un ensemble de bibliothèques open source qui peut être utilisé pour développer des cadres de test supplémentaires ou des scripts de test pour tester des applications Web.
(ii) UFT : Unified Functional Testing est un outil sous licence pour les tests fonctionnels. Il fournit un large éventail de fonctionnalités telles que les API, les services Web, etc. et prend également en charge plusieurs plates-formes telles que les ordinateurs de bureau, le Web et le mobile. Les scripts UFT sont écrits en langage de script Visual Basic.
(Ii) époques : Appium est un outil de test d'applications mobiles open source. Il est utilisé pour automatiser les tests sur des applications mobiles multiplateformes, natives, hybrides et Web. Appium automatise toute application mobile à partir de n'importe quelle langue avec un accès complet aux API et aux bases de données à partir du code de test.
Appium est basé sur l'architecture client-serveur et a évolué à partir du sélénium.
(iv) Concombre : Cucumber est un outil de développement open source axé sur le comportement. Il est utilisé pour les tests d'automatisation d'applications Web et prend en charge des langages tels que ruby, java, scala, groovy, etc. Cucumber lit les spécifications exécutables écrites en texte brut et teste l'application testée pour ces spécifications.
Pour que concombre comprenne les scénarios en texte brut, nous devons suivre certaines règles de syntaxe de base appelées Gherkin.
(v) TestComplete : TestComplete est un outil de test d'interface utilisateur automatisé sous licence pour tester l'application sur différentes plates-formes telles que les ordinateurs de bureau, le Web, le mobile, etc. Il offre la flexibilité d'enregistrer un cas de test sur un navigateur et de l'exécuter sur plusieurs navigateurs et prend ainsi en charge les tests de navigateurs croisés.
TestComplete a un algorithme de reconnaissance d'objet intégré qui identifie de manière unique un objet et le stocke dans le référentiel.
Q # 27) Quels sont les différents types de techniques de cadre de test?
Répondre: Il existe quatre types de techniques de cadre de test d'automatisation.
Elles sont:
(i) Cadre de test modulaire:
Ce cadre est construit sur le concept d'abstraction. Dans ce cadre, le testeur crée des scripts pour chaque module de l'application testée individuellement, puis ces scripts sont combinés dans l'ordre hiérarchique pour créer de grands cas de test.
Il crée une couche d'abstraction entre les modules, donc toute modification dans les scripts de test pour un module n'affecte aucun autre module.
Avantages de ce cadre:
- Maintenance et évolutivité plus faciles des cas de test.
- La création de cas de test à l'aide de modules déjà scriptés est plus simple et plus rapide.
Désavantages:
- Les cas de test contiennent des données intégrées. Ainsi, exécuter le même script de test avec des données différentes est un grand changement au niveau du script.
(ii) Cadre de test basé sur les données:
Dans le cadre de test piloté par les données, les données d'entrée et les données de sortie attendues correspondant aux données d'entrée sont stockées dans un fichier ou une base de données et le script automatisé exécute le même ensemble d'étapes de test pour plusieurs ensembles de données. Avec ce framework, nous pouvons exécuter plusieurs cas de test où seules les données d'entrée diffèrent et les étapes d'exécution sont les mêmes.
Avantages:
- Réduit le nombre de scripts de test qui doivent être exécutés. Nous exécutons le même script plusieurs fois avec des données différentes.
- Moins de codage pour les tests d'automatisation.
- Une plus grande flexibilité pour maintenir et corriger les bogues ou améliorer la fonctionnalité.
- Les données de test peuvent être créées avant même que le système automatisé de test ne soit prêt.
Désavantages:
- Seuls les cas de test similaires avec le même ensemble d'étapes d'exécution peuvent être combinés pour plusieurs ensembles de données. Les différents ensembles d'étapes d'exécution nécessitent un scénario de test différent.
(iii) Cadre de test basé sur les mots-clés:
Il s'agit d'un cadre de test indépendant de l'application qui utilise des tables de données et des mots clés explicites. Les mots clés expliquent les actions à effectuer sur l'application testée et le tableau de données fournit les données d'entrée et de sortie attendues.
Les tests basés sur les mots-clés sont un incrément des tests basés sur les données.
Avantages:
- Moins de codage et le même script peuvent être utilisés pour plusieurs ensembles de données.
- L'expertise en automatisation n'est pas requise pour créer un scénario de test à l'aide des mots-clés déjà existants pour les actions.
- Les mêmes mots-clés peuvent être utilisés dans plusieurs cas de test.
Désavantages:
- Ce cadre est plus compliqué car il doit prendre en charge les actions de mot-clé et également l'entrée de données.
- Les cas de test deviennent plus longs et complexes, affectant ainsi la maintenabilité de ceux-ci.
(iv) Cadre de test hybride:
Ce cadre est une combinaison de tous les cadres de test mentionnés ci-dessus (modulaire, piloté par les données et piloté par mot-clé).
Dans ce cadre, les cas de test sont développés à partir de scripts modulaires en les combinant dans le cadre de test modulaire. Chacun des cas de test utilise un script de pilote qui utilise un fichier de données comme dans le cadre piloté par les données et un fichier d'action basé sur des mots clés.
Avantages:
- Modulaire et facile à entretenir.
- Moins de codage peut prendre en charge plus de cas de test.
- Un cas de test peut être exécuté avec plusieurs ensembles de données.
Désavantages:
- Complexe à lire, à entretenir et à améliorer.
Q # 28) Quand préférez-vous les tests manuels aux tests d'automatisation?
Répondre: Nous préférons les tests manuels aux tests d'automatisation dans les cas suivants:
- Le projet est à court terme et l'écriture de scripts prendra du temps et coûtera cher par rapport aux tests manuels.
- La flexibilité est requise. Les cas de test automatisés sont programmés et exécutés selon des configurations spécifiques.
- Des tests d'utilisabilité doivent être effectués.
- Les applications / modules sont nouvellement développés et n'ont pas de cas de test précédents.
- Des tests ad hoc ou exploratoires doivent être effectués.
Q # 29) Les tests d'automatisation dans la méthodologie agile sont-ils utiles ou non?
Répondre: Les tests d'automatisation sont utiles pour les tests de régression, de fumée ou de santé mentale. Tous ces types de tests dans le modèle de cascade traditionnel se produisent à la fin du cycle et parfois, s'il n'y a pas beaucoup d'améliorations à l'application, nous n'avons peut-être même pas à faire les tests de régression .
Alors que, dans méthodologie agile , chaque itération nécessite l'exécution du cas de test de régression car de nouvelles fonctionnalités sont ajoutées.
De plus, la suite de régression elle-même continue de croître après chaque sprint car les cas de test fonctionnels du module de sprint actuel doivent être ajoutés à la suite de régression pour le prochain sprint.
Ainsi, les tests d'automatisation en méthodologie agile sont très utiles et aident à atteindre une couverture de test maximale en moins de temps du sprint.
Q # 30) Énumérez quelques avantages et inconvénients des tests d'automatisation.
Répondre:
Avantages:
- Moins de ressources humaines
- Réutilisabilité
- Plus de couverture de test en moins de temps
- Fiabilité
- Exécution parallèle de cas de test
- Vite
Désavantages:
comment ouvrir un fichier .json
- Le temps de développement et de maintenance est plus.
- Coût de l'outil
- Des ressources qualifiées sont nécessaires.
- Configuration de l'environnement
- Le débogage du script de test est un problème.
Q # 31) Énumérez certains avantages et inconvénients des tests manuels.
Répondre:
Avantages:
- Aucune configuration d'environnement nécessaire.
- Aucune connaissance en programmation n'est requise.
- Recommandé pour les exigences changeantes de manière dynamique.
- Permettez à la puissance d'observation humaine de détecter plus de bogues.
- Le coût est moindre pour les projets à court terme.
- Souplesse
Désavantages:
- Difficile d'effectuer des calculs complexes.
- Réutilisabilité
- Prendre du temps
- Risque élevé d'erreurs humaines ou d'erreurs.
- Davantage de ressources humaines sont nécessaires.
Q # 32) Pouvons-nous faire des tests d'automatisation sans cadre? Si oui, pourquoi avons-nous besoin d'un cadre?
Répondre: Oui, nous pouvons effectuer des tests d'automatisation même sans utiliser de framework. Nous pouvons simplement comprendre l'outil que nous utilisons pour l'automatisation et programmer les étapes dans le langage de programmation pris en charge par les outils.
Si nous automatisons les cas de test sans framework, il n'y aura aucune cohérence dans les scripts de programmation des cas de test.
Un cadre est nécessaire pour donner un ensemble de directives que tout le monde doit suivre pour maintenir la lisibilité, la réutilisabilité et la cohérence des scripts de test. Un cadre fournit également un terrain d'entente pour les fonctionnalités de reporting et de journalisation.
Q # 33) Comment allez-vous automatiser les cas de test de la fonctionnalité de «connexion» de base pour une application?
Répondre: En supposant que l'outil d'automatisation et le cadre sont déjà à la place de l'environnement de test.
Pour tester la fonctionnalité de base «Connexion»:
- Comprendre les exigences du projet : La fonctionnalité de connexion aura une zone de texte de nom d'utilisateur, une zone de texte de mot de passe et un bouton de connexion.
- Identifiez les scénarios de test: Pour la fonctionnalité de connexion, les scénarios de test possibles sont:
- Nom d'utilisateur et mot de passe vides
- Nom d'utilisateur et mot de passe invalides
- Un nom d'utilisateur et un mot de passe invalides
- Nom d'utilisateur et mot de passe valides
- Préparer un Fichier d'entrée de données avec les données correspondant à chaque scénario.
- Lancez l'outil du programme.
- Identifiez le champ du nom d'utilisateur, le champ du mot de passe et le bouton de connexion.
- Pour chaque scénario de test, récupérez les données du fichier de données et entrez dans les champs correspondants. Programme cliquez sur le bouton de connexion après avoir entré les données.
- Valider le message d'erreur pour les scénarios négatifs et le message de réussite pour les scénarios positifs dans le script de test à l'aide d'assertions.
- Courir la suite de tests et générer le rapport.
Q # 34) L'automatisation teste-t-elle un test de boîte noire ou un test de boîte blanche?
Répondre: Les tests d'automatisation sont principalement test de boîte noire car nous programmons simplement les étapes qu'un testeur manuel effectue pour l'application testée sans connaître la conception de bas niveau ou le code de l'application.
Parfois, les scripts de test automatisés ont besoin d'accéder aux détails de la base de données qui sont utilisés dans l'application testée ou à d'autres détails de codage et peuvent donc être un type de test en boîte blanche.
Ainsi, les tests automatisés peuvent être des tests de type boîte noire ou blanche en fonction des scénarios dans lesquels l'automatisation est effectuée.
Q # 35) Combien de cas de test avez-vous automatisés par jour?
Répondre: Eh bien, le nombre dépend de la complexité des cas de test. Lorsque la complexité était limitée, j'ai pu automatiser 5 à 6 cas de test par jour. Parfois, je n'ai pu automatiser qu'un seul cas de test pour des scénarios complexes.
J'ai également décomposé mes cas de test en différents composants comme, prendre des entrées, faire le calcul, vérifier la sortie, etc. dans le cas de scénarios très complexes et avoir pris 2 jours ou plus.
Q # 36) Quels facteurs déterminent l'efficacité des tests d'automatisation?
Réponse: Certains des facteurs qui déterminent l'efficacité des tests d'automatisation sont:
- Gain de temps en exécutant des scripts sur l'exécution manuelle des cas de test.
- Défauts trouvés
- Couverture de test ou couverture de code
- Temps de maintenance ou temps de développement
- Stabilité des scripts
- Tester la réutilisabilité
- Qualité du logiciel testé
Q # 37) Quels cas de test peuvent être automatisés?
Répondre: Les types de cas de test qui peuvent être automatisés sont:
(i) Scénarios de test de fumée: Les tests de fumée sont également appelés tests de vérification de construction. Les cas de test de fumée sont exécutés chaque fois qu'une nouvelle version est publiée pour vérifier l'état de santé de la version pour l'acceptation d'effectuer des tests.
(ii) Cas de test de régression : Le test de régression est le test pour s'assurer que les modules précédemment développés fonctionnent comme prévu après l'ajout d'un nouveau module ou la correction d'un bogue.
Les cas de test de régression sont très cruciaux dans l'approche logicielle incrémentale où une nouvelle fonctionnalité est ajoutée à chaque phase d'incrémentation. Dans ce cas, des tests de régression sont effectués à chaque phase incrémentielle.
(iii) Scénarios de test de calcul complexe: Les cas de test qui impliquent des calculs complexes pour vérifier un champ pour une application entrent dans cette catégorie. Les résultats de calculs complexes sont plus sujets aux erreurs humaines, par conséquent, lorsqu'ils sont automatisés, ils donnent des résultats précis.
(iv) Scénarios de test basés sur les données: Les cas de test qui ont le même ensemble d'étapes et s'exécutent plusieurs fois avec le changement de données sont appelés cas de test pilotés par les données. Les tests automatisés pour ces types de cas de test sont rapides et rentables.
(v) Scénarios de test non fonctionnels : Les scénarios de test tels que les tests de charge et les tests de performance nécessitent un environnement simulé avec plusieurs utilisateurs et plusieurs combinaisons matérielles ou logicielles.
La configuration manuelle de plusieurs environnements est impossible pour chaque combinaison ou nombre d'utilisateurs. Les outils automatisés peuvent facilement créer cet environnement pour effectuer facilement des tests non fonctionnels.
Q # 38) Quelles sont les phases du cycle de vie des tests d'automatisation?
Réponse: Les phases du cycle de vie des tests d'automatisation comprennent:
- La décision d'effectuer des tests d'automatisation.
- Identifiez et découvrez l'outil d'automatisation.
- Déterminez la portée des tests d'automatisation.
- Concevoir et développer une suite de tests.
- Exécution des tests
- Maintenance des scripts de test.
Q # 39) Qu'est-ce qu'un script de test automatisé?
Répondre: Un script de test automatisé est un programme court qui est écrit dans un langage de programmation pour exécuter un ensemble d'instructions sur une application sous test afin de vérifier si l'application est conforme aux exigences.
Ce programme, lorsqu'il est exécuté, donne les résultats du test comme satisfaisant ou non selon si l'application est conforme aux attentes.
Conclusion
Ce sont les principales questions indépendantes de l'outil d'automatisation ou du langage de programmation. Les entretiens de test d'automatisation comprennent également des questions spécifiques à l'outil et au langage de programmation en fonction de l'outil avec lequel vous avez travaillé.
La plupart des questions d'entrevue d'automatisation de test sont centrées sur le cadre que vous développez, il est donc recommandé de créer et de bien comprendre votre cadre de test. Lorsque j'interviewe et que le candidat a répondu à ma question sur le cadre, je préfère également poser une question spécifique à la langue (core java dans mon cas).
Les questions partent des bases de java pour écrire la logique d'un scénario de base comme:
- Comment extraire un ensemble de texte d'une ligne donnée?
- Comment extraire l'URL?
- Dans n'importe quelle page Web, à n'importe quel cadre, le nombre de liens et son contenu changent de manière dynamique, comment le géreriez-vous?
- Comment gérez-vous les images et les objets flash?
- Comment trouvez-vous un mot dans une ligne?
Réponses à tous ces questions d'entretien d'automatisation de test sont très spécifiques à l'outil / au langage que vous utilisez pour l'automatisation. Alors avant de vous rendre à l'entrevue, perfectionnez vos compétences en programmation.
Si vous n'avez pas eu l'occasion de créer votre cadre et que quelqu'un d'autre l'a créé, prenez le temps de bien le comprendre avant de vous asseoir pour l'entretien.
Voici quelques conseils pour les entretiens de test d'automatisation:
- Connaissez parfaitement votre outil.
- Apprenez les techniques de localisation utilisées par votre outil.
- Pratiquez la programmation en utilisant le langage que vous utilisez pour les tests d'automatisation.
- Apprenez votre cadre et ses composants.
- C'est toujours avantageux si vous avez été impliqué dans le développement de votre framework. Alors, soyez minutieux avec les modules du cadre sur lequel vous avez travaillé.
J'espère que ces questions vous seront utiles pour vous préparer à un entretien d'automatisation de test.
lecture recommandée
- Questions et réponses d'entrevue
- Questions et réponses d'entrevue de test ETL
- Quelques questions d'entretien intéressantes sur les tests de logiciels
- 25 meilleures questions et réponses d'entrevue de test Agile
- Les 20 questions et réponses les plus importantes pour les entretiens de test d'API
- Questions et réponses sur les tests de logiciels (partie 1)
- Meilleurs outils de test de logiciels 2021 [Outils d'automatisation des tests QA]
- Top 30 des questions et réponses pour l'entretien des tests de sécurité