Articles

perguntas da entrevista TestNG

Posted by admin

neste curso dedicado ao TestNG, tentamos cobrir todos os tópicos relacionados à estrutura TestNG. Espero que os leitores tenham praticado TestNG com uma mistura de tópicos dedicados a este curso. Além disso, destacar-se na estrutura TestNG e manter seus conceitos nas dicas irá ajudá-lo a impulsionar sua carreira e adicionar outra pena em seu chapéu. Além disso, também abrirá mais portas para oportunidades e experiências em diferentes projetos e diferentes empresas em sua carreira profissional. Mas para aproveitar essas oportunidades, você precisa enfrentar mais um desafio, ou seja, uma entrevista. Portanto, abordaremos as perguntas da entrevista TestNG neste artigo.

consequentemente, para ajudar nossos colegas Testadores nos mesmos aspectos, preparamos uma lista de perguntas de entrevista TestNG disponíveis nesses posts, que são feitas popularmente nas entrevistas relacionadas a cargos de Engenheiro de teste ou engenheiro de automação. No entanto, a coisa a lembrar aqui é que, embora essas perguntas toquem todos os conceitos das perguntas da entrevista TestNG, o trabalho duro restante é a prática.Portanto, recomendo que você passe por todos os tópicos e os pratique completamente, pois não há restrições rígidas e rápidas sobre o que um entrevistador pode perguntar ao entrevistado. Além disso, muitas dessas perguntas levarão a referência de Selenium junto com TestNG porque TestNG é usado bastante com o driver da Web Selenium. Portanto, essas perguntas da entrevista TestNG são apenas para referência.

as perguntas abaixo foram divididas nas sub-partes para ajudá-lo a lembrar o conceito de uma forma mais clara.

Noções básicas de TestNG

Qual é a estrutura TestNG?

TestNG framework é uma estrutura de teste para realizar testes na linguagem de programação java. Além disso, o” NG “em TestNG abreviatura para” próxima geração.”Cedric Beust desenvolveu e inspirou-se no quadro de testes JUnit e NUnit. Posteriormente, você pode aprender o que é TestNG Framework em detalhes, aqui.

como você executa o script TestNG?

o script TestNG é executado com o botão direito do mouse na classe TestNG-> Executar como- > teste TestNG. Posteriormente, Aprenda Como instalar o TestNG no Eclipse e no IntelliJ.

quais são as vantagens do TestNG?

uma das perguntas comuns da entrevista TestNG é sobre as vantagens do TestNG.

TestNG tem as seguintes vantagens:

  • em Primeiro lugar, TestNG é capaz de produzir relatórios automaticamente com todas as informações necessárias, tais como falha de testes, testes passados, teste de tempos de execução, etc.
  • em segundo lugar, TestNG faz uso de anotações como @BeforeMethod, @Test, etc., que são facilmente compreensíveis como sua nomeação é depois de seu trabalho.
  • Em Terceiro Lugar, TestNG fornece um agrupamento de métodos pelos quais podemos agrupar vários métodos como uma unidade. Em outras palavras, o agrupamento executa operações em todos os testes em um grupo de uma só vez, em vez de individualmente.Em quarto lugar, o TestNG fornece uma parametrização do método de teste, o que significa que podemos fornecer parâmetros no TestNG e chamar a função repetidamente com valores diferentes. Além disso, a parametrização ajuda em testes orientados por dados em TestNG.
  • em quinto lugar, TestNG fornece a priorização de métodos. Em outras palavras, definindo as prioridades dos métodos em TestNG, podemos alterar a sequência de execução padrão dos métodos de teste de acordo com nosso desejo.
  • além do acima exposto, TestNG permite testes paralelos, o que aumenta a eficiência e melhora o tempo geral de execução dos métodos de teste.
  • com a estrutura TestNG, você pode facilmente integrar com outras ferramentas, como Maven, Jenkins, etc.Além disso, TestNG fornece um recurso para executar vários métodos de teste em vários navegadores para testar problemAs de compatibilidade entre navegadores em seu site. É um teste cross-browser.
  • além disso, TestNG nos permite executar os testes separadamente. Então, se você executar os testes e apenas um teste falhou, você pode executar este teste de forma independente na próxima execução.
  • além disso, TestNG permite que os métodos de teste dependam uns dos outros. É também chamado de dependência de teste em TestNG.
  • por último, TestNG fornece um monte de métodos de afirmação para testar de forma mais eficiente.

posteriormente, você pode aprender mais sobre os benefícios da estrutura TestNG aqui.

TestNG Test Case and Suites

Qual é a diferença entre um TestNG test e um TestNG test suite?

TestNG test suite Refere-se a uma coleção de testes que podemos executar simultaneamente com a ajuda do arquivo XML TestNG. Por outro lado, um teste TestNG é um único arquivo de caso de teste e, quando dizemos “estamos executando um caso de teste TestNG”, simplesmente queremos dizer que estamos executando um único arquivo de caso de teste.

Saiba mais sobre o TestNG Test Suite.

defina a ordem correta das tags no arquivo XML TestNG.

a ordem correta seguida para executar o pacote TestNG do arquivo XML é a seguinte:

XHTML

1
2
3
4
5

<suite>
<teste>
<classes>
<classe>
<métodos>

O fechamento de marcas não aparecem aqui como ele é apenas para fins de demonstração. Posteriormente, você pode aprender mais sobre como executar TestNG suites através de XML?

anotações TestNG

quais são os tipos de anotações usadas em TestNG (na sequência de execução/hierarquia)?

existem nove tipos de anotações usadas no TestNG. Em ordem de sua sequência de execução, eles são os seguintes:

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

Quais são as categorias de anotações no TestNG?

as anotações TestNG dividem-se em três categorias:

  • anotações de pré-condição: as anotações nesta categoria são executadas antes do teste. Consiste nas seguintes anotações:
    • @BeforeMethod
    • @BeforeClass
    • @BeforeSuite
    • @BeforeTest
  • Teste de Anotações: anotações nesta categoria são definidos pouco antes de os métodos de teste. Além disso, consiste nas seguintes anotações:
    • @Test
  • anotações pós-condição: as anotações nesta categoria são executadas após os métodos de teste. Além disso, consiste nas seguintes anotações:
    • @AfterMethod
    • @AfterClass
    • @AfterTest
    • @AfterSuite

Posteriormente, você pode aprender mais sobre ele aqui, Como usar o TestNG anotações usando o Selênio.

relatórios TestNG

quais são os tipos de relatórios gerados no TestNG por padrão?

TestNG gera dois tipos de relatórios por padrão após a conclusão da execução de todos os métodos de teste. Eles são:

  • relatórios disponíveis
  • relatórios de índice

posteriormente, você pode aprender mais sobre isso aqui, o que são relatórios disponíveis e indexados no TestNG?

onde o relatório emailable é gerado e salvo no TestNG?

os relatórios Emailable geram sob a pasta do projeto e a subpasta test-output. Este relatório está disponível como ” emailable-report.html ” por padrão.

onde o relatório de índice é gerado e salvo no TestNG?

o relatório de índice gera na pasta do projeto e na subpasta test-output. Além disso, este relatório está disponível como ” índice.html ” por padrão.

posteriormente, você pode aprender mais sobre isso aqui, como visualizar e analisar relatórios no TestNG?

prioridades TestNG

quais são as prioridades no TestNG?

prioridades em TestNG é um parâmetro que declara a prioridade para um método de teste específico. TestNG usa o método de execução alfabética para executar seu método de teste. Por meio de prioridades, podemos alterar a sequência da execução do teste. Além disso, a prioridade pode ser definida como um valor inteiro e diminuir esse valor inteiro; maior é a prioridade.

posteriormente, você pode aprender mais sobre isso aqui, quais são as prioridades no TestNG?

como você definiria prioridades no TestNG?

TestNG prioridade é definida pela seguinte sintaxe:

@Test (priority = 1)

public void func(){

//testar o código

}

Um exemplo de priorização em TestNG pode ser da seguinte forma:

Posteriormente, você pode aprender mais sobre ele aqui, Como definir prioridades e seqüenciamento do TestNG?

por que criamos o arquivo XML no TestNG?

usamos o arquivo XML em TestNG para muitos fins. O arquivo XML TestNG nos ajuda:

  • para executar vários testes em uma única execução.
  • em segundo lugar, também nos ajuda a incluir e excluir os métodos e grupos de teste.
  • Em Terceiro Lugar, também nos ajuda a adicionar dependências em grupos.
  • em quarto lugar, ajuda a executar os métodos do caso de teste por meio de parâmetros.
  • finalmente, auxilia na execução da execução do teste paralelo.

Saiba mais sobre como incluir e excluir grupos no TestNG através do arquivo XML?

parâmetros TestNG

o que é parametrização no TestNG?

no TestNG, a parametrização executa um método de teste várias vezes com valores diferentes. Outro nome para esse processo é o teste orientado a dados no TestNG. Podemos adquirir parametrização em TestNG de duas maneiras:

  • em primeiro lugar, podemos alcançá-lo através do arquivo XML.
  • em segundo lugar, podemos alcançá-lo através dos dataproviders em TestNG.

Saiba mais sobre como executar testes parametrizados em TestNG por meio de XML e dataproviders.

quais são os parâmetros opcionais no TestNG?

parâmetros opcionais funcionam de forma semelhante ao caso padrão na parametrização em TestNG. Usamos o parâmetro opcional quando nenhum outro parâmetro é definido para esse método de caso de teste. Além disso, a anotação @Optional declara o parâmetro opcional. Não definimos o parâmetro @ Optional acima da definição do método de teste, mas ao lado de onde o método é declarado. Posteriormente, o seguinte trecho de código demonstra a declaração dos parâmetros opcionais em TestNG:

Saiba mais sobre como implementar parâmetros opcionais em TestNG?

escreva o código cortado para passar os valores 1 e 2 para os parâmetros val1 e val2 através do arquivo XML.

para passar os valores para os parâmetros em TestNG, usamos <parâmetro> tag no arquivo XML TestNG. Além disso, contém dois atributos:

  • nome: o nome da variável de parâmetro.
  • valor: o valor a ser inserido nessa variável.

Observe o seguinte arquivo XML denotando o mesmo conceito.

Saiba mais sobre como passar os parâmetros em TestNG através do arquivo XML?

grupos TestNG

Qual é a importância dos grupos no TestNG?

outras questões importantes da entrevista de TestNG são sobre sua importância.

os grupos são a coleção de vários métodos de caso de teste combinados em uma única unidade. Ao agrupar, podemos operar diretamente no grupo, o que refletirá sobre todos os métodos de caso de teste abaixo dele. Além disso, no TestNG, também podemos criar um grupo de grupos como uma unidade maior de métodos de teste.

Saiba mais sobre como criar um grupo de grupos no TestNG?

como você define grupos no TestNG?

a resposta a essas perguntas da entrevista TestNG é que definimos os grupos em TestNG passando o parâmetro “groups” para a anotação do teste, com o valor sendo o nome do grupo. No exemplo abaixo, o método do caso de teste estará sob o grupo chamado “group1”.

@Test (grupos ={“group1”})

//método do caso de teste

como você exclui um grupo do ciclo de execução do teste?

Excluindo um grupo em TestNG denota que este grupo específico se abstém de executar durante a execução, e TestNG irá ignorá-lo. Além disso, o nome do grupo que queremos excluir é definido no arquivo XML pela seguinte sintaxe:

XHTML

1
2
3
4
5
6

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

Saiba mais sobre como excluir grupos no TestNG?

podemos usar expressão regular em grupos TestNG? Escreva um arquivo XML de demonstração para o mesmo.

Sim, expressões regulares podem ser usadas em TestNG para executar os grupos que têm algum padrão típico em seu nome. Por exemplo, se eu quiser executar todos os grupos com um nome a partir de “abc”, então posso escrever a expressão regular como abc.* no arquivo XML.

uma demonstração para o acima dado um exemplo é a seguinte:

Saiba mais sobre como usar a expressão regular em grupos TestNG?

TestNG afirma

o que você entende por afirmações em TestNG?

um ativo é um pedaço de código que nos ajuda a verificar se o resultado esperado e o resultado real são iguais ou não. No TestNG, aproveitamos a classe “Assert” embutida e muito de seu método para determinar se o caso de teste passou ou falhou. Além disso, no TestNG, um caso de teste atua como um “passe” se nenhum dos métodos assert lançar uma exceção durante a execução. A sintaxe para TestNG assert é:

Assert.Método (real, esperado, mensagem);

Saiba mais sobre TestNG afirma e como usá-los em TestNG?

descrever quaisquer Cinco afirmações TestNG comuns.

as cinco afirmações comuns de TestNG são:

  • assertEqual(String real,Cadeia de caracteres esperado)
  • assertEqual(String real,Cadeia de caracteres esperado, String mensagem)
  • assertEquals(boolean real,boolean esperado)
  • assertTrue(condição)
  • assertTrue(condição, mensagem)
  • assertFalse(condição)
  • assertFalse(condição mensagem)

Embora deva ser notado que há muito mais declarações fornecidas pelo TestNG. Saiba mais sobre os tipos de asserções no TestNG e sua sintaxe.

quais são os diferentes tipos de assert no TestNG?

existem dois tipos de assert no TestNG:

  • Soft Asserts
  • Hard Asserts

Saiba mais sobre o que é soft and hard assert no TestNG?

Define soft asserts em TestNG e descreve como eles são diferentes de hard assert.

Soft afirma em TestNG significa que a execução dos testes não pararia, embora a afirmação lance uma exceção entre a execução. Além disso, o TestNG não inclui afirmações suaves por padrão no TestNG, portanto, uma organização extra.testng.afirmar.A importação do pacote Softassert é necessária.

além disso, Soft afirma são diferentes de hard afirma como o hard afirma parar a execução do caso de teste assim que a primeira afirmação falhar e fornece os resultados. Hard assert inclui por padrão em TestNG.

Saiba mais sobre o que são soft assert e como usá-los no TestNG?

TestNG testes dependentes

o que se entende por dependência em TestNG?

dependência em TestNG é um processo de tornar um teste dependente do outro teste. Ao fornecer dependências nos métodos de teste, garantimos que um método de teste B seria executado apenas se o método de teste A fosse executado (dado B depende de a). Além disso, no TestNG, também podemos ter um método de teste dependente de vários testes.

Saiba mais sobre testes dependentes únicos e múltiplos no TestNG.

como você cria dependências no TestNG?

podemos criar os testes dependentes em TestNG fornecendo o parâmetro dependsonMethods na anotação @ Test. O valor do atributo é o nome do método do qual queremos que esse método dependa. O uso deste método é o seguinte:

aqui, o método SignIn foi feito dependente do método OpenBrowser. Saiba mais sobre como criar dependências no TestNG?

como você cria dependência através do arquivo XML?

TestNG também nos permite criar dependências entre grupos através do arquivo XML TestNG. Tais dependências denotam a dependência de um grupo para outro. O código a seguir demonstra como atingir o mesmo objetivo:

aqui, o grupo de login depende do grupo openbrowser. Saiba mais sobre como criar dependências de grupo no TestNG?

quando usamos “dependsOnGroups” em TestNG?

TestNG nos dá a liberdade de fazer um único teste depender de um grupo de testes. Quando queremos executar de tal maneira, usamos o atributo dependsOnGroups no arquivo de caso de teste TestNG. O valor desse atributo é o nome do grupo do qual queremos que esse método dependa. Abaixo está um exemplo demonstrando o mesmo:

Saiba mais sobre como usar dependsOnGroups em TestNG?

diversos

Qual é o Significado de” tempo limite ” no TestNG?

em TestNG, “timeout” é um parâmetro que define o tempo máximo que um método pode levar para execução. O parâmetro timeout é útil se o tempo de execução for uma restrição durante o teste ou o testador quiser tomar precauções contra a execução interminável de testes. Podemos declarar o parâmetro timeout em:

  • nível da suíte: para colocar uma restrição de tempo em todos os métodos da suíte.
  • nível do método: para colocar a restrição de tempo em um método específico.

sintaxe:

@Test (timeout = 1000)

o que se entende por invocationCount em TestNG?

o invocationCount é um atributo que define o número de vezes que um método de teste tem que ser executado em uma única execução. Portanto, se o invocationCount for definido como 5, o método de teste será executado cinco vezes cada vez que eu executar o caso de teste TestNG.

sintaxe para invocationCount:

@Test (invocationCount = 5)

o que se entende por execução de teste paralelo em TestNG?

a execução do teste paralelo significa executar diferentes métodos de teste simultaneamente, ou seja, paralelamente ao TestNG. Isso é conseguido criando threads e atribuindo esses threads a diferentes métodos de teste (o que é feito automaticamente e é o trabalho de um sistema operacional). Além disso, executar os testes paralelamente, em vez de sequencialmente, é muito eficiente.

Saiba mais sobre o que é execução de teste paralelo no TestNG e quais são suas vantagens?

em que níveis podemos aplicar testes paralelos no TestNG?

testes paralelos podem ser aplicados em quatro níveis diferentes no TestNG:

  • Métodos: isso executará os testes paralelos em todos os métodos @Test em TestNG.
  • testes: todos os casos de teste presentes dentro da tag< test > serão executados com este valor.
  • Classes: todos os casos de teste presentes dentro das classes que existem no XML serão executados em paralelo.
  • instâncias: este valor executará todos os casos de teste paralelamente dentro da mesma instância.

Saiba mais sobre como executar testes paralelos no TestNG em diferentes níveis com exemplos?

como o tratamento de exceções é feito no TestNG?

realizamos o tratamento de exceções no TestNG definindo a exceção no nível de anotação @Test. Se procedermos de tal maneira, o caso de teste não falhará mesmo depois de criar uma exceção.

Exemplo:

@Test (expectedException = numberFormatException.classe)

um testador pode escrever qualquer tipo de exceção aqui em vez de numberFormatException.

podemos desativar um teste no TestNG? Em caso afirmativo, explique como?

sim, a desativação de um teste pode ser alcançada no TestNG. Depois de desativar um teste, ele não será executado no próximo ciclo de execução. Além disso, fazemos isso usando o atributo “ativado”.

sintaxe:

@Test (enabled = False)

//code

Saiba mais sobre como pular testes usando o parâmetro habilitado no TestNG?

por que a classe reporter é usada no TestNG?

a classe reporter no TestNG registra as mensagens definidas pelo testador nos relatórios gerados pelo TestNG. Essas mensagens registradas são impressas nos relatórios, que podemos compartilhar com a equipe.

Saiba mais sobre o que é uma classe repórter no TestNG?

defina a sintaxe para gerar logs por meio da classe reporter em TestNG.

Reporter class registra mensagens definidas pelo testador nos relatórios gerados pelo TestNG. Além disso, a sintaxe para o mesmo é a seguinte:

Reporter.log (“mensagem”);

Saiba mais sobre como gerar logs com a classe Reporter no TestNG?

o que é a anotação @Factory no TestNG?

a necessidade de executar vários casos de teste em um único teste é suficiente usando a anotação @Factory. O nome fábrica se assemelha à geração de objeto de classe de teste que é fornecido pelo método abaixo dele. Além disso, é semelhante a uma fábrica que produz um produto. O exemplo a seguir mostra uma anotação de fábrica em TestNG:

Nota: O método de teste em @ Factory annotation sempre retorna uma matriz de objetos.

Qual é a diferença entre as anotações @Factory e @Dataprovider?

@Factory e @ Dataprovider são dois tipos de anotações disponíveis no TestNG, que são semelhantes em seu trabalho, mas são diferentes.

@Fábrica: O uso da anotação de fábrica é quando o testador precisa executar os métodos de teste várias vezes, que estão presentes na mesma classe. Além disso, conseguimos isso criando diferentes instâncias da mesma classe.

@Dataprovider: a anotação dataprovider permite que o testador execute um método de teste várias vezes usando um conjunto diferente de dados fornecidos pelo dataprovider.

Saiba mais sobre o que são dataproviders e seu uso em TestNG?

TestNG ouvintes

o que são ouvintes em TestNG?

ouvintes em TestNG são o pedaço de código que escuta certos eventos e executa o código associado a esse evento. Como resultado, com TestNG listeners, podemos alterar o comportamento padrão do TestNG. Além disso, no TestNG, o testador obtém o benefício de muitos ouvintes que possuem funcionalidades diferentes.

Saiba mais sobre o que são TestNG ouvintes e seus tipos?

como os ouvintes são declarados no TestNG?

o código do ouvinte no TestNG existe em um arquivo separado do que o arquivo do caso de teste TestNG. Posteriormente, esse arquivo contém o código do ouvinte e o tipo de ouvinte a ser implementado é feito “implementando” a classe do ouvinte da seguinte maneira:

Java

1
2
3
4
5

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

informar o TestNG arquivo de caso de teste sobre o ouvinte, nós declaramos o @Ouvinte anotação e mencionar o ouvinte nome da classe da seguinte forma:

Saiba mais sobre Como implementar ouvintes TestNG?

o que precisamos para gerar um relatório personalizado no TestNG?

isso está entre muitas outras perguntas da entrevista TestNG que são feitas. Um relatório personalizado no TestNG gera com a ajuda de ouvintes TestNG. Usando a interface ITestListener em TestNG, podemos controlar os eventos, como início do método, passagem do método, falha, etc., e de acordo com esses eventos, um testador pode registrar mensagens apropriadas.

Saiba mais sobre o que é ITestListener e como usá-lo no TestNG?

conclusivamente, estas foram as perguntas comuns da entrevista TestNG do meu lado. Novamente, eu pediria que você não dependesse inteiramente dessas perguntas da entrevista TestNG e as encaminhasse para obter conhecimento sobre TestNG e seus recursos. Então, continue praticando e tudo de melhor!!

Related Post

Leave A Comment