Articles

TestNG Interview Questions

Posted by admin

v tomto kurzu věnovaném TestNG jsme se pokusili pokrýt všechna témata týkající se rámce TestNG. Doufám, že čtenáři cvičili TestNG se směsí témat věnovaných tomuto kurzu. Kromě toho vyniká v rámci TestNG a udržet své koncepty na tipy vám pomůže zvýšit svou kariéru a přidat další peří v klobouku. Kromě toho také otevře více dveří příležitostem a zkušenostem v různých projektech a různých společnostech ve vaší profesní kariéře. Abyste však tyto příležitosti pochopili, musíte čelit ještě jedné výzvě, tj. Proto, v tomto článku se budeme zabývat otázkami TestNG interview.

abychom pomohli našim kolegům testerům ve stejných ohledech, připravili jsme seznam otázek, které jsou k dispozici v těchto příspěvcích, které jsou populárně kladeny v rozhovorech týkajících se pozic testovacího inženýra nebo automatizačního inženýra. Nicméně, je třeba si uvědomit, že i když se tyto otázky dotýkají každého konceptu otázek TestNG interview, zbývající tvrdá práce je praxe.

proto doporučuji projít všechna témata a důkladně je procvičit, protože neexistují žádná tvrdá a rychlá omezení ohledně toho, co může tazatel požádat dotazovaného. Taky, hodně z těchto otázek bude mít odkaz na selen spolu s TestNG, protože TestNG se používá poměrně těžce s webovým ovladačem selenu. Proto, tyto otázky týkající se pohovoru TestNG jsou pouze orientační.

níže uvedené otázky byly rozděleny do dílčích částí, které vám pomohou zapamatovat si koncept jasnějším způsobem.

základy TestNG

co je rámec TestNG?

TestNG framework je testovací rámec pro provádění testů v programovacím jazyce java. Navíc, „NG“ v TestNG zkracuje pro “ příští generace.“Cedric Beust jej vyvinul a inspiroval se testovacím rámcem JUnit a NUnit. Následně se můžete dozvědět, co je TestNG Framework podrobně, zde.

jak spustit TestNG skript?

TestNG skript je spuštěn pravým tlačítkem myši na třídu TestNG – > Spustit jako – > TestNG Test. Následně se naučte, jak nainstalovat TestNG v Eclipse a IntelliJ.

jaké jsou výhody TestNG?

jednou z běžných otázek TestNG rozhovoru je o výhodách TestNG.

TestNG má následující výhody:

  • Za prvé, TestNG je schopen vytvářet zprávy automaticky se všemi potřebnými informacemi, jako jsou neúspěšné testy, prošlé testy, časy provedení testu atd.
  • za druhé, TestNG využívá anotace jako @BeforeMethod, @Test atd., které jsou snadno pochopitelné, protože jejich pojmenování je po jejich práci.
  • Zatřetí, TestNG poskytuje seskupení metod, pomocí kterých můžeme seskupit více metod jako jednu jednotku. Jinými slovy, seskupení provádí operace na všech testech ve skupině najednou, nikoli jednotlivě.
  • Začtvrté, TestNG poskytuje parametrizaci zkušební metody, což znamená, že můžeme poskytnout parametry v TestNG a volat funkci opakovaně s různými hodnotami. Parametrizace navíc pomáhá při datově řízeném testování v TestNG.
  • Za páté, TestNG poskytuje prioritizaci metod. Jinými slovy, definováním priorit metod v TestNG můžeme změnit výchozí pořadí provádění testovacích metod podle našeho přání.
  • kromě výše uvedeného umožňuje TestNG paralelní testování, což zvyšuje účinnost a zlepšuje celkovou dobu provozu zkušebních metod.
  • s frameworkem TestNG můžete snadno integrovat s dalšími nástroji, jako jsou Maven, Jenkins atd.
  • navíc TestNG poskytuje funkci pro spuštění více testovacích metod v různých prohlížečích, které testují problémy s kompatibilitou mezi prohlížeči na vašem webu. Jedná se o testování napříč prohlížeči.
  • TestNG nám navíc umožňuje provádět testy Samostatně. Pokud tedy testy spustíte a pouze jeden test selhal, můžete tento test spustit nezávisle v příštím provedení.
  • TestNG navíc umožňuje, aby zkušební metody závisely na sobě. Jeho také volal test závislost v TestNG.
  • a konečně, TestNG poskytuje spoustu metod tvrzení pro efektivnější testování.

následně se můžete dozvědět více o výhodách rámce TestNG zde.

testovací případ a sady TestNG

jaký je rozdíl mezi testovacím testem a testovacím balíčkem?

test suite označuje sbírku testů, které můžeme spustit současně s pomocí souboru TestNG XML. Na druhé straně je test testing jediný soubor testovacích případů, a když řekneme „spouštíme testovací případ TestNG“, jednoduše tím myslíme, že spouštíme jeden soubor testovacích případů.

další informace o testovací sadě TestNG.

Definujte správné pořadí značek v souboru TestNG XML.

správné pořadí pro spuštění sady TestNG ze souboru XML je následující:

XHTML

1
2
3
4
5

<apartmá>
<zkouška>
<třídy>
<třída>
<metody>

uzavírací značky se zde nezobrazují tak, jak jsou pro demonstrační účely. Následně se můžete dozvědět více o tom, jak spustit TestNG sady pomocí XML?

anotace TestNG

jaké jsou typy anotací používaných v TestNG (v pořadí provádění/hierarchie)?

existuje devět typů anotací používaných v TestNG. V pořadí podle pořadí jejich provádění jsou následující:

  • @BeforeSuite
  • @BeforeTest
  • @BeforeClass
  • @BeforeMethod
  • @AfterMethod
  • @AfterClass
  • @AfterTest
  • @AfterSuite

jaké jsou Kategorie anotací v TestNG?

anotace TestNG se dělí do tří kategorií:

  • předběžné Poznámky: Anotace v této kategorii se provádějí před testem. Skládá se z následujících anotací:
    • @BeforeMethod
    • @BeforeClass
    • @BeforeSuite
    • @BeforeTest
  • anotace testů: anotace v této kategorii jsou definovány těsně před zkušebními metodami. Kromě toho se skládá z následujících anotací:
    • @Test
  • Postcondition anotace: anotace v této kategorii se provádějí po zkušebních metodách. Dále se skládá z následujících anotací:
    • @AfterMethod
    • @AfterClass
    • @AfterTest
    • @AfterSuite

následně se o tom můžete dozvědět více zde, Jak používat anotace TestNG pomocí selenu.

zprávy TestNG

jaké jsou typy zpráv generovaných v TestNG ve výchozím nastavení?

TestNG generuje ve výchozím nastavení dva typy zpráv po dokončení všech testovacích metod. Jsou to:

  • Emailable Reports
  • Index Reports

následně se o tom můžete dozvědět více zde, Jaké jsou dostupné a indexové zprávy v TestNG?

kde se vygeneruje a uloží dostupná zpráva v TestNG?

dostupné zprávy se generují ve složce projektu a podsložce test-output. Tato zpráva je k dispozici jako “ emailable-report.html“ ve výchozím nastavení.

kde je vygenerována a uložena zpráva o indexu v TestNG?

zpráva o indexu se generuje pod složkou projektu a podsložkou test-output. Tato zpráva je navíc k dispozici jako “ index.html“ ve výchozím nastavení.

následně se o tom můžete dozvědět více zde, Jak zobrazit a analyzovat zprávy v TestNG?

priority testu

jaké jsou priority v testu?

priority v TestNG je parametr, který deklaruje prioritu konkrétní zkušební metodě. TestNG používá metodu abecedního provedení K provedení své zkušební metody. Prostřednictvím priorit můžeme změnit pořadí provádění testu. Prioritu lze navíc nastavit jako celočíselnou hodnotu a snížit tuto celočíselnou hodnotu; vyšší je priorita.

následně se o tom můžete dozvědět více zde, jaké jsou priority v TestNG?

jak byste nastavili priority v TestNG?

priorita testu je nastavena následující syntaxí:

@Test (priorita = 1)

public void func(){

//kód zkoušky

}

příklad stanovení priorit v TestNG může být následující:

následně se o něm můžete dozvědět více zde, Jak nastavit priority a sekvenování v TestNG?

proč vytváříme soubor XML v TestNG?

používáme XML soubor v TestNG pro mnoho účelů. Soubor TestNG XML nám pomáhá:

  • spustit více testů v jednom provedení.
  • za druhé nám také pomáhá zahrnout a vyloučit zkušební metody a skupiny.
  • Zatřetí nám také pomáhá přidávat závislosti do skupin.
  • Začtvrté pomáhá spouštět metody zkušebního případu pomocí parametrů.
  • nakonec pomáhá při provádění paralelního provádění testu.

další informace o tom, jak zahrnout a vyloučit skupiny v TestNG prostřednictvím souboru XML?

parametry TestNG

co je parametrizace v TestNG?

v TestNG parametrizace spouští testovací metodu vícekrát s různými hodnotami. Dalším názvem tohoto procesu je testování založené na datech v TestNG. Parametrizaci v TestNG můžeme získat dvěma způsoby:

  • Za prvé, můžeme toho dosáhnout prostřednictvím souboru XML.
  • Zadruhé toho můžeme dosáhnout prostřednictvím dataproviderů v TestNG.

další informace o tom, jak spustit parametrizované testy v TestNG přes XML a dataproviders.

jaké jsou volitelné parametry v TestNG?

volitelné parametry fungují podobně jako výchozí případ v parametrizaci v TestNG. Volitelný parametr používáme, když pro tuto metodu testovacího případu není definován žádný jiný parametr. Navíc anotace @Optional deklaruje volitelný parametr. Parametr @Optional nedefinujeme nad definicí zkušební metody, ale vedle toho, kde je metoda deklarována. Následně následující úryvek kódu demonstruje deklaraci volitelných parametrů v TestNG:

další informace o tom, jak implementovat volitelné parametry v TestNG?

napište kód vyříznutý pro předávání hodnot 1 a 2 parametrům val1 a val2 prostřednictvím souboru XML.

pro předání hodnot do parametrů v TestNG používáme <parametr> tag v souboru TestNG XML. Navíc obsahuje dva atributy:

  • název: Název proměnné parametru.
  • hodnota: hodnota, kterou chcete vložit do této proměnné.

sledujte následující soubor XML označující stejný koncept.

další informace o tom, jak předat parametry v TestNG prostřednictvím souboru XML?

TestNG skupiny

jaký je význam skupin v TestNG?

další důležité otázky týkající se testu jsou o jeho důležitosti.

skupiny jsou sběrem více metod zkušebního případu kombinovaných do jednoho celku. Seskupením můžeme pracovat přímo na skupinu, která se bude odrážet na všech metodách testovacích případů pod ní. Navíc v TestNG můžeme také vytvořit skupinu skupin jako větší jednotku testovacích metod.

další informace o tom, jak vytvořit skupinu skupin v TestNG?

jak definujete skupiny v TestNG?

odpověď na tyto otázky z testu je, že definujeme skupiny v testu předáním parametru „skupiny“ do anotace testu, přičemž hodnota je název skupiny. V níže uvedeném příkladu bude metoda testovacího případu pod skupinou s názvem „group1“.

@Test (groups = {„group1“})

//metoda testovacího případu

jak vyloučíte skupinu z cyklu provádění testu?

vyloučení skupiny v TestNG znamená, že tato konkrétní skupina se během provádění zdrží běhu a TestNG ji bude ignorovat. Název skupiny, kterou chceme vyloučit, je navíc definován v souboru XML následující syntaxí:

XHTML

1
2
3
4
5
6

<groups>
<run>
<exclude name = „demo“>
</exclude>
</run>
</groups>

další informace o tom, jak vyloučit skupiny v TestNG?

můžeme použít regulární výraz v testovacích skupinách? Napište demo soubor XML pro stejný.

Ano, regulární výrazy mohou být použity v TestNG ke spuštění skupiny, které mají nějaký typický vzor v jejich názvu. Například, pokud chci spustit všechny skupiny s názvem začínajícím od „abc“, pak mohu napsat regulární výraz jako abc.* v souboru XML.

demonstrace pro výše uvedený příklad je následující:

další informace o tom, jak používat regulární výraz ve skupinách TestNG?

TestNG tvrdí

co chápete tím, že tvrdí v TestNG?

aktivum je kus kódu, který nám pomáhá ověřit, zda očekávaný výsledek a skutečný výsledek jsou stejné nebo ne. V TestNG, využíváme vestavěnou třídu“ Assert “ a spoustu její metody k určení, zda testovací případ prošel nebo selhal. Navíc, v TestNG, testovací případ funguje jako „průchod“ , pokud žádná z metod assert nevyhodí výjimku během provádění. Syntaxe pro TestNG assert je:

Assert.Metoda (skutečná, očekávaná, zpráva) ;

další informace o TestNG asserts a jak je používat v TestNG?

popište všech pět běžných tvrzení TestNG.

pět běžných tvrzení TestNG je:

  • assertEqual(String actual,string expected)
  • assertEqual(String actual,String expected, String message)
  • asserttrue(condition)
  • assertTrue(condition,message)
  • assertFalse(condition)
  • assertfalse(stav, zpráva)

i když je třeba poznamenat, že Testerng poskytuje mnohem více tvrzení. Další informace o typech tvrzení v TestNG a jejich syntaxi.

jaké jsou různé typy assert v TestNG?

existují dva typy assert v TestNG:

  • Soft Asserts
  • Hard Asserts

Přečtěte si více o tom, co je soft a hard assert v TestNG?

Definujte soft asserts v TestNG a popište, jak se liší od hard assert.

měkké tvrzení v TestNG znamená, že provádění testů by se nezastavilo, i když tvrzení vyvolá výjimku mezi provedením. Kromě toho, TestNG nezahrnuje měkké tvrzení ve výchozím nastavení v TestNG, takže další org.testng.tvrdit.Je vyžadován import Softassert balíček.

měkké tvrzení se navíc liší od tvrdých tvrzení, protože tvrdé tvrzení zastaví provedení testovacího případu, jakmile selže první tvrzení a poskytne výsledky. Hard assert zahrnuje ve výchozím nastavení v TestNG.

další informace o tom, co jsou soft assert a jak je používat v TestNG?

TestNG závislé testy

co se rozumí závislostí v TestNG?

závislost v testu je proces, kdy jeden test závisí na druhém testu. Poskytnutím závislostí ve zkušebních metodách zajistíme, že zkušební metoda B bude spuštěna pouze tehdy, pokud zkušební metoda a běží (daná B závisí na a). Navíc v TestNG můžeme mít také jednu zkušební metodu závislou na více testech.

další informace o jednotlivých a více závislých testech v TestNG.

jak vytvořit závislosti v TestNG?

můžeme vytvořit závislé testy v TestNG poskytnutím parametru dependsonMethods na anotaci @Test. Hodnota atributu je název metody, na které chceme, aby tato metoda závisela. Použití této metody je následující:

zde byla metoda SignIn závislá na metodě OpenBrowser. Další informace o tom, jak vytvořit závislosti v TestNG?

jak vytvoříte závislost prostřednictvím souboru XML?

TestNG nám také umožňuje vytvářet závislosti mezi skupinami prostřednictvím souboru TestNG XML. Takové závislosti označují závislost jedné skupiny na druhé. Následující kód ukazuje, jak dosáhnout stejného cíle:

zde přihlašovací skupina závisí na skupině openbrowser. Další informace o tom, jak vytvořit skupinové závislosti v TestNG?

kdy používáme“ dependsOnGroups “ v TestNG?

TestNG nám dává svobodu, aby jeden test závisí na skupině testů. Když chceme provést takovým způsobem, použijeme atribut dependsOnGroups v souboru testovacích případů TestNG. Hodnota tohoto atributu je název skupiny, na které chceme, aby tato metoda závisela. Níže je uveden příklad prokazující totéž:

další informace o tom, jak používat dependsOnGroups v TestNG?

různé

jaký je význam „timeout“ v TestNG?

v TestNG je“ timeout “ parametr, který definuje maximální čas, který může metoda trvat pro provedení. Parametr timeout je užitečný, pokud je doba provádění během testování omezením, nebo tester chce přijmout opatření proti nekonečnému provádění testů. Parametr timeout můžeme deklarovat na:

  • úroveň suite: Chcete-li dát časové omezení na všechny metody v sadě.
  • úroveň metody: dát časové omezení na konkrétní metodu.

syntaxe:

@Test (timeout = 1000)

co znamená invocationCount in TestNG?

invocationCount je atribut, který definuje, kolikrát musí testovací metoda běžet v jednom provedení. Takže, pokud invocationCount nastaví jako 5, pak zkušební metoda by běžet pětkrát pokaždé, když jsem spustit test případ TestNG.

syntaxe pro invocationCount:

@Test (invocationCount = 5)

co se myslí paralelním provedením testu v TestNG?

paralelní provedení zkoušky znamená provádění různých zkušebních metod současně, tj. paralelně v TestNG. Toho je dosaženo vytvořením podprocesů a přiřazením těchto podprocesů různým testovacím metodám(což se provádí automaticky a je to práce operačního systému). Kromě toho je provádění testů paralelně spíše než postupně velmi efektivní.

Zjistěte více o tom, co je paralelní provedení testu v TestNG a jaké jsou jeho výhody?

na jakých úrovních můžeme použít paralelní testování v TestNG?

paralelní testování lze použít na čtyřech různých úrovních v TestNG:

  • metody: tím se spustí paralelní testy na všech @testovacích metodách v TestNG.
  • testy: všechny testovací případy přítomné uvnitř značky <test> poběží s touto hodnotou.
  • třídy: všechny testovací případy přítomné uvnitř tříd, které existují v XML, budou probíhat paralelně.
  • instance: tato hodnota spustí všechny testovací případy paralelně uvnitř stejné instance.

další informace o tom, jak spustit testy paralelně v TestNG na různých úrovních s příklady?

jak se provádí zpracování výjimek v TestNG?

provádíme zpracování výjimek v TestNG definováním výjimky na úrovni @test anotace. Pokud budeme postupovat takovým způsobem, zkušební případ nezklame ani po vznesení výjimky.

příklad:

@Test (expectedException = numberFormatException.třída)

tester může napsat jakýkoliv typ výjimky zde místo numberFormatException.

můžeme zakázat test v TestNG? Pokud ano, vysvětlete jak?

Ano, vypnutí testu lze dosáhnout v TestNG. Jakmile test zakážeme, nebude spuštěn v dalším prováděcím cyklu. Navíc toho dosáhneme pomocí atributu“ povoleno“.

syntaxe:

@Test (enabled = False)

/ / kód

další informace o tom, jak přeskočit testy pomocí parametru enabled v TestNG?

proč se třída reporter používá v TestNG?

třída reporter v TestNG zaznamenává zprávy definované testerem do zpráv generovaných TestNG. Tyto přihlášené zprávy se pak vytisknou do sestav, které můžeme sdílet s týmem.

další informace o tom, co je třída reportér v TestNG?

Definujte syntaxi pro generování protokolů prostřednictvím třídy reporter v TestNG.

Reporter class logs testerem definované zprávy na Zprávy generované TestNG. Navíc syntaxe pro stejný je následující:

Reporter.log („zpráva“);

další informace o tom, jak generovat protokoly s třídou Reporter v TestNG?

co je @ Factory anotace v TestNG?

potřeba spustit více testovacích případů v jednom testu stačí pomocí anotace @Factory. Název factory se podobá generování objektu testovací třídy, který je poskytován metodou pod ním. Navíc je podobná továrně vyrábějící produkt. Následující příklad ukazuje tovární anotaci v TestNG:

Poznámka: testovací metoda v části @Factory anotace vždy vrátí pole objektů.

jaký je rozdíl mezi anotacemi @Factory a @Dataprovider?

@Factory a @Dataprovider jsou dva typy anotací dostupných v TestNG, které vypadají podobně ve své práci, ale jsou odlišné.

@továrna: Použití tovární anotace je, když tester potřebuje provést zkušební metody vícekrát, které jsou přítomny ve stejné třídě. Navíc toho dosáhneme vytvořením různých instancí stejné třídy.

@Dataprovider: anotace dataprovider umožňuje testerovi několikrát spustit zkušební metodu pomocí jiné sady dat poskytnutých dataproviderem.

Zjistěte více o tom, co jsou dataprovidery a jejich použití v TestNG?

TestNG posluchači

co jsou posluchači v TestNG?

posluchači v TestNG jsou kus kódu, který poslouchá určité události a spustit kód spojený s touto událostí. Výsledkem je, že s posluchači TestNG můžeme změnit výchozí chování TestNG. Navíc v TestNG získává tester výhodu mnoha posluchačů, kteří mají různé funkce.

Zjistěte více o tom, co jsou posluchači TestNG a jejich typy?

jak jsou posluchači deklarováni v TestNG?

kód posluchače v TestNG existuje v samostatném souboru než soubor testovacího případu TestNG. Následně tento soubor obsahuje kód posluchače a typ posluchače, který má být implementován, se provádí „implementací“ třídy posluchače následujícím způsobem:

Java

1
2
3
4
5

public class ListenersTestNG implements ITestListener {
public void onStart(ITestContext context) {
System.out.println(„onStart method started“);
}
}

Chcete-li seznámit soubor testovacích případů TestNG o posluchači, deklarujeme anotaci @Listener a uvedeme název třídy listener následujícím způsobem:

další informace o tom, jak implementovat posluchače v TestNG?

co potřebujeme k vytvoření přizpůsobené sestavy v TestNG?

Toto je mezi mnoha dalšími otázkami, které jsou kladeny. Přizpůsobená zpráva v TestNG generuje pomocí posluchačů TestNG. Pomocí rozhraní ITestListener v TestNG, můžeme řídit události, jako je metoda start, metoda pass, fail, atd., a podle těchto událostí může tester zaznamenávat příslušné zprávy.

další informace o tom, co je ITestListener a jak jej používat v TestNG?

přesvědčivě to byly z mé strany běžné otázky na pohovor. Znovu, chtěl bych vás požádat, abyste nebyli zcela závislí na těchto testovacích otázkách a odkázali je, abyste získali znalosti o TestNG a jeho vlastnostech. Takže pokračujte v cvičení a vše nejlepší!!

Related Post