Articles

TestNG Preguntas de la Entrevista

Posted by admin

En este curso dedicado a TestNG, hemos tratado de cubrir todos los temas relacionados con la TestNG marco. Espero que los lectores hayan estado practicando pruebas con una mezcla de temas dedicados a este curso. Además, sobresalir en el marco de pruebas y mantener sus conceptos en las puntas lo ayudará a impulsar su carrera y agregar otra pluma en su sombrero. Además, también abrirá más puertas a oportunidades y experiencias en diferentes proyectos y empresas en su carrera profesional. Pero para aprovechar esas oportunidades, debe enfrentar un desafío más, es decir, una entrevista. Por lo tanto, cubriremos las preguntas de la entrevista de prueba en este artículo.

En consecuencia, para ayudar a nuestros compañeros de pruebas en los mismos aspectos, hemos preparado una lista de preguntas de entrevista de prueba disponibles en estos puestos, que se hacen popularmente en las entrevistas relacionadas con los puestos de Ingeniero de Pruebas o Ingeniero de Automatización. Sin embargo, lo que hay que recordar aquí es que aunque estas preguntas tocan todos los conceptos de las preguntas de la entrevista de prueba, el trabajo duro restante es la práctica.

Por lo tanto, le recomiendo que revise todos los temas y los practique a fondo, ya que no hay restricciones duras y rápidas sobre lo que un entrevistador puede preguntarle al entrevistado. Además, muchas de estas preguntas tomarán la referencia de Selenium junto con TestNG porque TestNG se usa bastante con el controlador web de Selenium. Por lo tanto, estas preguntas de entrevista de prueba son solo de referencia.

Las siguientes preguntas se han dividido en las partes secundarias para ayudarlo a recordar el concepto de una manera más clara.

Fundamentos de TestNG

¿Qué es el framework de TestNG?

TestNG framework es un framework de pruebas para realizar pruebas en el lenguaje de programación java. Además, el » NG «en TestNG abrevia «Next Generation».»Cedric Beust lo desarrolló e inspiró el marco de pruebas JUnit y NUnit. Posteriormente, puede aprender qué es el marco de pruebas en detalle, aquí.

¿Cómo se ejecuta el script de prueba?

El script de prueba se ejecuta haciendo clic con el botón derecho en la clase de prueba-> Ejecutar como- > Prueba de prueba. Posteriormente, Aprenda A Instalar TestNG En Eclipse E IntelliJ.

¿Cuáles son las ventajas de probar?

Una de las preguntas comunes de la entrevista de prueba es sobre las ventajas de la prueba.

TestNG tiene las siguientes ventajas:

  • En primer lugar, TestNG es capaz de producir informes automáticamente con toda la información necesaria, como pruebas fallidas, pruebas pasadas, tiempos de ejecución de pruebas, etc.
  • En segundo lugar, TestNG hace uso de anotaciones como @BeforeMethod, @Test, etc., que son fácilmente comprensibles ya que su nombre es después de su trabajo.
  • En tercer lugar, TestNG proporciona una agrupación de métodos mediante la cual podemos agrupar múltiples métodos como una unidad. En otras palabras, la agrupación realiza operaciones en todas las pruebas de un grupo a la vez en lugar de individualmente.
  • En cuarto lugar, TestNG proporciona una parametrización del método de prueba, lo que significa que podemos proporcionar parámetros en el TestNG y llamar a la función repetidamente con diferentes valores. Además, la parametrización ayuda en las pruebas basadas en datos en TestNG.
  • En quinto lugar, TestNG proporciona la priorización de métodos. En otras palabras, al definir las prioridades de los métodos en TestNG, podemos alterar la secuencia de ejecución predeterminada de los métodos de prueba de acuerdo con nuestro deseo.
  • Además de lo anterior, TestNG permite realizar pruebas en paralelo, lo que aumenta la eficiencia y mejora el tiempo de funcionamiento general de los métodos de prueba.
  • Con el framework TestNG, puede integrarse fácilmente con otras herramientas como Maven, Jenkins, etc.
  • Además, TestNG proporciona una función para ejecutar varios métodos de prueba en varios navegadores para comprobar si hay problemas de compatibilidad entre navegadores en su sitio web. Es una prueba entre navegadores.
  • Además, TestNG nos permite ejecutar las pruebas por separado. Por lo tanto, si ejecuta las pruebas y solo una prueba falló, puede ejecutar esta prueba de forma independiente en la siguiente ejecución.
  • Además, TestNG permite que los métodos de prueba dependan entre sí. También se llama Dependencia de Prueba en TestNG.
  • Por último, TestNG proporciona un montón de métodos de aserción para probar de manera más eficiente.

Posteriormente, puede obtener más información sobre los beneficios del marco de prueba aquí.

Estuche y suites de prueba de TestNG

¿Cuál es la diferencia entre una prueba de TestNG y una suite de pruebas de TestNG?

TestNG test suite se refiere a una colección de pruebas que podemos ejecutar simultáneamente con la ayuda del archivo XML TestNG. Por otro lado, una prueba de TestNG es un único archivo de caso de prueba, y cuando decimos «estamos ejecutando un caso de prueba de TestNG», simplemente queremos decir que estamos ejecutando un único archivo de caso de prueba.

Más información sobre TestNG Test Suite.

Defina el orden correcto de las etiquetas en el archivo XML de prueba.

El orden correcto seguido para ejecutar el conjunto de pruebas desde el archivo XML es el siguiente:

XHTML

1
2
3
4
5

<suite>
<prueba>
<clases>
<clase>
<métodos>

Las etiquetas de cierre no aparecen aquí como es justo con fines de demostración. Posteriormente, puede obtener más información sobre Cómo ejecutar conjuntos de pruebas a través de XML.

Anotaciones de TestNG

¿Cuáles son los tipos de anotaciones utilizadas en TestNG (En la secuencia de ejecución/jerarquía)?

Hay nueve tipos de anotaciones usadas en TestNG. En orden de su secuencia de ejecución, son los siguientes:

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

¿cuáles son las categorías de anotaciones en TestNG?

Las anotaciones de prueba se dividen en tres categorías:

  • Anotaciones de precondición: Las anotaciones de esta categoría se ejecutan antes de la prueba. Consta de las siguientes anotaciones:
    • @BeforeMethod
    • @BeforeClass
    • @BeforeSuite
    • @BeforeTest
  • Prueba de Anotaciones: Las anotaciones en esta categoría se definen justo antes de que los métodos de prueba. Además, consta de las siguientes anotaciones:
    • @Test
  • Anotaciones Postcondición: Las anotaciones de esta categoría se ejecutan después de los métodos de prueba. Además, consta de las siguientes anotaciones:
    • @AfterMethod
    • @AfterClass
    • @AfterTest
    • @AfterSuite

Posteriormente, usted puede aprender más sobre él aquí, Cómo utilizar TestNG anotaciones mediante el Selenio.

Informes de pruebas

¿Cuáles son los tipos de informes generados en pruebas de forma predeterminada?

TestNG genera dos tipos de informes por defecto una vez finalizada la ejecución de todos los métodos de prueba. Son:

  • Informes disponibles
  • Informes de índice

Posteriormente, puede obtener más información aquí, ¿Qué son los informes disponibles e indexados en TestNG?

¿Dónde se genera y guarda el informe disponible en TestNG?

Los informes disponibles se generan en la carpeta del proyecto y en la subcarpeta de salida de prueba. Este informe está disponible como » informe disponible.html » por defecto.

¿Dónde se genera y guarda el informe de índice en TestNG?

El informe de índice se genera en la carpeta del proyecto y en la subcarpeta de salida de prueba. Además, este informe está disponible como «índice».html » por defecto.

Posteriormente, puede obtener más información aquí, ¿Cómo ver y analizar informes en TestNG?

Prioridades de prueba

¿Cuáles son las prioridades en la prueba?

Priorities en TestNG es un parámetro que declara la prioridad a un método de prueba específico. TestNG utiliza el método de ejecución alfabética para ejecutar su método de prueba. A través de prioridades, podemos alterar la secuencia de ejecución de la prueba. Además, la prioridad se puede establecer como un valor entero y reducir este valor entero; mayor es la prioridad.

Posteriormente, puede obtener más información aquí, ¿cuáles son las prioridades en las pruebas?

¿Cómo establecerías prioridades en las pruebas?

La prioridad de TestNG se establece mediante la siguiente sintaxis:

@Test (priority = 1)

función de vacío público(){

//código de ensayo

}

Un ejemplo de priorización en TestNG puede ser el siguiente:

Posteriormente, puede obtener más información aquí, ¿Cómo establecer prioridades y secuenciación en TestNG?

¿Por qué creamos el archivo XML en TestNG?

Usamos el archivo XML en TestNG para muchos propósitos. El archivo XML de prueba nos ayuda:

  • Para ejecutar varias pruebas en una sola ejecución.
  • En segundo lugar, también nos ayuda a incluir y excluir los métodos y grupos de prueba.
  • En tercer lugar, también nos ayuda a agregar dependencias en grupos.
  • En cuarto lugar, ayuda a ejecutar los métodos de casos de prueba a través de parámetros.
  • Finalmente, ayuda en la ejecución de la prueba paralela.

Más información sobre Cómo incluir y excluir grupos en TestNG a través del archivo XML.

Parámetros de prueba

¿Qué es la parametrización en prueba?

En TestNG, la parametrización ejecuta un método de prueba varias veces con diferentes valores. Otro nombre para este proceso es testing basado en datos en TestNG. Podemos adquirir Parametrización en pruebas de dos maneras:

  • En primer lugar, podemos lograrlo a través del archivo XML.
  • En segundo lugar, podemos lograrlo a través de los proveedores de datos en TestNG.

Obtenga más información sobre cómo ejecutar pruebas parametrizadas en TestNG a través de XML y proveedores de datos.

¿Cuáles son los parámetros opcionales en TestNG?

Los parámetros opcionales funcionan de manera similar al caso predeterminado en la parametrización en TestNG. Usamos el parámetro opcional cuando no se define ningún otro parámetro para ese método de caso de prueba. Además, la anotación @Optional declara el parámetro opcional. No definimos el parámetro @Opcional por encima de la definición del método de prueba, sino junto a donde se declara el método. Posteriormente, el siguiente fragmento de código muestra la declaración de los parámetros opcionales en TestNG:

¿Más información sobre cómo implementar parámetros opcionales en TestNG?

Escriba el código recortado para pasar los valores 1 y 2 a los parámetros val1 y val2 a través del archivo XML.

Para pasar los valores a los parámetros en TestNG, usamos la etiqueta <parámetro> en el archivo XML de TestNG. Además, contiene dos atributos:

  • name: el nombre de la variable de parámetro.
  • valor: el valor a insertar en esa variable.

Observe el siguiente archivo XML que denota el mismo concepto.

Obtenga más información sobre Cómo pasar los parámetros en TestNG a través del archivo XML?

Grupos de prueba

¿Cuál es la importancia de los grupos en la prueba?

Otras preguntas importantes de la entrevista de prueba son sobre su importancia.Los grupos

son la colección de múltiples métodos de casos de prueba combinados en una sola unidad. Al agrupar, podemos operar directamente en el grupo, que se reflejará en todos los métodos de casos de prueba debajo de él. Además, en TestNG, también podemos crear un grupo de grupos como una unidad más grande de métodos de prueba.

Más información sobre Cómo crear un grupo de grupos en TestNG?

¿Cómo se definen los grupos en TestNG?

La respuesta a tales preguntas de entrevista de prueba es que definimos los Grupos en TestNG pasando el parámetro «grupos» a la anotación de prueba con el valor que es el nombre del grupo. En el siguiente ejemplo, el método de caso de prueba estará bajo el grupo llamado «group1».

@Test (groups = {«group1»})

//método del caso de prueba

¿Cómo excluir un grupo del ciclo de ejecución de la prueba?

Excluir un grupo en TestNG denota que este grupo en particular se abstiene de ejecutarse durante la ejecución, y TestNG lo ignorará. Además, el nombre del grupo que queremos excluir se define en el archivo XML mediante la siguiente sintaxis:

XHTML

1
2
3
4
5
6

<groups>
<run>
<exclude name = «demo»>
</exclude>
</run>
</groups>

más información sobre Cómo excluir grupos en TestNG?

¿Podemos usar expresiones regulares en grupos de prueba? Escriba un archivo XML de demostración para el mismo.

Sí, se pueden usar expresiones regulares en TestNG para ejecutar los grupos que tienen algún patrón típico en su nombre. Por ejemplo, si quiero ejecutar todos los grupos con un nombre que comience por «abc», entonces puedo escribir la expresión regular como abc.* en el archivo XML.

Una demostración del ejemplo anterior es la siguiente:

¿Más información sobre cómo usar expresiones regulares en grupos de prueba?

TestNG Asserts

¿Qué entiende por asserts en TestNG?

Un activo es un fragmento de código que nos ayuda a verificar si el resultado esperado y el resultado real son iguales o no. En TestNG, aprovechamos la clase «Assert» incorporada y gran parte de su método para determinar si el caso de prueba pasó o falló. Además, en TestNG, un caso de prueba actúa como un» pase » si ninguno de los métodos assert lanza una excepción durante la ejecución. La sintaxis para TestNG assert es:

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

Obtenga más información sobre los asertivos de prueba y Cómo usarlos en pruebas?

Describa cinco aserciones de prueba comunes.

Las cinco aserciones de prueba comunes son:

  • assertEqual(Cadena real,Cadena de espera)
  • assertEqual(Cadena real,Cadena de espera, String mensaje)
  • assertEquals(booleano real,boolean espera)
  • assertTrue(condición)
  • assertTrue(condición, mensaje)
  • assertFalse(condición)
  • assertFalse(condición, mensaje)

Aunque cabe señalar que hay muchas más afirmaciones proporcionadas por TestNG. Obtenga más información sobre los tipos de aserciones en TestNG y su sintaxis.

¿Cuáles son los diferentes tipos de assert en TestNG?

Hay dos tipos de assert en TestNG:

  • Aserciones suaves
  • Aserciones duras

Obtenga más información sobre Qué es aserciones suaves y duras en TestNG?

Defina aserciones suaves en TestNG y describa cómo son diferentes de las aserciones duras.

Soft asserts en TestNG significa que la ejecución de las pruebas no se detendría a pesar de que la aserción arroja una excepción entre la ejecución. Además de esto, TestNG no incluye aserciones suaves de forma predeterminada en TestNG, por lo que es una organización adicional.probando.afirmar.Se requiere la importación de paquetes Softassert.

Además, las aserciones suaves son diferentes de las aserciones duras, ya que las aserciones duras detienen la ejecución del caso de prueba tan pronto como la primera aserción falla y proporciona los resultados. Hard assert incluye de forma predeterminada en TestNG.

Obtenga más información sobre Qué son soft assert y cómo usarlos en pruebas?

TestNG Pruebas dependientes

¿Qué se entiende por dependencia en TestNG?

La dependencia en TestNG es un proceso de hacer que una prueba dependa de la otra. Al proporcionar dependencias en los métodos de prueba, aseguramos que un método de prueba B solo se ejecutará si se ejecuta el método de prueba A (dado que B depende de A). Además, en TestNG, también podemos tener un método de prueba dependiente de múltiples pruebas.

Obtenga más información sobre las pruebas dependientes simples y múltiples en TestNG.

¿Cómo se crean dependencias en TestNG?

Podemos crear las pruebas dependientes en TestNG proporcionando el parámetro dependsonMethods en la anotación @ Test. El valor del atributo es el nombre del método que queremos que este método dependen. El uso de este método es el siguiente:

Aquí, el método SignIn se ha hecho dependiente del método OpenBrowser. Más información sobre Cómo crear dependencias en TestNG?

¿Cómo se crea una dependencia a través del archivo XML?

TestNG también nos permite crear dependencias entre grupos a través del archivo XML TestNG. Tales dependencias denotan la dependencia de un grupo sobre otro. El siguiente código muestra cómo lograr el mismo objetivo:

Aquí, el grupo de inicio de sesión depende del grupo openbrowser. Más información sobre Cómo crear dependencias de grupo en TestNG?

¿Cuándo usamos «dependsOnGroups» en TestNG?

TestNG nos da la libertad de hacer que una sola prueba dependa de un grupo de pruebas. Cuando queremos ejecutar de esta manera, usamos el atributo dependsOnGroups en el archivo de caso de prueba TestNG. El valor de este atributo es el nombre del grupo del que queremos que dependa este método. A continuación se muestra un ejemplo que demuestra lo mismo:

Más información sobre Cómo usar dependsOnGroups en TestNG?

Varios

¿Cuál es el significado de «tiempo de espera» en pruebas?

En TestNG, «timeout» es un parámetro que define el tiempo máximo que un método puede tardar en ejecutarse. El parámetro de tiempo de espera es útil si el tiempo de ejecución es una restricción durante las pruebas, o si el probador quiere tomar precauciones contra la ejecución interminable de pruebas. Podemos declarar el parámetro de tiempo de espera en:

  • nivel de suite: Para poner una restricción de tiempo en todos los métodos de la suite.
  • nivel de método: Para poner la restricción de tiempo en un método en particular.

Sintaxis:

@Test (tiempo de espera = 1000)

¿Qué se entiende por invocationCount en TestNG?

El invocationCount es un atributo que define el número de veces que un método de prueba debe ejecutarse en una sola ejecución. Por lo tanto, si el invocationCount se establece como 5, entonces el método de prueba se ejecutaría cinco veces cada vez que ejecute el caso de prueba TestNG.

Sintaxis para invocationCount:

@Test (invocationCount = 5)

¿Qué se entiende por ejecución de pruebas paralelas en TestNG?

La ejecución de prueba en paralelo significa ejecutar diferentes métodos de prueba simultáneamente, es decir, en paralelo en la prueba. Se logra creando subprocesos y asignándolos a diferentes métodos de prueba (lo que se hace automáticamente y es el trabajo de un sistema operativo). Además, ejecutar las pruebas de forma paralela en lugar de secuencial es muy eficiente.

Obtenga más información sobre Qué es la ejecución de pruebas paralelas en TestNG y cuáles son sus ventajas?

¿En qué niveles podemos aplicar pruebas paralelas en TestNG?

Las pruebas paralelas se pueden aplicar en cuatro niveles diferentes de prueba:

  • Métodos: Esto ejecutará las pruebas paralelas en todos los métodos @Test en TestNG.Pruebas
  • : Todos los casos de prueba presentes dentro de la etiqueta <test> se ejecutarán con este valor.Clases
  • : Todos los casos de prueba presentes dentro de las clases que existen en el XML se ejecutarán en paralelo.Instancias
  • : Este valor ejecutará todos los casos de prueba en paralelo dentro de la misma instancia.

Obtenga más información sobre Cómo ejecutar pruebas en paralelo en TestNG a diferentes niveles con ejemplos?

¿Cómo se realiza el manejo de excepciones en TestNG?

Realizamos el manejo de excepciones en TestNG definiendo la excepción en el nivel de anotación @ Test. Si procedemos de esta manera, el caso de prueba no fallará incluso después de plantear una excepción.

Ejemplo:

@Test (ExpectedException = NumberFormatException.class)

Un probador puede escribir cualquier tipo de excepción aquí en lugar de NumberFormatException.

¿Podemos desactivar una prueba en TestNG? Si es así, ¿explicar cómo?

Sí, se puede desactivar una prueba en TestNG. Una vez que deshabilitamos una prueba, no se ejecutará en el siguiente ciclo de ejecución. Además, logramos esto usando el atributo «enabled».

Sintaxis:

@Test (habilitado = Falso)

//código

Obtenga más información sobre Cómo omitir pruebas utilizando el parámetro habilitado en TestNG?

¿Por qué se utiliza la clase reporter en TestNG?

La clase reporter en TestNG registra los mensajes definidos por el probador en los informes generados por TestNG. Estos mensajes registrados se imprimen en los informes, que podemos compartir con el equipo.

Más información sobre Qué es una clase de reportero en TestNG?

Defina la sintaxis para generar registros a través de la clase reporter en TestNG.

La clase Reporter registra los mensajes definidos por el probador en los informes generados por TestNG. Además, la sintaxis para el mismo es la siguiente:

Reporter.log («mensaje»);

Más información sobre Cómo generar registros con la clase Reporter en TestNG?

¿Qué es la anotación @ Factory en TestNG?

La necesidad de ejecutar varios casos de prueba en una sola prueba basta con usar la anotación @Factory. El nombre factory se asemeja a la generación de objetos de clase de prueba que proporciona el método debajo de él. Además, es similar a una fábrica que produce un producto. El siguiente ejemplo muestra una anotación de fábrica en TestNG:

Nota: El método de prueba en @ anotación de fábrica siempre devuelve una matriz de objetos.

¿Cuál es la diferencia entre las anotaciones @Factory y @Dataprovider?

@Factory y @Dataprovider son dos tipos de anotaciones disponibles en TestNG, que se ven similares en su funcionamiento pero son diferentes.

@Fábrica: El uso de la anotación de fábrica es cuando el probador necesita ejecutar los métodos de prueba varias veces, que están presentes en la misma clase. Además, lo logramos creando diferentes instancias de la misma clase.

@Dataprovider: La anotación del proveedor de datos permite al probador ejecutar un método de prueba varias veces utilizando un conjunto diferente de datos proporcionados por el proveedor de datos.

Obtenga más información sobre Qué son los proveedores de datos y su uso en pruebas?

Oyentes de prueba

¿Qué son los oyentes en la prueba?

Los oyentes en TestNG son la pieza de código que escucha ciertos eventos y ejecuta el código asociado a ese evento. Como resultado, con los oyentes TestNG, podemos cambiar el comportamiento predeterminado de TestNG. Además, en TestNG, el probador obtiene el beneficio de muchos oyentes que tienen diferentes funcionalidades.

Obtenga más información sobre Qué son los oyentes de prueba y sus tipos?

¿Cómo se declaran los oyentes en TestNG?

El código de escucha en TestNG existe en un archivo separado del archivo de caso de prueba TestNG. Posteriormente, este archivo contiene el código de escucha y el tipo de escucha a implementar se realiza «implementando» la clase de escucha de la siguiente manera:

Java

1
2
3
4
5

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

Para informar al archivo de caso de prueba TestNG sobre el oyente, declaramos la anotación @Oyente y mencionamos el nombre de la clase del oyente de la siguiente manera:

¿Más información sobre cómo implementar oyentes en TestNG?

¿Qué necesitamos para generar un informe personalizado en TestNG?

Esta es una de muchas otras preguntas de entrevista de prueba que se hacen. Se genera un informe personalizado en TestNG con la ayuda de oyentes de TestNG. Usando la interfaz ITestListener en TestNG, podemos controlar los eventos como el inicio del método, el paso del método, el error, etc., y de acuerdo con estos eventos, un probador puede registrar los mensajes apropiados.

Obtenga más información sobre Qué es ITestListener y cómo usarlo en pruebas?

Concluyentemente, estas fueron las preguntas comunes de la entrevista de prueba de mi lado. Una vez más, le pediría que no dependiera completamente de estas preguntas de la entrevista de prueba y las remitiera para obtener conocimientos sobre las pruebas y sus características. Así que, ¡sigue practicando y todo lo mejor!!

Related Post

Leave A Comment