Top 19 întrebări și răspunsuri la interviu TestNG (2025)

Iată întrebările și răspunsurile la interviu TestNG pentru studenții, precum și candidații cu experiență pentru a obține jobul visat.


1) Ce este TestNG?

TestNG este un cadru automat de testare open source. Se bazează pe cadrul JUnit, dar nu este o extensie JUnit.

 

Descărcare PDF gratuită: Întrebări de interviu TestNG


2) Care sunt caracteristicile TestNG?

Caracteristicile TestNG includ

  • TestNG folosește mai multe caracteristici OO (orientate pe obiecte) și Java
  • Acceptă testarea claselor integrate
  • Sunt acceptate diferite adnotări
  • Separați codul de testare a timpului de compilare de informațiile de date/configurarea timpului de rulare
  • Configurarea timpului de rulare este flexibilă
  • Plug-in flexibil API
  • Pentru mai multă flexibilitate, încorporați BeanShell
  • Suport pentru testarea seleniului cu mai multe fire
  • Suportă testare paralelă, testare la sarcină, defecțiuni parțiale, metode de testare dependente
  • După compilarea testului, se poate face o solicitare către TestNG pentru a rula toate testele „front-end” sau „lent”, „rapid”, „bază de date”
  • Pentru aceeași clasă de testare, TestNG suportă mai multe instanțe
  • Pentru înregistrare, fără dependențe, funcții JDK implicite pentru înregistrare și runtime

3) Enumerați avantajele TestNG față de Junit?

Avantajele TestNG față de JUnit includ

  • Comparativ cu adnotările JUnit, TestNG este ușor de înțeles
  • Spre deosebire de JUnit, TestNG nu necesită declararea @Before Class și @After Class
  • Constrângerea numelui metodei nu există în TestNG
  • TestNG vă permite să grupați cu ușurință cazurile de testare, ceea ce nu este posibil în JUnit
  • TestNG acceptă următoarele trei setări suplimentare: @Before/After Suite, @Before/After Test și @Before/After Group
  • TestNG nu trebuie să extindă nicio clasă
  • În TestNG, este posibil să rulați cazuri de testare a driverului web selenium în paralel
  • Bazat pe grupul TestNG vă permite să executați cazurile de testare
  • TestNG vă permite să determinați cazurile de testare dependente; fiecare caz de testare este autonom pentru un alt caz de testare

4) Care sunt pașii de bază necesari pentru scrierea testelor TestNG?

Pașii de bază necesari pentru scrierea TestNG includ

  • Notați logica de afaceri a testului și introduceți adnotări TestNG în cod
  • Într-o construcție.xml sau testing.xml, adăugați informațiile despre testul dvs
  • Rulați TestNG

5) Enumerați diferitele moduri în care poate fi invocat TestNG.

TestNG poate fi invocat în diferite moduri, cum ar fi

  • Utilizarea Eclipsă
  • Cu furnică
  • Din linia de comandă
  • Folosind IDEA lui IntelliJ
Întrebări de interviu TestNG
Întrebări de interviu TestNG

6) Explicați utilizarea fișierului testng.xml

Fișierul testing.xml surprinde întreaga testare în XML. Acest fișier facilitează definirea tuturor suitei de teste și a parametrilor acestora într-un singur fișier, pe care îl puteți verifica în depozitul de coduri sau prin e-mail colegilor. De asemenea, facilitează extragerea de subseturi de teste sau împărțirea mai multor configurații de rulare.


7) În TestNG, cum puteți dezactiva un test?

Pentru a dezactiva cazul de testare pe care nu îl doriți, puteți utiliza adnotări @Test(enabled = false).


8) Ce este testul Time-Out în TestNG?

Testul Time-Out din TestNG nu este altceva decât timpul alocat pentru efectuarea testării unitare. Dacă testul unitar nu reușește să se termine în acea limită de timp specifică, TestNG va abandona testarea ulterioară a software-ului și îl va marca ca eșec.


9) Explicați testul de excepție

TestNG oferă opțiunea de urmărire a gestionării excepțiilor a codului. Puteți testa dacă un cod dă rezultatele așteptate sau nu. Parametrul Excepții așteptat este disponibil împreună cu adnotarea @Test.


10) Ce face „testul suitei” în TestNG?

„Suite Test” se face atunci când trebuie să rulați împreună câteva teste unitare, „Suite Test” grupează acest test unitar împreună. Un fișier XML este utilizat pentru a rula testul suită.

TestNG
TestNG

11) Ce este testarea parametrizată?

Testarea parametrizată permite dezvoltatorilor să execute același test din nou și din nou folosind valori diferite. În două moduri diferite, TestNG vă permite să treceți parametrii direct metodelor de testare.

  • Cu testing.xml
  • Cu furnizorii de date

12) Cum puteți rula testele JUnit folosind TestNG?

Puteți rula testele JUnit folosind TestNG de

  • Plasarea bibliotecii JUnit pe calea de clasă TestNG, astfel încât să poată localiza și utiliza clasele JUnit
  • Schimbați runnerul de testare din JUnit în TestNG în Ant și apoi rulați TestNG în „modul mixt”. Acest lucru va aduce toate testele dvs. la fel

Această abordare vă permite, de asemenea, să convertiți testul JUnit existent în TestNG.


13) Ce indică @Test(invocationCount=?) și (threadPoolSize=?)?

  • @Test (threadPoolSize=?): Atributele threadPoolSize îi spun lui TestNG să formeze un pool de fire pentru a rula metoda de testare prin mai multe fire. Cu un pool de fire, timpul de rulare al metodei de testare se reduce foarte mult.
  • @Test(invocationCount=?): Numărul de invocări indică de câte ori trebuie să ruleze TestNG această metodă de testare

14) Care sunt diferitele moduri în care puteți produce rapoarte pentru rezultatele TestNG?

Există două moduri de a produce un raport cu Test NG, acestea sunt

  • Ascultători: Pentru ca o clasă de ascultător să poată implementa, clasa trebuie să implementeze interfața org.testng./TestListener. Aceste clase sunt informate în timpul executării de către TestNG când testul începe, se termină, omite, trece sau eșuează.
  • Reporteri: Pentru ca o clasă de raportare să fie implementată, clasa trebuie să implementeze o interfață org.testng/Reporter. Când întreaga suită se termină, aceste clase sunt apelate. Când este apelat, obiectul constând din informațiile întregii rulări de testare este livrat acestei clase.

15) Ce este Testul de grup în TestNG?

Este o caracteristică nouă inclusă în TestNG; vă permite să expediați metodele în porțiuni adecvate și să efectuați gruparea metodelor de testare. Cu testul de grup, puteți nu numai să declarați metode care aparțin unor grupuri, dar puteți specifica și grupuri de testare care conțin alte grupuri. Grupurile sunt determinate în fișierul testing.xml folosind testul de grup.


16) Care sunt modalitățile de a permite TestNG vă permite să specificați dependențe?

TestNG vă permite să specificați dependențele în două moduri

  • Utilizarea atributelor dependsOnMethods în adnotările @Test
  • Utilizarea atributelor dependsOnGroups în adnotările @Test

17) Ce înseamnă când trebuie să treci parametri folosind furnizori de date în TestNG?

Când trebuie să treceți parametri complexi sau parametri care urmează să fie creați din Java, în acest caz, parametrii pot fi transmiși folosind furnizorii de date. Adnotarea pentru furnizorul de date este @DataProvider. Această adnotare are doar un singur atribut șir dacă numele nu este declarat; numele furnizorului de date este automat implicit la numele metodei. Un furnizor de date restituie un mulțime de obiecte.


18) Numiți diferite metode pentru a executa teste în TestNG?

Testele din TestNG sunt executate folosind clasa TestNG. Pentru rularea testelor în cadrul de testare TestNG, clasa este punctul de intrare principal. Utilizatorii își pot crea obiectul TestNG și îl pot invoca în multe moduri diferite, cum ar fi

  • Pe un testing.xml deja existent
  • Pe un testing.xml sintetic creat în întregime din Java
  • Prin setarea directă a claselor de testare

19) Dați probă de cod 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();
  }
}

Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)

Distribuie

4 Comentarii

  1. Avatar Aditya Kasturi spune:

    Un bun pentru pregătirea pentru interviuri

  2. La întrebarea nr. 6, ați scris testing.xml în loc de testng.xml

    1. Mulțumesc... acest lucru este corectat

  3. Prima linie a celei de-a treia întrebări ar trebui să fie „Avantajele TestNG față de JUnit include”.

    Mulțumesc pentru întrebări.

  4. Avatar pradip yoghin spune:

    11) Ce este testarea parametrică? Ar trebui să fie Ce este testarea parametrizată?

    1. Bună, mulțumesc pentru scris. Este revizuită și actualizată.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *