Die 19 wichtigsten Fragen und Antworten zum TestNG-Interview (2025)
Hier finden Sie Fragen und Antworten zu TestNG-Interviews für Studienanfänger und erfahrene Kandidaten, die ihren Traumjob bekommen möchten.
1) Was ist TestNG?
TestNG ist ein automatisiertes Open-Source-Testframework. Es basiert auf dem JUnit-Framework, ist jedoch keine JUnit-Erweiterung.
Kostenloser PDF-Download: TestNG-Interviewfragen
2) Was sind die TestNG-Funktionen?
Zu den TestNG-Funktionen gehören:
- TestNG verwendet mehr OO- (objektorientierte) und Java-Funktionen
- Es unterstützt das Testen integrierter Klassen
- Verschiedene Anmerkungen werden unterstützt
- Trennen Sie den Testcode zur Kompilierungszeit von der Dateninfo/Laufzeitkonfiguration
- Die Laufzeitkonfiguration ist flexibel
- Flexibles Plug-in API
- Für weitere Flexibilität ist BeanShell eingebettet
- Unterstützung für Selenium-Tests mit mehreren Threads
- Unterstützt parallele Tests, Lasttests, Teilfehler und abhängige Testmethoden
- Nach der Kompilierung des Tests kann eine Anfrage an TestNG gestellt werden, alle „Front-End“-Tests oder „langsam“, „schnell“, „Datenbank“ auszuführen.
- Für die gleiche Testklasse unterstützt TestNG mehrere Instanzen
- Für die Protokollierung keine Abhängigkeiten, Standard-JDK-Funktionen für Protokollierung und Laufzeit
3) Nennen Sie die Vorteile von TestNG gegenüber Junit?
Zu den Vorteilen von TestNG gegenüber JUnit gehören:
- Im Vergleich zu JUnit-Annotationen sind TestNG-Anmerkungen leicht zu verstehen
- Im Gegensatz zu JUnit ist es bei TestNG nicht erforderlich, @Before Class und @After Class zu deklarieren
- In TestNG gibt es keine Einschränkung für den Methodennamen
- TestNG ermöglicht Ihnen die einfache Gruppierung von Testfällen, was in JUnit nicht möglich ist
- TestNG unterstützt die folgenden drei zusätzlichen Setups: @Before/After Suite, @Before/After Test und @Before/After Group
- TestNG muss keine Klasse erweitern
- In TestNG ist es möglich, Testfälle für Selenium-Webtreiber parallel auszuführen
- Basierend auf der Gruppe TestNG können Sie die Testfälle ausführen
- Mit TestNG können Sie die abhängigen Testfälle bestimmen; Jeder Testfall ist autonom gegenüber einem anderen Testfall
4) Welche grundlegenden Schritte sind beim Schreiben von TestNG-Tests erforderlich?
Zu den grundlegenden Schritten, die zum Schreiben von TestNG erforderlich sind, gehören:
- Schreiben Sie die Geschäftslogik Ihres Tests auf und fügen Sie TestNG-Anmerkungen in Ihren Code ein
- In einem Build.xml oder testing.xml, fügen Sie die Informationen zu Ihrem Test hinzu
- Führen Sie TestNG aus
5) Listen Sie verschiedene Möglichkeiten auf, wie TestNG aufgerufen werden kann.
TestNG kann auf verschiedene Arten aufgerufen werden, z
- Die richtigen Eclipse
- Mit Ameise
- Von der Kommandozeile
- Verwendung von IntelliJs IDEA
6) Erklären Sie die Verwendung der Datei testng.xml
Die Datei „testing.xml“ erfasst Ihre gesamten Tests in XML. Mit dieser Datei können Sie ganz einfach alle Ihre Testsuite und ihre Parameter in einer Datei definieren, die Sie in Ihrem Code-Repository überprüfen oder per E-Mail an Kollegen senden können. Außerdem können Sie damit ganz einfach Teilmengen Ihrer Tests herausziehen oder mehrere Laufzeitkonfigurationen aufteilen.
7) Wie kann man in TestNG einen Test deaktivieren?
Um den nicht gewünschten Testfall zu deaktivieren, können Sie die Annotationen @Test(enabled = false) verwenden.
8) Was ist ein Timeout-Test in TestNG?
Der Timeout-Test in TestNG ist nichts anderes als die Zeit, die für die Durchführung von Unit-Tests vorgesehen ist. Wenn der Komponententest nicht innerhalb dieser bestimmten Zeitspanne abgeschlossen werden kann, bricht TestNG weitere Softwaretests ab und markiert sie als fehlgeschlagen.
9) Erklären Sie den Ausnahmetest
TestNG bietet die Möglichkeit, die Ausnahmebehandlung von Code zu verfolgen. Sie können testen, ob ein Code die erwarteten Ergebnisse liefert oder nicht. Der Parameter „Expected Exceptions“ wird zusammen mit der Annotation @Test verwendet.
10) Was macht der „Suite-Test“ in TestNG?
„Suite Test“ wird durchgeführt, wenn Sie mehrere Unit-Tests gleichzeitig ausführen müssen. „Suite Test“ bündelt diese Unit-Tests. Zum Ausführen des Suite-Tests wird eine XML-Datei verwendet.
11) Was ist parametrisiertes Testen?
Parametrisiertes Testen ermöglicht es Entwicklern, denselben Test immer wieder mit unterschiedlichen Werten auszuführen. TestNG ermöglicht Ihnen auf zwei verschiedene Arten die direkte Übergabe von Parametern an Ihre Testmethoden.
- Mit test.xml
- Mit Datenanbietern
12) Wie können Sie die JUnit-Tests mit TestNG ausführen?
Sie können die JUnit-Tests mit TestNG von ausführen
- Platzieren Sie die JUnit-Bibliothek im TestNG-Klassenpfad, damit sie JUnit-Klassen finden und verwenden kann
- Ändern Sie Ihren Testläufer in Ant von JUnit zu TestNG und führen Sie TestNG dann im „gemischten Modus“ aus. Dadurch werden alle Ihre Tests auf den gleichen Stand gebracht
Mit diesem Ansatz können Sie auch Ihren vorhandenen JUnit-Test in TestNG konvertieren.
13) Was bedeuten @Test(invocationCount=?) und (threadPoolSize=?)?
- @Test (threadPoolSize=?): Die threadPoolSize-Attribute weisen TestNG an, einen Thread-Pool zu bilden, um die Testmethode über mehrere Threads auszuführen. Mit einem Thread-Pool verkürzt sich die Laufzeit der Testmethode erheblich.
- @Test(invocationCount=?): Die Aufrufanzahl gibt an, wie oft TestNG diese Testmethode ausführen soll
14) Auf welche verschiedenen Arten können Sie Berichte für TestNG-Ergebnisse erstellen?
Es gibt zwei Möglichkeiten, mit Test NG einen Bericht zu erstellen:
- Zuhörer: Damit eine Listener-Klasse implementiert werden kann, muss die Klasse die Schnittstelle org.testng./TestListener implementieren. Diese Klassen werden zur Laufzeit von TestNG darüber informiert, wann der Test beginnt, endet, überspringt, bestanden wird oder fehlschlägt.
- Reporter: Damit eine Berichtsklasse implementiert werden kann, muss die Klasse eine org.testng/Reporter-Schnittstelle implementieren. Wenn der gesamte Suite-Lauf endet, werden diese Klassen aufgerufen. Bei Aufruf wird dieser Klasse das Objekt übergeben, das aus den Informationen des gesamten Testlaufs besteht.
15) Was ist ein Gruppentest in TestNG?
Es handelt sich um eine neue Funktion in TestNG, die es Ihnen ermöglicht, Methoden in geeignete Portionen aufzuteilen und Testmethoden zu gruppieren. Mit Gruppentests können Sie nicht nur Methoden deklarieren, die zu Gruppen gehören, sondern auch Testgruppen angeben, die andere Gruppen enthalten. Gruppen werden in Ihrer Datei testing.xml mithilfe des Gruppentests bestimmt.
16) Welche Möglichkeiten gibt es, um mit TestNG Abhängigkeiten angeben zu können?
Mit TestNG können Sie Abhängigkeiten auf zwei Arten angeben
- Verwendung von Attributen dependOnMethods in @Test-Annotationen
- Verwendung von Attributen dependOnGroups in @Test-Annotationen
17) Was bedeutet es, wenn Sie in TestNG Parameter mithilfe von Datenanbietern übergeben müssen?
Wenn Sie komplexe Parameter oder Parameter übergeben müssen, die in Java erstellt werden sollen, können Sie dies über Datenprovider tun. Die Annotation für Datenprovider lautet @DataProvider. Diese Annotation hat nur ein einzelnes String-Attribut, wenn der Name nicht deklariert ist; der Name des Datenproviders wird automatisch dem Methodennamen zugewiesen. Ein Datenprovider gibt einen Array von Objekten.
18) Nennen Sie verschiedene Methoden zum Ausführen von Tests in TestNG?
Die Tests in TestNG werden mit der TestNG-Klasse ausgeführt. Für die Ausführung von Tests im TestNG-Testframework ist die Klasse der Haupteinstiegspunkt. Benutzer können ihr TestNG-Objekt erstellen und es auf viele verschiedene Arten aufrufen, z. B.
- Auf einer bereits vorhandenen test.xml
- Auf einer synthetischen test.xml, die vollständig aus Java erstellt wurde
- Durch direktes Festlegen der Testklassen
19) Geben Sie einen Beispiel-TestNG-Code an
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(); } }
Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung
Gut für die Vorbereitung auf Vorstellungsgespräche
In Frage Nr. 6 haben Sie „testing.xml“ anstelle von „testng.xml“ geschrieben
Danke … das ist korrigiert
Die erste Zeile der dritten Frage sollte lauten: „Die Vorteile von TestNG gegenüber JUnit umfassen“.
Danke für die Fragen.
Fehler behoben!
11) Was ist parametrisches Testen? Es sollte lauten: Was ist parametrisiertes Testen?
Hallo, danke fürs Schreiben. Es wird überprüft und aktualisiert.