Nangungunang 19 Mga Tanong at Sagot sa Panayam sa TestNG (2024)

Narito ang mga tanong at sagot sa pakikipanayam sa TestNG para sa mga fresher pati na rin sa mga may karanasang kandidato upang makuha ang kanilang pangarap na trabaho.


1) Ano ang TestNG?

Ang TestNG ay isang automated na open source testing framework. Ito ay batay sa JUnit framework ngunit hindi isang JUnit extension.

 

Libreng PDF Download: TestNG Interview Questions


2) Ano ang mga tampok ng TestNG?

Kasama sa mga feature ng TestNG

  • Gumagamit ang TestNG ng mas maraming OO (object-oriented) at mga feature ng Java
  • Sinusuportahan nito ang pagsubok sa mga pinagsama-samang klase
  • Iba't ibang Anotasyon ang sinusuportahan
  • Paghiwalayin ang compile time test code mula sa data info/run time configuration
  • Ang configuration ng run-time ay flexible
  • Flexible na plug-in API
  • Para sa karagdagang kakayahang umangkop, ang BeanShell ay naka-embed
  • Suporta sa pagsubok ng multi-threaded selenium
  • Sinusuportahan ang parallel testing, load testing, partial failure, dependent test method
  • Pagkatapos ng compilation ng pagsubok, maaaring humiling sa TestNG na patakbuhin ang lahat ng "front-end" na pagsubok o "mabagal," "mabilis," "database,"
  • Para sa parehong test class TestNG support para sa maraming pagkakataon
  • Para sa pag-log, walang dependencies, default na JDK function para sa pag-log at runtime

3) Ilista ang mga pakinabang ng TestNG sa Junit?

Kabilang sa mga bentahe ng TestNG sa JUnit

  • Kumpara sa mga anotasyon ng JUnit, madaling maunawaan ang TestNG
  • Hindi tulad ng JUnit, hindi kailangan ng TestNG na ideklara ang @Before Class at @After Class
  • Ang hadlang sa pangalan ng pamamaraan ay wala sa TestNG
  • Binibigyang-daan ka ng TestNG na madaling pagpangkatin ang mga kaso ng pagsubok na hindi posible sa JUnit
  • Sinusuportahan ng TestNG ang sumusunod na tatlong karagdagang setup: @Before/After Suite, @Before/After Test at @Before/After Group
  • Hindi kailangang pahabain ng TestNG ang anumang klase
  • Sa TestNG, posibleng magpatakbo ng mga kaso ng pagsubok sa selenium web driver nang magkatulad
  • Batay sa pangkat TestNG ay nagbibigay-daan sa iyo upang isagawa ang mga kaso ng pagsubok
  • Binibigyang-daan ka ng TestNG na matukoy ang mga umaasa na kaso ng pagsubok; bawat test case ay autonomous sa isa pang test case

4) Ano ang mga pangunahing hakbang na kinakailangan sa pagsulat ng mga pagsubok sa TestNG?

Kasama sa mga pangunahing hakbang na kinakailangan sa pagsulat ng TestNG

  • Isulat ang lohika ng negosyo ng iyong pagsubok at ipasok ang mga anotasyon ng TestNG sa iyong code
  • Sa isang build.xml o testing.xml, idagdag ang impormasyon tungkol sa iyong pagsubok
  • Patakbuhin ang TestNG

5) Maglista ng iba't ibang paraan kung saan maaaring ma-invoke ang TestNG.

Maaaring i-invoke ang TestNG sa iba't ibang paraan tulad ng

  • paggamit Paglalaho
  • may langgam
  • Mula sa command line
  • Gamit ang IntelliJ's IDEA
Mga Tanong sa Panayam sa TestNG
Mga Tanong sa Panayam sa TestNG

6) Ipaliwanag ang paggamit ng testng.xml file

Kinukuha ng file testing.xml ang iyong buong pagsubok sa XML. Pinapadali ng file na ito na tukuyin ang lahat ng iyong test suite at ang mga parameter nito sa isang file, na maaari mong i-verify sa iyong code repository o e-mail sa mga katrabaho. Pinapadali din nito ang pag-pull out ng mga subset ng iyong mga pagsubok o hatiin ang ilang runtime configuration.


7) Sa TestNG paano mo madi-disable ang isang pagsubok?

Upang i-disable ang test case na hindi mo gusto, maaari mong gamitin ang mga anotasyon @Test(enabled = false).


8) Ano ang Time-Out test sa TestNG?

Ang Time-Out test sa TestNG ay walang iba kundi ang oras na inilaan para magsagawa ng unit testing. Kung mabigong matapos ang unit test sa partikular na limitasyon sa oras na iyon, aabandunahin ng TestNG ang karagdagang pagsubok sa software at mamarkahan ito bilang isang pagkabigo.


9) Ipaliwanag ang exception test

Ang TestNG ay nagbibigay ng opsyon para sa pagsubaybay sa Exception handling ng code. Maaari mong subukan kung ang isang code ay nagtatapon ng mga inaasahang resulta o hindi. Ang inaasahang parameter ng Exceptions ay magagamit kasama ng @Test annotation.


10) Ano ang ginagawa ng “suite test” sa TestNG?

Ang "Suite Test" ay tapos na kapag kailangan mong magpatakbo ng ilang unit test nang magkasama, "Suite Test" ay pinagsama-sama ang unit test na ito. Ang isang XML file ay ginagamit upang patakbuhin ang suite na pagsubok.

PagsubokNG
PagsubokNG

11) Ano ang Parameterized Testing?

Ang naka-parameter na pagsubok ay nagbibigay-daan sa mga developer na isagawa ang parehong pagsubok nang paulit-ulit gamit ang iba't ibang mga halaga. Sa dalawang magkaibang paraan, pinapayagan ka ng TestNG na ipasa ang mga parameter nang direkta sa iyong mga pamamaraan ng pagsubok.

  • Gamit ang testing.xml
  • Sa Mga Tagabigay ng Data

12) Paano mo mapapatakbo ang mga pagsubok sa JUnit gamit ang TestNG?

Maaari mong patakbuhin ang mga pagsubok sa JUnit gamit ang TestNG sa pamamagitan ng

  • Ang paglalagay ng JUnit library sa TestNG classpath upang mahanap at magamit nito ang mga klase ng JUnit
  • Baguhin ang iyong test runner mula JUnit patungong TestNG sa Ant at pagkatapos ay patakbuhin ang TestNG sa "mixed mode." Dadalhin nito ang lahat ng iyong pagsubok sa parehong

Binibigyang-daan ka rin ng diskarteng ito na i-convert ang iyong kasalukuyang pagsubok sa JUnit sa TestNG.


13) Ano ang ipinahihiwatig ng @Test(invocationCount=?) at (threadPoolSize=?)?

  • @Test (threadPoolSize=?): Ang mga katangian ng threadPoolSize ay nagsasabi sa TestNG na bumuo ng isang thread pool upang patakbuhin ang paraan ng pagsubok sa pamamagitan ng maraming mga thread. Sa pamamagitan ng isang thread pool, ang oras ng pagpapatakbo ng pamamaraan ng pagsubok ay lubhang nababawasan.
  • @Test(invocationCount=?): Sinasabi ng bilang ng invocation kung ilang beses dapat patakbuhin ng TestNG ang paraan ng pagsubok na ito

14) Ano ang iba't ibang paraan kung saan makakagawa ka ng mga ulat para sa mga resulta ng TestNG?

Mayroong dalawang mga paraan upang makagawa ng isang ulat sa Test NG, sila ay

  • Mga nakikinig: Para maipatupad ng isang listener class, kailangang ipatupad ng klase ang org.testng./TestListener Interface. Ang mga klase na ito ay ipinapaalam sa runtime ng TestNG kapag nagsimula, natapos, lumaktaw, pumasa o nabigo ang pagsubok.
  • mga mamamahayag: Para maipatupad ang klase sa pag-uulat, kailangang magpatupad ang klase ng interface ng org.testng/Reporter. Kapag natapos ang buong suite run, ang mga klase na ito ay tinatawag. Kapag tinawag, ang object na binubuo ng impormasyon ng buong test run ay ihahatid sa klase na ito.

15) Ano ang Group Test sa TestNG?

Ito ay isang bagong tampok na kasama sa TestNG; binibigyang-daan ka nitong magpadala ng mga pamamaraan sa mga wastong bahagi at magsagawa ng pagpapangkat ng mga pamamaraan ng pagsubok. Sa pagsubok ng pangkat, hindi ka lamang makakapagdeklara ng mga pamamaraan na kabilang sa mga pangkat, ngunit maaari mo ring tukuyin ang mga pangkat ng pagsubok na naglalaman ng iba pang mga pangkat. Tinutukoy ang mga grupo sa iyong testing.xml file gamit ang group test.


16) Ano ang mga paraan upang payagan ka ng TestNG na tukuyin ang mga dependencies?

Pinapayagan ka ng TestNG na tukuyin ang mga dependency sa dalawang paraan

  • Ang paggamit ng mga attribute ay dependeOnMethods sa @Test annotation
  • Ang paggamit ng mga attribute ay dependeOnGroups sa @Test annotation

17) Ano ang ibig sabihin kapag kailangan mong ipasa ang mga parameter gamit ang mga tagapagbigay ng data sa TestNG?

Kapag kailangan mong ipasa ang kumplikadong parameter o mga parameter na gagawin mula sa Java, sa ganoong pagkakataon ang mga parameter ay maaaring ipasa gamit ang mga Data provider. Ang anotasyon para sa data provider ay @DataProvider. Ang anotasyong ito ay mayroon lamang isang string na katangian kung ang pangalan ay hindi idineklara; awtomatikong nagde-default ang pangalan ng Data provider sa pangalan ng pamamaraan. Ang isang data provider ay nagbubunga ng isang ayos ng mga bagay.


18) Pangalanan ang iba't ibang paraan upang magsagawa ng mga pagsubok sa TestNG?

Ang mga pagsubok sa TestNG ay isinasagawa gamit ang klase ng TestNG. Para sa pagpapatakbo ng mga pagsubok sa TestNG testing framework, ang klase ang pangunahing entry point. Maaaring gawin ng mga user ang kanilang TestNG object at i-invoke ito sa maraming iba't ibang paraan tulad ng

  • Sa isang umiiral nang testing.xml
  • Sa isang synthetic testing.xml na ganap na ginawa mula sa Java
  • Sa pamamagitan ng direktang pagtatakda ng mga klase ng pagsubok

19) Magbigay ng sample na TestNG code

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();
  }
}

Ang mga tanong sa panayam na ito ay makakatulong din sa iyong viva(orals)

magbahagi

7 Comments

  1. awatara Aditya Kasturi sabi ni:

    Magandang Isa para sa Paghahanda para sa mga Panayam

  2. Sa tanong bilang 6, isinulat mo ang testing.xml sa halip na testng.xml

  3. Ang unang linya ng ika-3 tanong ay dapat na "Mga Pakinabang ng TestNG sa JUnit kasama".

    Salamat sa mga tanong.

  4. awatara pradip yogi sabi ni:

    11) Ano ang parametric testing? Dapat ay Ano ang Parameterized na pagsubok?

    1. awatara Krisna sabi ni:

      Hi, salamat sa pagsusulat. Ito ay sinusuri at na-update.

Mag-iwan ng Sagot

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan *