As 19 principais perguntas e respostas da entrevista TestNG (2025)
Aqui estão as perguntas e respostas da entrevista do TestNG para calouros e também para candidatos experientes para conseguir o emprego dos sonhos.
1) O que é TestNG?
TestNG é um framework de testes automatizado de código aberto. Baseia-se no framework JUnit, mas não é uma extensão do JUnit.
Download gratuito de PDF: Perguntas da entrevista do TestNG
2) Quais são os recursos do TestNG?
Os recursos do TestNG incluem
- TestNG usa mais recursos OO (orientado a objetos) e Java
- Suporta testes de classes integradas
- Diferentes anotações são suportadas
- Separe o código de teste em tempo de compilação das informações de dados/configuração em tempo de execução
- A configuração em tempo de execução é flexível
- Plug-in flexível API
- Para maior flexibilidade, incorpora BeanShell
- Suporte para teste de selênio multithread
- Suporta testes paralelos, testes de carga, falha parcial, métodos de teste dependentes
- Após a compilação do teste, uma solicitação pode ser feita ao TestNG para executar todos os testes “front-end” ou “lentos”, “rápidos”, “bancos de dados”,
- Para a mesma classe de teste, suporte TestNG para múltiplas instâncias
- Para registro, sem dependências, funções JDK padrão para registro e tempo de execução
3) Liste as vantagens do TestNG sobre o Junit?
As vantagens do TestNG sobre o JUnit incluem
- Compare com as anotações JUnit, TestNG são fáceis de entender
- Ao contrário do JUnit, TestNG não exige declarar @Before Class e @After Class
- A restrição do nome do método não existe no TestNG
- TestNG permite agrupar facilmente casos de teste, o que não é possível no JUnit
- TestNG suporta as três configurações adicionais a seguir: @Before/After Suite, @Before/After Test e @Before/After Group
- TestNG não precisa estender nenhuma classe
- No TestNG, é possível executar casos de teste do driver web Selenium em paralelo
- Baseado no grupo TestNG permite executar os casos de teste
- TestNG permite determinar os casos de teste dependentes; cada caso de teste é autônomo em relação a outro caso de teste
4) Quais são as etapas básicas necessárias para escrever testes TestNG?
As etapas básicas necessárias para escrever TestNG incluem
- Anote a lógica de negócios do seu teste e insira anotações TestNG em seu código
- Em uma construção.xml ou testando.xml, adicione as informações sobre seu teste
- Execute o TesteNG
5) Liste várias maneiras pelas quais o TestNG pode ser invocado.
TestNG pode ser invocado de diferentes maneiras, como
- utilização Eclipse
- Com formiga
- Da linha de comando
- Usando a IDEIA do IntelliJ
6) Explique o uso do arquivo testng.xml
O arquivo testing.xml captura todos os seus testes em XML. Este arquivo facilita a definição de todo o seu conjunto de testes e seus parâmetros em um arquivo, que você pode verificar em seu repositório de código ou enviar por e-mail para colegas de trabalho. Também facilita a extração de subconjuntos de seus testes ou a divisão de várias configurações de tempo de execução.
7) No TestNG como você pode desabilitar um teste?
Para desabilitar o caso de teste que você não deseja, você pode usar anotações @Test(enabled = false).
8) O que é o teste Time-Out no TestNG?
O teste Time-Out no TestNG nada mais é do que o tempo alocado para realizar testes unitários. Se o teste de unidade não terminar nesse limite de tempo específico, o TestNG abandonará os testes de software adicionais e o marcará como uma falha.
9) Explique o teste de exceção
O TestNG oferece a opção de rastrear o tratamento de exceções do código. Você pode testar se um código gera os resultados esperados ou não. O parâmetro "Exceções esperadas" é disponibilizado junto com a anotação @Test.
10) O que o “teste de suíte” faz no TestNG?
O "Suite Test" é usado quando você precisa executar vários testes unitários juntos. O "Suite Test" agrupa esses testes unitários. Um arquivo XML é usado para executar o teste do conjunto.
11) O que é teste parametrizado?
Testes parametrizados permitem que os desenvolvedores executem o mesmo teste repetidamente usando valores diferentes. De duas maneiras diferentes, o TestNG permite que você passe parâmetros diretamente para seus métodos de teste.
- Com teste.xml
- Com provedores de dados
12) Como você pode executar os testes JUnit usando TestNG?
Você pode executar os testes JUnit usando TestNG por
- Colocar a biblioteca JUnit no caminho de classe TestNG para que ela possa localizar e usar classes JUnit
- Mude seu executor de teste de JUnit para TestNG no Ant e execute TestNG em “modo misto”. Isso trará todos os seus testes no mesmo
Essa abordagem também permite converter seu teste JUnit existente em TestNG.
13) O que @Test(invocationCount=?) e (threadPoolSize=?) indica?
- @Teste (threadPoolSize=?): Os atributos threadPoolSize dizem ao TestNG para formar um pool de threads para executar o método de teste por meio de vários threads. Com um pool de threads, o tempo de execução do método de teste é bastante reduzido.
- @Test(invocaçãoCount=?): A contagem de invocações informa quantas vezes o TestNG deve executar este método de teste
14) Quais são as diferentes maneiras pelas quais você pode produzir relatórios para os resultados do TestNG?
Existem duas maneiras de produzir um relatório com o Test NG:
- Ouvintes: Para que uma classe ouvinte seja implementada, a classe deve implementar a interface org.testng./TestListener. Essas classes são informadas em tempo de execução pelo TestNG quando o teste começa, termina, pula, passa ou falha.
- Repórteres: Para que uma classe de relatório seja implementada, a classe deve implementar uma interface org.testng/Reporter. Quando toda a execução do conjunto termina, essas classes são chamadas. Quando chamado, o objeto que consiste nas informações de toda a execução do teste é entregue a esta classe.
15) O que é teste de grupo no TestNG?
Este é um novo recurso incluído no TestNG; ele permite distribuir métodos em porções apropriadas e agrupá-los. Com o teste de grupo, você pode não apenas declarar métodos que pertencem a grupos, mas também especificar grupos de teste que contêm outros grupos. Os grupos são determinados no seu arquivo testing.xml usando o teste de grupo.
16) Quais são as maneiras de permitir que o TestNG especifique dependências?
TestNG permite especificar dependências de duas maneiras
- Usando atributos dependeOnMethods em anotações @Test
- Usando atributos dependeOnGroups em anotações @Test
17) O que significa quando você precisa passar parâmetros usando provedores de dados no TestNG?
Quando você precisa passar parâmetros complexos ou parâmetros que devem ser criados em Java, nesse caso, os parâmetros podem ser passados usando provedores de dados. A anotação para o provedor de dados é @DataProvider. Esta anotação possui apenas um atributo de string se o nome não for declarado; o nome do provedor de dados assume automaticamente o nome do método por padrão. Um provedor de dados retorna um ordem de objetos.
18) Cite vários métodos para executar testes no TestNG?
Os testes no TestNG são executados usando a classe TestNG. Para executar testes no framework de testes TestNG, a classe é o principal ponto de entrada. Os usuários podem criar seu objeto TestNG e invocá-lo de diversas maneiras, como
- Em um testing.xml já existente
- Em um testing.xml sintético criado inteiramente em Java
- Definindo diretamente as classes de teste
19) Forneça um exemplo de código 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(); } }
Essas perguntas da entrevista também ajudarão em sua viva (oral)
Bom para se preparar para entrevistas
Na pergunta nº 6, você escreveu testing.xml em vez de testng.xml
Obrigado… isso está corrigido
A primeira linha da 3ª pergunta deve ser “Vantagens do TestNG sobre o JUnit inclui”.
Obrigado pelas perguntas.
Erro corrigido!
11) O que são testes paramétricos? Deveria ser O que é teste parametrizado?
Olá, obrigado por escrever. Ele é revisado e atualizado.