Top 19 des questions et réponses d'entretien TestNG (2025)
Voici les questions et réponses de l'entretien TestNG pour les débutants ainsi que les candidats expérimentés pour obtenir l'emploi de leurs rêves.
1) Qu’est-ce que TestNG ?
TestNG est un framework de tests automatisés open source. Il est basé sur le framework JUnit, mais n'en est pas une extension.
Téléchargement PDF gratuit : Questions d'entretien TestNG
2) Quelles sont les fonctionnalités de TestNG ?
Les fonctionnalités de TestNG incluent
- TestNG utilise plus de fonctionnalités OO (orientées objet) et Java
- Il prend en charge les tests de classes intégrées
- Différentes annotations sont prises en charge
- Séparer le code de test au moment de la compilation des informations sur les données/configuration au moment de l'exécution
- La configuration d'exécution est flexible
- Plug-in flexible API
- Pour plus de flexibilité, intègre BeanShell
- Prise en charge des tests de sélénium multithread
- Prend en charge les tests parallèles, les tests de charge, les défaillances partielles et les méthodes de test dépendantes
- Après compilation du test, une demande peut être faite à TestNG pour exécuter tous les tests "front-end" ou "lent", "rapide", "base de données",
- Pour la même classe de test, prise en charge de TestNG pour plusieurs instances
- Pour la journalisation, pas de dépendances, fonctions JDK par défaut pour la journalisation et l'exécution
3) Énumérez les avantages de TestNG par rapport à Junit ?
Les avantages de TestNG par rapport à JUnit incluent
- Comparé aux annotations JUnit, TestNG est facile à comprendre
- Contrairement à JUnit, TestNG ne nécessite pas de déclarer @Before Class et @After Class
- La contrainte de nom de méthode n'est pas là dans TestNG
- TestNG vous permet de regrouper facilement des cas de test, ce qui n'est pas possible dans JUnit
- TestNG prend en charge les trois configurations supplémentaires suivantes : @Before/After Suite, @Before/After Test et @Before/After Group
- TestNG n'a besoin d'étendre aucune classe
- Dans TestNG, il est possible d'exécuter en parallèle des cas de test de pilote Web Selenium
- Basé sur le groupe TestNG vous permet d'exécuter les cas de test
- TestNG vous permet de déterminer les cas de test dépendants ; chaque cas de test est autonome par rapport à un autre cas de test
4) Quelles sont les étapes de base requises pour écrire des tests TestNG ?
Les étapes de base requises pour écrire TestNG comprennent
- Notez la logique métier de votre test et insérez des annotations TestNG dans votre code
- Dans une construction.xml ou testing.xml, ajoutez les informations sur votre test
- Exécutez TestNG
5) Énumérez les différentes manières dont TestNG peut être invoqué.
TestNG peut être invoqué de différentes manières comme
- En utilisant Eclipse
- Avec une fourmi
- De la ligne de commande
- Utilisation de l'IDEA d'IntelliJ
6) Expliquez l'utilisation du fichier testng.xml
Le fichier testing.xml capture l’intégralité de vos tests en XML. Ce fichier facilite la définition de toute votre suite de tests et de leurs paramètres dans un seul fichier, que vous pouvez vérifier dans votre référentiel de code ou par courrier électronique à vos collègues. Cela facilite également l'extraction de sous-ensembles de vos tests ou la division de plusieurs configurations d'exécution.
7) Dans TestNG, comment désactiver un test ?
Pour désactiver le scénario de test dont vous ne souhaitez pas, vous pouvez utiliser les annotations @Test(enabled = false).
8) Qu'est-ce que le test Time-Out dans TestNG ?
Le test Time-Out dans TestNG n'est rien d'autre que le temps alloué pour effectuer les tests unitaires. Si le test unitaire ne parvient pas à se terminer dans ce délai spécifique, TestNG abandonnera les tests logiciels supplémentaires et le marquera comme un échec.
9) Expliquer le test d'exception
TestNG permet de tracer la gestion des exceptions du code. Vous pouvez ainsi vérifier si un code génère les résultats attendus. Le paramètre « Exceptions attendues » est disponible avec l'annotation @Test.
10) Que fait le « test de la suite » dans TestNG ?
Un « Test de suite » est utilisé pour exécuter plusieurs tests unitaires simultanément. Il regroupe ces tests unitaires. Un fichier XML est utilisé pour exécuter le test de suite.
11) Qu'est-ce qu'un test paramétré ?
Les tests paramétrés permettent aux développeurs d'exécuter le même test à plusieurs reprises avec des valeurs différentes. TestNG vous permet de transmettre des paramètres directement à vos méthodes de test de deux manières différentes.
- Avec testing.xml
- Avec les fournisseurs de données
12) Comment exécuter les tests JUnit à l'aide de TestNG ?
Vous pouvez exécuter les tests JUnit à l'aide de TestNG en
- Placer la bibliothèque JUnit sur le chemin de classe TestNG afin qu'il puisse localiser et utiliser les classes JUnit
- Changez votre testeur de JUnit en TestNG dans Ant, puis exécutez TestNG en « mode mixte ». Cela amènera tous vos tests dans le même
Cette approche vous permet également de convertir votre test JUnit existant en TestNG.
13) Qu'est-ce que @Test(invocationCount=?) et (threadPoolSize=?) indiquent ?
- @Test (threadPoolSize=?) : Les attributs threadPoolSize indiquent à TestNG de former un pool de threads pour exécuter la méthode de test via plusieurs threads. Avec un pool de threads, le temps d’exécution de la méthode de test est considérablement réduit.
- @Test(invocationCount=?): Le nombre d'appels indique combien de fois TestNG doit exécuter cette méthode de test
14) Quelles sont les différentes manières dont vous pouvez produire des rapports pour les résultats de TestNG ?
Il y a deux façons de produire un rapport avec Test NG, ce sont
- Les auditeurs: Pour qu'une classe d'écouteur soit implémentée, la classe doit implémenter l'interface org.testng./TestListener. Ces classes sont informées au moment de l'exécution par TestNG lorsque le test commence, se termine, saute, réussit ou échoue.
- Reporters : Pour qu'une classe de génération de rapports soit implémentée, la classe doit implémenter une interface org.testng/Reporter. Lorsque toute l'exécution de la suite se termine, ces classes sont appelées. Lorsqu'il est appelé, l'objet constitué des informations de l'ensemble du test est livré à cette classe.
15) Qu'est-ce que le test de groupe dans TestNG ?
Il s'agit d'une nouvelle fonctionnalité de TestNG ; elle permet de répartir les méthodes dans des portions appropriées et de regrouper les méthodes de test. Avec le test de groupe, vous pouvez non seulement déclarer des méthodes appartenant à des groupes, mais aussi spécifier des groupes de test contenant d'autres groupes. Les groupes sont déterminés dans votre fichier testing.xml à l'aide du test de groupe.
16) Quelles sont les manières de permettre à TestNG de spécifier les dépendances ?
TestNG vous permet de spécifier les dépendances de deux manières
- Utilisation des attributs dependOnMethods dans les annotations @Test
- Utilisation des attributs dependOnGroups dans les annotations @Test
17) Qu'est-ce que cela signifie lorsque vous devez transmettre des paramètres à l'aide de fournisseurs de données dans TestNG ?
Lorsque vous devez transmettre un ou plusieurs paramètres complexes à créer en Java, vous pouvez utiliser des fournisseurs de données. L'annotation pour le fournisseur de données est @DataProvider. Cette annotation ne possède qu'un seul attribut de chaîne si le nom n'est pas déclaré ; le nom du fournisseur de données est automatiquement défini par défaut sur le nom de la méthode. Un fournisseur de données renvoie un tableau d'objets.
18) Nommez différentes méthodes pour exécuter des tests dans TestNG ?
Les tests dans TestNG sont exécutés à l'aide de la classe TestNG. Pour exécuter des tests dans le framework de test TestNG, la classe constitue le point d'entrée principal. Les utilisateurs peuvent créer leur objet TestNG et l'invoquer de différentes manières, par exemple
- Sur un testing.xml déjà existant
- Sur un testing.xml synthétique créé entièrement à partir de Java
- En définissant directement les classes de test
19) Donnez un exemple de code TestNG
package firsttestngpackage; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.*; public class firsttestngfile { public String baseUrl = "http://demo.guru99.com/test/newtours/"; String driverPath = "C:\\geckodriver.exe"; public WebDriver driver ; @Test public void verifyHomepageTitle() { System.out.println("launching firefox browser"); System.setProperty("webdriver.firefox.marionette", driverPath); driver = new FirefoxDriver(); driver.get(baseUrl); String expectedTitle = "Welcome: Mercury Tours"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle); driver.close(); } }
Ces questions d'entretien vous aideront également dans votre soutenance
Bon pour se préparer aux entretiens
A la question n°6, vous avez écrit testing.xml au lieu de testng.xml
Merci... c'est corrigé
La première ligne de la 3ème question devrait être "Les avantages de TestNG par rapport à JUnit incluent".
Merci pour les questions.
Erreur corrigée !
11) Qu'est-ce que les tests paramétriques ? Ce devrait être Qu'est-ce qu'un test paramétré ?
Salut, merci d'avoir écrit. Il est revu et mis à jour.