Топ 19 на въпросите и отговорите за интервю за TestNG (2025 г.)

Ето въпроси и отговори за интервю с TestNG за новопостъпили, както и за опитни кандидати, за да получат мечтаната работа.


1) Какво е TestNG?

TestNG е автоматизирана рамка за тестване с отворен код. Тя е базирана на рамката JUnit, но не е разширение на JUnit.

 

Безплатно изтегляне на PDF: Въпроси за интервю за TestNG


2) Какви са функциите на TestNG?

Функциите на TestNG включват

  • TestNG използва повече OO (обектно-ориентирани) и Java функции
  • Поддържа тестване на интегрирани класове
  • Поддържат се различни анотации
  • Отделете тестовия код за времето на компилиране от информацията за данните / конфигурацията на времето за изпълнение
  • Конфигурацията по време на изпълнение е гъвкава
  • Гъвкава добавка API
  • За допълнителна гъвкавост вгражда BeanShell
  • Поддръжка за многонишково тестване на селен
  • Поддържа паралелно тестване, тестване при натоварване, частичен отказ, зависими методи за тестване
  • След компилирането на теста може да се отправи заявка към TestNG за изпълнение на всички тестове „преден край“ или „бавни“, „бързи“, „база данни“,
  • За един и същ тестов клас поддръжка на TestNG за множество екземпляри
  • За регистриране, без зависимости, JDK функции по подразбиране за регистриране и време на изпълнение

3) Избройте предимствата на TestNG пред Junit?

Предимствата на TestNG пред JUnit включват

  • В сравнение с анотациите на JUnit, TestNG са лесни за разбиране
  • За разлика от JUnit, TestNG не изисква деклариране на @Before Class и @After Class
  • Ограничението за името на метода не съществува в TestNG
  • TestNG ви позволява лесно групиране на тестови случаи, което не е възможно в JUnit
  • TestNG поддържа следните три допълнителни настройки: @Before/After Suite, @Before/After Test и @Before/After Group
  • TestNG не трябва да разширява който и да е клас
  • В TestNG е възможно паралелно да се изпълняват тестови случаи на селен уеб драйвер
  • Въз основа на групата TestNG ви позволява да изпълнявате тестовите случаи
  • TestNG ви позволява да определите зависимите тестови случаи; всеки тестов случай е автономен спрямо друг тестов случай

4) Какви са основните стъпки, необходими за писане на TestNG тестове?

Основните стъпки, необходими за писане на TestNG, включват

  • Запишете бизнес логиката на вашия тест и вмъкнете анотации на TestNG във вашия код
  • В конструкция.XML или testing.xml, добавете информацията за вашия тест
  • Стартирайте TestNG

5) Избройте различни начини, по които TestNG може да бъде извикан.

TestNG може да бъде извикан по различни начини като

  • Използването на Затъмнение
  • С мравка
  • От командния ред
  • Използване на IDEA на IntelliJ
Въпроси за интервю за TestNG
Въпроси за интервю за TestNG

6) Обяснете използването на файла testng.xml

Файлът testing.xml улавя цялото ви тестване в XML. Този файл улеснява дефинирането на целия ви тестов пакет и техните параметри в един файл, който можете да проверите във вашето хранилище на кодове или да изпратите по имейл до колеги. Освен това улеснява извличането на подгрупи от вашите тестове или разделянето на няколко конфигурации по време на изпълнение.


7) В TestNG как можете да деактивирате тест?

За да деактивирате тестовия случай, който не искате, можете да използвате анотации @Test(enabled = false).


8) Какво представлява тестът за изчакване в TestNG?

Тестът за изчакване в TestNG не е нищо друго освен времето, определено за извършване на тестване на единица. Ако модулният тест не успее да завърши в този определен срок, TestNG ще изостави по-нататъшното тестване на софтуера и ще го маркира като неуспешно.


9) Обяснете теста за изключение

TestNG предоставя опция за проследяване на обработката на изключенията в кода. Можете да тествате дали даден код хвърля очакваните резултати или не. Параметърът „Очаквани изключения“ е наличен заедно с анотацията @Test.


10) Какво прави „тестът на пакета“ в TestNG?

„Suite Test“ се прави, когато трябва да изпълните няколко модулни теста заедно, „Suite Test“ обединява тези модулни тестове. За изпълнение на пакетния тест се използва XML файл.

ТестNG
ТестNG

11) Какво е параметризирано тестване?

Параметризираното тестване позволява на разработчиците да изпълняват един и същ тест отново и отново, използвайки различни стойности. TestNG ви позволява да предавате параметри директно на вашите тестови методи по два различни начина.

  • С testing.xml
  • С доставчици на данни

12) Как можете да стартирате JUnit тестовете с помощта на TestNG?

Можете да стартирате JUnit тестовете с помощта на TestNG от

  • Поставяне на JUnit библиотека на TestNG classpath, така че да може да намира и използва JUnit класове
  • Променете тестовия си инструмент от JUnit на TestNG в Ant и след това стартирайте TestNG в „смесен режим“. Това ще направи всичките ви тестове еднакви

Този подход също ви позволява да конвертирате съществуващия си JUnit тест в TestNG.


13) Какво показва @Test(invocationCount=?) и (threadPoolSize=?)?

  • @Test (threadPoolSize=?): Атрибутите threadPoolSize казват на TestNG да формира пул от нишки, за да изпълни тестовия метод през множество нишки. С пул от нишки времето за изпълнение на тестовия метод намалява значително.
  • @Test(invocationCount=?): Броят на извикванията показва колко пъти TestNG трябва да изпълни този тестов метод

14) Какви са различните начини, по които можете да създавате отчети за резултатите от TestNG?

Има два начина за създаване на отчет с Test NG, те са

  • Слушатели: За да бъде внедрен клас слушател, класът трябва да имплементира интерфейса org.testng./TestListener. Тези класове се информират по време на изпълнение от TestNG, когато тестът започва, завършва, прескача, преминава или се проваля.
  • репортери: За да се приложи клас за отчитане, класът трябва да приложи интерфейс org.testng/Reporter. Когато изпълнението на целия пакет приключи, тези класове се извикват. Когато се извика, обектът, състоящ се от информацията за цялото тестово изпълнение, се доставя на този клас.

15) Какво представлява груповият тест в TestNG?

Това е нова функция, включена в TestNG; тя ви позволява да разпределяте методи в правилните части и да извършвате групиране на тестови методи. С груповия тест можете не само да декларирате методи, които принадлежат към групи, но и да укажете тестови групи, които съдържат други групи. Групите се определят във вашия файл testing.xml, като се използва груповият тест.


16) Какви са начините да разрешите TestNG да ви позволява да указвате зависимости?

TestNG ви позволява да укажете зависимости по два начина

  • Използване на атрибутиdependentOnMethods в @Test анотации
  • Използване на атрибутиdependentOnGroups в @Test анотации

17) Какво означава, когато трябва да подадете параметри, използвайки доставчици на данни в TestNG?

Когато трябва да предадете сложен параметър или параметри, които трябва да бъдат създадени от Java, в такъв случай параметрите могат да бъдат предадени чрез доставчици на данни. Анотацията за доставчик на данни е @DataProvider. Тази анотация има само един атрибут тип низ, ако името не е декларирано; името на доставчика на данни автоматично се приема по подразбиране за името на метода. Доставчикът на данни връща масив на обекти.


18) Посочете различни методи за изпълнение на тестове в TestNG?

Тестовете в TestNG се изпълняват с помощта на класа TestNG. За изпълнение на тестове в тестовата рамка TestNG, класът е основната входна точка. Потребителите могат да създадат свой собствен обект TestNG и да го извикат по много различни начини, като например

  • На вече съществуващ testing.xml
  • На синтетичен testing.xml, създаден изцяло от Java
  • Чрез директно задаване на тестовите класове

19) Дайте примерен 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();
  }
}

Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)

Сподели

7 Коментари

  1. въплъщение Адитя Кастури казва:

    Добър за подготовка за интервюта

  2. въплъщение Рохит казва:

    Във въпрос номер 6 сте написали testing.xml вместо testng.xml

    1. въплъщение администратор казва:

      Благодаря ... това е коригирано

  3. въплъщение Nimit казва:

    Първият ред на 3-ти въпрос трябва да бъде „Предимства на TestNG пред включването на JUnit“.

    Благодаря за въпросите

    1. въплъщение администратор казва:

      Грешка отстранена!

  4. въплъщение прадип йоги казва:

    11) Какво е параметрично тестване? Трябва да бъде Какво е параметризирано тестване?

    1. въплъщение Кришна казва:

      Здравейте, благодаря за писането. Преглежда се и се актуализира.

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *