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 можна запускати тестові випадки веб-драйвера selenium паралельно
  • На основі групи TestNG дозволяє виконувати тестові випадки
  • TestNG дозволяє визначити залежні тестові випадки; кожен тестовий приклад є автономним щодо іншого тестового випадку

4) Які основні кроки необхідні для написання тестів TestNG?

Основні етапи написання TestNG включають

  • Запишіть бізнес-логіку вашого тесту та вставте анотації TestNG у свій код
  • У збірці.XML або testing.xml, додайте інформацію про свій тест
  • Запустіть TestNG

5) Перелічіть різні способи, якими можна викликати TestNG.

TestNG можна викликати різними способами, наприклад

  • використання Затемнення
  • З мурахою
  • З командного рядка
  • Використання IntelliJ IDEA
Запитання для співбесіди TestNG
Запитання для співбесіди TestNG

6) Поясніть використання файлу testng.xml

Файл testing.xml фіксує все ваше тестування в XML. Цей файл дозволяє легко визначити весь ваш набір тестів та їхні параметри в одному файлі, який ви можете перевірити у своєму сховищі коду або надіслати електронною поштою колегам. Це також дозволяє легко витягувати підмножини ваших тестів або розділяти кілька конфігурацій середовища виконання.


7) Як вимкнути тест у TestNG?

Щоб вимкнути непотрібний тестовий приклад, ви можете використати анотації @Test(enabled = false).


8) Що таке тест Time-Out у TestNG?

Тест Time-Out у TestNG — це не що інше, як час, відведений на виконання модульного тестування. Якщо одиничне тестування не завершиться протягом зазначеного терміну, TestNG припинить подальше тестування програмного забезпечення та позначить його як помилку.


9) Поясніть тест винятків

TestNG надає можливість трасування обробки винятків коду. Ви можете перевірити, чи видає код очікувані результати. Параметр очікуваних винятків доступний разом з анотацією @Test.


10) Що робить «тест набору» в TestNG?

«Тестування набору» виконується, коли потрібно запустити кілька модульних тестів разом, «Тестування набору» об’єднує ці модульні тести разом. Для запуску тестування набору використовується XML-файл.

ТестNG
ТестNG

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

Параметризоване тестування дозволяє розробникам виконувати один і той самий тест знову і знову, використовуючи різні значення. TestNG дозволяє передавати параметри безпосередньо вашим методам тестування двома різними способами.

  • З testing.xml
  • З постачальниками даних

12) Як запустити тести JUnit за допомогою TestNG?

Ви можете запускати тести JUnit за допомогою TestNG by

  • Розміщення бібліотеки JUnit у шляху до класів TestNG, щоб вона могла знаходити та використовувати класи 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();
  }
}

Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)

Поділитись

7 Коментарі

  1. Аватара Адітя Кастурі каже:

    Підходить для підготовки до співбесіди

  2. Аватара Рохіт каже:

    У питанні № 6 ви написали testing.xml замість testng.xml

  3. Аватара Nimit каже:

    Перший рядок 3-го запитання має бути «Переваги TestNG перед JUnit включає».

    Дякуємо за запитання.

  4. Аватара прадіп йог каже:

    11) Що таке параметричне тестування? Це має бути Що таке параметризоване тестування?

    1. Аватара Крішна каже:

      Привіт, дякую, що написали. Його переглядають і оновлюють.

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *