19 лучших вопросов и ответов на собеседовании TestNG (2025 г.)

Вот вопросы и ответы на собеседовании TestNG для новичков, а также для опытных кандидатов, желающих получить работу своей мечты.


1) Что такое TestNG?

TestNG — это автоматизированный фреймворк для тестирования с открытым исходным кодом. Он основан на фреймворке JUnit, но не является его расширением.

 

Бесплатная загрузка PDF-файла: Вопросы для собеседования TestNG


2) Каковы возможности TestNG?

Возможности TestNG включают в себя

  • TestNG использует больше функций ОО (объектно-ориентированного) и 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 или test.xml добавьте информацию о вашем тесте
  • Запустите TestNG

5) Перечислите различные способы вызова TestNG.

TestNG можно вызывать разными способами, например

  • . Затмение
  • С муравьем
  • Из командной строки
  • Использование IntelliJ IDEA
Вопросы для собеседования TestNG
Вопросы для собеседования TestNG

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

Файл test.xml записывает все результаты тестирования в формате XML. Этот файл позволяет легко определить весь ваш набор тестов и их параметры в одном файле, который вы можете проверить в своем репозитории кода или по электронной почте коллегам. Это также позволяет легко извлекать подмножества ваших тестов или разделять несколько конфигураций времени выполнения.


7) Как в TestNG можно отключить тест?

Чтобы отключить ненужный тестовый пример, вы можете использовать аннотации @Test(enabled = false).


8) Что такое тест тайм-аута в TestNG?

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


9) Объясните тест исключений

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


10) Что делает «пакетный тест» в TestNG?

«Suite Test» применяется, когда необходимо запустить несколько модульных тестов одновременно. «Suite Test» объединяет эти модульные тесты в один. Для запуска пакета тестов используется XML-файл.

ТестНГ
ТестНГ

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

Параметризированное тестирование позволяет разработчикам многократно выполнять один и тот же тест, используя разные значения. TestNG позволяет передавать параметры напрямую в тестовые методы двумя способами.

  • С помощью test.xml
  • С поставщиками данных

12) Как запустить тесты JUnit с помощью TestNG?

Вы можете запускать тесты JUnit с помощью TestNG:

  • Размещение библиотеки JUnit в пути к классам TestNG, чтобы она могла находить и использовать классы JUnit.
  • Измените программу запуска тестов с JUnit на TestNG в Ant, а затем запустите TestNG в «смешанном режиме». Это приведет к тому, что все ваши тесты будут одинаковыми.

Этот подход также позволяет преобразовать существующий тест JUnit в TestNG.


13) Что означает @Test(infectionCount=?) и (threadPoolSize=?)?

  • @Test (threadPoolSize=?): Атрибуты threadPoolSize сообщают TestNG сформировать пул потоков для запуска метода тестирования через несколько потоков. При использовании пула потоков время выполнения метода тестирования значительно сокращается.
  • @Test(invoctionCount=?): Счетчик вызовов показывает, сколько раз TestNG должен запускать этот тестовый метод.

14) Каковы различные способы создания отчетов о результатах TestNG?

Существует два способа создания отчета с помощью Test NG:

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

15) Что такое групповой тест в TestNG?

Это новая функция TestNG, которая позволяет распределять методы по соответствующим фрагментам и группировать тестовые методы. С помощью group test можно не только объявлять методы, принадлежащие группам, но и указывать тестовые группы, содержащие другие группы. Группы определяются в файле testing.xml с помощью group test.


16) Какими способами TestNG позволяет указывать зависимости?

TestNG позволяет указывать зависимости двумя способами.

  • Использование атрибутов dependOnMethods в аннотациях @Test
  • Использование атрибутов dependOnGroups в аннотациях @Test

17) Что это значит, когда вам нужно передавать параметры с помощью поставщиков данных в TestNG?

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


18) Назовите различные методы выполнения тестов в TestNG?

Тесты в TestNG выполняются с использованием класса TestNG. Для запуска тестов в тестовом фреймворке TestNG этот класс является основной точкой входа. Пользователи могут создавать объекты TestNG и вызывать их различными способами, например:

  • В уже существующем файле test.xml
  • В синтетическом файле test.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 вы написали test.xml вместо testng.xml.

    1. Аватара Администратор говорит:

      Спасибо... это исправлено

  3. Аватара Nimit говорит:

    Первая строка третьего вопроса должна быть «Преимущества TestNG перед JUnit».

    Спасибо за вопросы.

  4. Аватара Прадип йог говорит:

    11) Что такое параметрическое тестирование? Должно быть «Что такое параметризованное тестирование?»

    1. Аватара Кришна говорит:

      Привет, спасибо, что написали. Он пересматривается и обновляется.

Оставьте комментарий

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