TestNG 인터뷰 질문 및 답변 상위 19개(2025)

꿈의 직업을 얻기 위한 신입생과 숙련된 후보자를 위한 TestNG 인터뷰 질문과 답변은 다음과 같습니다.


1) TestNG란 무엇입니까?

TestNG는 자동화된 오픈소스 테스트 프레임워크입니다. JUnit 프레임워크를 기반으로 하지만 JUnit 확장 기능은 아닙니다.

 

무료 PDF 다운로드: TestNG 인터뷰 질문


2) TestNG 기능은 무엇입니까?

TestNG 기능은 다음과 같습니다

  • TestNG는 더 많은 OO(객체 지향) 및 Java 기능을 사용합니다.
  • 통합 클래스 테스트를 지원합니다.
  • 다양한 주석이 지원됩니다
  • 데이터 정보/런타임 구성에서 컴파일 타임 테스트 코드를 분리합니다.
  • 런타임 구성이 유연함
  • 유연한 플러그인 API
  • 유연성을 높이기 위해 BeanShell을 내장합니다.
  • 멀티스레드 셀레늄 테스트 지원
  • 병렬 테스트, 부하 테스트, 부분 실패, 종속 테스트 방법 지원
  • 테스트 컴파일 후 모든 "프론트 엔드" 테스트 또는 "느린", "빠른", "데이터베이스"를 실행하도록 TestNG에 요청할 수 있습니다.
  • 동일한 테스트 클래스의 경우 여러 인스턴스에 대한 TestNG 지원
  • 로깅의 경우 종속성 없음, 로깅 및 런타임을 위한 기본 JDK 기능

3) Junit에 비해 TestNG의 장점을 나열해 보세요.

JUnit에 비해 TestNG의 장점은 다음과 같습니다.

  • 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 또는 test.xml, 테스트에 대한 정보를 추가하세요.
  • TestNG 실행

5) TestNG를 호출할 수 있는 다양한 방법을 나열하십시오.

TestNG는 다음과 같은 다양한 방법으로 호출될 수 있습니다.

  • 사용
  • 개미와 함께
  • 명령 줄에서
  • IntelliJ의 IDEA 사용
TestNG 면접 질문
TestNG 면접 질문

6) testng.xml 파일의 사용법을 설명하세요.

파일 Testing.xml은 전체 테스트를 XML로 캡처합니다. 이 파일을 사용하면 모든 테스트 스위트와 해당 매개변수를 하나의 파일로 쉽게 정의할 수 있으며, 이를 코드 저장소에서 확인하거나 동료에게 이메일로 보낼 수 있습니다. 또한 테스트의 하위 집합을 쉽게 가져오거나 여러 런타임 구성을 분할할 수 있습니다.


7) TestNG에서 테스트를 어떻게 비활성화할 수 있습니까?

원하지 않는 테스트 케이스를 비활성화하려면 @Test(enabled = false) 주석을 사용할 수 있습니다.


8) TestNG의 Time-Out 테스트란 무엇입니까?

TestNG의 Time-Out 테스트는 단위 테스트를 수행하는 데 할당된 시간일 뿐입니다. 단위 테스트가 특정 시간 제한 내에 완료되지 않으면 TestNG는 추가 소프트웨어 테스트를 포기하고 이를 실패로 표시합니다.


9) 예외 테스트 설명

TestNG는 코드의 예외 처리를 추적하는 옵션을 제공합니다. 코드가 예상한 결과를 발생시키는지 테스트할 수 있습니다. @Test 애노테이션과 함께 '예상 예외' 매개변수를 사용할 수 있습니다.


10) TestNG에서 "스위트 테스트"는 무엇을 합니까?

"Suite Test"는 여러 단위 테스트를 함께 실행해야 할 때 수행되고, "Suite Test"는 이러한 단위 테스트를 하나로 묶습니다. XML 파일을 사용하여 Suite Test를 실행합니다.

테스트NG
테스트NG

11) 매개변수화된 테스트란 무엇입니까?

매개변수화된 테스트를 사용하면 개발자가 다른 값을 사용하여 동일한 테스트를 반복 실행할 수 있습니다. TestNG에서는 두 가지 방법으로 테스트 메서드에 매개변수를 직접 전달할 수 있습니다.

  • test.xml 사용
  • 데이터 제공자와 함께

12) TestNG를 사용하여 JUnit 테스트를 어떻게 실행할 수 있나요?

TestNG를 사용하여 JUnit 테스트를 실행할 수 있습니다.

  • JUnit 클래스를 찾고 사용할 수 있도록 TestNG 클래스 경로에 JUnit 라이브러리 배치
  • 테스트 실행기를 JUnit에서 Ant의 TestNG로 변경한 다음 "혼합 모드"에서 TestNG를 실행하세요. 이렇게 하면 모든 테스트가 동일하게 수행됩니다.

이 접근 방식을 사용하면 기존 JUnit 테스트를 TestNG로 변환할 수도 있습니다.


13) @Test(invocationCount=?) 및 (threadPoolSize=?)는 무엇을 나타냅니까?

  • @테스트(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를 사용하면 두 가지 방법으로 종속성을 지정할 수 있습니다.

  • @Test 주석에 dependencyOnMethods 속성 사용
  • @Test 주석에 dependencyOnGroups 속성 사용

17) TestNG에서 데이터 제공자를 사용하여 매개변수를 전달해야 한다는 것은 무엇을 의미합니까?

Java에서 생성되는 복잡한 매개변수를 전달해야 하는 경우, 데이터 공급자를 사용하여 매개변수를 전달할 수 있습니다. 데이터 공급자에 대한 어노테이션은 @DataProvider입니다. 이 어노테이션은 이름이 선언되지 않은 경우 단일 문자열 속성만 가지며, 데이터 공급자의 이름은 자동으로 메서드 이름으로 기본 설정됩니다. 데이터 공급자는 다음을 반환합니다. 정렬 개체의.


18) TestNG에서 테스트를 실행하는 다양한 방법은 무엇입니까?

TestNG의 테스트는 TestNG 클래스를 사용하여 실행됩니다. TestNG 테스트 프레임워크에서 테스트를 실행할 때 이 클래스가 주요 진입점입니다. 사용자는 TestNG 객체를 만들고 다음과 같은 다양한 방법으로 호출할 수 있습니다.

  • 이미 존재하는 test.xml에서
  • Java에서 완전히 생성된 합성 test.xml에서
  • 테스트 클래스를 직접 설정하여

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. 화신 Rohit 말한다 :

    6번 문제에서는 testng.xml 대신 test.xml을 작성했습니다.

    1. 화신 관리자 말한다 :

      감사합니다... 수정되었습니다

  3. 화신 Nimit 말한다 :

    세 번째 질문의 첫 번째 줄은 "JUnit 포함에 비해 TestNG의 장점"이어야 합니다.

    질문해주셔서 감사합니다.

    1. 화신 관리자 말한다 :

      오류가 수정되었습니다!

  4. 화신 프라딥 요기 말한다 :

    11) 파라메트릭 테스트란 무엇입니까? 매개변수화된 테스트란 무엇입니까?

    1. 화신 크리슈나 신 말한다 :

      안녕하세요. 작성해주셔서 감사합니다. 검토되고 업데이트됩니다.

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *