Jmeter: preguntas de la entrevista

Prepárate para tu entrevista de JMeter con nuestra completa lista de preguntas para la entrevista de JMeter. Estas preguntas son para principiantes y para los más experimentados.
1. ¿Qué son las pruebas de rendimiento?
Las pruebas de rendimiento son un tipo de prueba no funcional que evalúa el rendimiento de una aplicación bajo una carga esperada o superior. Se realiza antes de desplegar la aplicación en producción para garantizar que la aplicación no se bloquea y responde en un tiempo estándar/aceptable bajo una carga realista.
2. ¿Cuáles son los distintos tipos de técnicas de pruebas de rendimiento?
Los distintos tipos de pruebas de rendimiento son:

- Pruebas de carga: un tipo de prueba de rendimiento para medir el comportamiento de una aplicación bajo una carga prevista.
- Pruebas de estrés – Evaluar el comportamiento de una aplicación bajo cargas superiores al umbral de la aplicación o a las condiciones de carga máxima.
- Pruebas de resistencia – Probar una aplicación bajo una prueba de carga a largo plazo, normalmente utilizada para detectar fugas de memoria en una aplicación.
- Pruebas de picos – Evaluar el comportamiento de una aplicación cuando el número de usuarios aumenta repentinamente en comparación con lo normal.
- Pruebas de volumen – Pruebas de una aplicación con grandes cantidades de datos, por ejemplo, pruebas típicas con grandes registros de datos en una base de datos.
3. ¿Qué actividades se realizan durante las pruebas de rendimiento de cualquier aplicación?
Las actividades realizadas durante las pruebas de rendimiento son –
- Recopilación y análisis de los requisitos para las pruebas de rendimiento – En esta fase, se recopilan todos los detalles de la aplicación del cliente y otras partes interesadas en la aplicación.
- Selección de herramientas de prueba – Esta fase implica la selección de herramientas para las pruebas de rendimiento.
- Planificación de las pruebas de rendimiento: la fase de planificación de las pruebas incluye la planificación de todo el proceso de pruebas de rendimiento, la configuración de la infraestructura y el entorno, los escenarios de casos de uso que se van a guionizar, etc.
- Implementación de guiones de prueba – En esta fase, se crean guiones de prueba de rendimiento utilizando la herramienta seleccionada en las fases anteriores.
- Ejecutar la prueba de rendimiento – En esta fase, se ejecuta el script de prueba durante un tiempo predeterminado especificado en la fase de planificación.
- Análisis de los resultados de las pruebas – La fase de análisis de los resultados implica la consolidación de los resultados de las pruebas. Además, ayuda a determinar diversos atributos de rendimiento de la aplicación y a encontrar cuellos de botella de rendimiento.
4. ¿Qué es JMeter?
JMeter es una herramienta de pruebas de rendimiento de código abierto desarrollada en Java. Puede utilizarse para realizar pruebas de rendimiento de aplicaciones web, servicios web (tanto SOAP como Rest), servidor FTP, bases de datos, servidor LDAP, etc.
5. ¿Por qué debemos elegir JMeter para las pruebas de rendimiento?
Las ventajas de utilizar JMeter para las pruebas de rendimiento son:
- Se puede utilizar gratuitamente sin costes de licencia.
- Es de código abierto. En otras palabras, cada uno puede personalizarlo para su uso específico.
- Existe una buena comunidad de apoyo y tutoriales en línea para la herramienta JMeter.
- Admite pruebas de rendimiento de una amplia gama de aplicaciones. Por ejemplo, sitios web, servicios web FTP y bases de datos.
- Es fácil de aprender y utilizar.
6. Explica el funcionamiento interno de la herramienta JMeter.
JMeter simula la carga real del usuario creando múltiples hilos que ejecutan peticiones concurrentes al servidor de destino. A continuación, muestra el rendimiento del servidor en forma de tablas y gráficos.
7. ¿Simula JMeter un navegador real?
No, la herramienta JMeter no simula ni funciona como un navegador real. No puede renderizar la respuesta HTML como un navegador real.
8. ¿Cuáles son algunas de las características de JMeter?
Algunas de las características de JMeter son
- JMeter está basado 100% en Java. Por tanto, tiene todas las ventajas de las aplicaciones basadas en Java, como portabilidad, extensibilidad, robustez, etc.
- Tiene una función de grabación y reproducción que garantiza la creación fácil y rápida de guiones de prueba.
- JMeter proporciona varias escuchas para capturar y analizar los resultados de las pruebas, tanto en formato tabular como gráfico.
- Puede utilizarse para probar la carga de varios protocolos: HTTP, HTTPS, FTP, LDAP, TCP, etc.
9. ¿Cómo podemos grabar scripts de pruebas de rendimiento en JMeter?
JMeter tiene un registrador de secuencias de comandos de prueba HTTP(S) que podemos utilizar para realizar operaciones en el navegador, y las peticiones HTTP se registran en JMeter.
10. ¿Necesitamos aprender a codificar para crear scripts en JMeter?
La creación de scripts en JMeter es un poco diferente de la creación automatizada de scripts habitual. En la mayoría de los casos, el script se puede crear cargándolo o utilizando la interfaz de usuario de JMeter. A continuación se procede a la parametrización de las pruebas, la correlación y la configuración de los distintos parámetros de las pruebas.
Teniendo esto en cuenta, algunos escenarios requieren codificación, que puede hacerse utilizando scripts Beanshell.
11. JMeter se basa en Java. ¿Podemos utilizarlo para probar el rendimiento de aplicaciones implementadas en otras plataformas/lenguajes como .Net?
Sí, podemos utilizar JMeter para probar aplicaciones web creadas en otros lenguajes y plataformas.
12. ¿Qué tipo de aplicaciones se pueden probar con JMeter?
Los distintos tipos de aplicaciones que se pueden probar con JMeter son:
- Página web
- Servicios Web – REST y SOAP
- Bases de datos (JDBC)
- Scripts de shell
- FTP
- LDAP
- TCP
- SMTP, POP3, IMAP
13. Explica la parametrización en JMeter
La parametrización es el proceso de parametrizar la entrada del usuario u otras entradas de prueba. Para que se utilicen valores diferentes para los distintos usuarios e iteraciones del bucle. Por ejemplo, se puede crear un archivo CSV externo con varios inicios de sesión y luego pasarlo al script de la prueba de esfuerzo para recuperar diferentes inicios de sesión para cada iteración.
14. ¿Qué es la correlación?
La correlación es el aspecto más importante del scripting en JMeter. Implica recuperar datos dinámicos de solicitudes/invocaciones anteriores y pasarlos a solicitudes posteriores como parámetros. Por ejemplo, podemos recuperar valores de variables de sesión de una respuesta de solicitud con credenciales de inicio de sesión y luego pasar esos valores a solicitudes posteriores (y así procesar la sesión). [
15. ¿Qué es un Plan de Pruebas?
Un plan de pruebas en JMeter es un contenedor lógico que contiene todos los elementos de prueba que componen una prueba de rendimiento. Algunos de los distintos elementos del plan de pruebas son: grupo de hilos, muestreadores, temporizadores, aserciones, escuchadores, etc.
16. ¿Qué es Workbench?
El Workbench en JMeter es un área temporal para almacenar elementos de prueba. También incluye funciones no relacionadas con las pruebas, como un servidor proxy HTTP que puede configurarse para cargar secuencias de comandos a través del navegador en JMeter. Cualquier elemento colocado en el espacio de trabajo no se guardará cuando se guarde con el script del plan de pruebas JMX.
17. ¿Qué es un grupo de hilos en JMeter?
Un grupo de hilos es un elemento del plan de pruebas JMeter que representa a un grupo de usuarios virtuales que realizan un conjunto de operaciones.
18. ¿Qué es un fragmento de prueba en JMeter?
Un fragmento de prueba es un tipo especial de controlador en JMeter cuyo único propósito es proporcionar reutilización de código en un plan de pruebas. Es como un grupo de hilos. Sin embargo, no se ejecutará a menos que se haga referencia a él mediante Module Controller o Include_Controller.
Pregunta.19. ¿Qué es el periodo de reagrupación?
Al principio de una prueba de carga de la aplicación, en lugar de poner a todos los usuarios en servicio, aumentamos lentamente el número de usuarios para examinar su impacto en el rendimiento de la aplicación. En JMeter, el periodo de arranque define la cantidad de tiempo durante el cual todos los usuarios especificados alcanzarán el estado de arranque.
20. ¿Qué son los muestreadores en JMeter?
R: Los muestreadores de JMeter se utilizan para enviar distintos tipos de peticiones al servidor. Algunos de los muestreadores más utilizados son: solicitud HTTP, solicitud JDBC, solicitud SOAP-XML, solicitud JUnit, muestreador TCP, etc.
21. ¿Qué son los oyentes en JMeter? ¿Nombra algunos de los oyentes más utilizados?
Los receptores se utilizan para mostrar y almacenar los resultados de las pruebas, y también ayudan en el análisis tabular y gráfico de los resultados de las pruebas. Algunas de las escuchas más utilizadas son Informe agregado, Gráfico agregado, Gráfico de resultados, Ver árbol de resultados, etc.
22. ¿Qué es un archivo JTL en JMeter?
Los resultados de las pruebas en JMeter se almacenan como archivos JTL. JTL son las siglas de JMeter Test Logs.
23. ¿Cuáles son los diferentes temporizadores de JMeter?
Los temporizadores se utilizan para detener la ejecución de un hilo de prueba durante un tiempo predefinido. Además, estos temporizadores se utilizan para simular el tiempo de pensamiento de un usuario real. Los distintos tipos de temporizadores disponibles en JMeter son: temporizador constante, temporizador aleatorio gaussiano, temporizador aleatorio uniforme, temporizador de rendimiento constante, temporizador de sincronización, temporizador Beanshell, temporizador BSF, etc.
24. ¿Cuál es la diferencia entre un temporizador aleatorio gaussiano y un temporizador aleatorio de Poisson?
Tanto los temporizadores aleatorios :gaussianos como los de Poisson se utilizan para pausar la ejecución de una prueba durante un periodo de tiempo aleatorio, pero para cerrar un valor determinado. La diferencia entre ellos radica en sus algoritmos básicos de implementación para generar valores aleatorios.
25. ¿Qué es el Punto de Encuentro?
El punto de encuentro en JMeter se utiliza para realizar pruebas de pico. Se implementa utilizando un «temporizador de sincronización», esperando a que el número de usuarios activos alcance un determinado valor especificado durante la prueba de carga.
26. ¿Qué son las aserciones en JMeter? Explica las reclamaciones disponibles en JMeter.
Las aserciones en JMeter se utilizan para validar determinados valores en respuesta a las peticiones del Muestreador. Las aserciones más utilizadas son: aserción de respuesta, aserción de tamaño, aserción XML, aserción BeanShell, aserción HTML, aserción XPath, etc.
27. ¿Para qué sirven los elementos de Configuración?
Los elementos de Configuración se utilizan para personalizar los requisitos del muestreador, por ejemplo CSV Data Set Config se puede utilizar para parametrizar las peticiones del muestreador con valores obtenidos de un archivo CSV externo.
28. ¿Qué son los preprocesadores?
Los preprocesadores son elementos del plan de pruebas que se ejecutan antes de que se ejecute la petición del muestreador. Algunos preprocesadores utilizados habitualmente en JMeter son el preprocesador BeanShell, el analizador de enlaces HTML, el modificador de reescritura de URL HTTP, los parámetros de usuario RegEx, etc.
29. ¿Qué son los postprocesadores?
Los postprocesadores son elementos del plan de pruebas que se ejecutan después de que se ejecute la petición del muestreador. En general, los postprocesadores se utilizan para recuperar algunos valores de la respuesta del muestreador.
30. ¿Cuál es el orden de ejecución de los elementos del plan de pruebas JMeter?
El orden de ejecución de los elementos del plan de pruebas es el siguiente:
- Elementos de configuración
- Preprocesadores
- Temporizadores
- Muestreadores
- Postprocesadores
- Reclamaciones
- Oyentes
31. ¿Cómo podemos ejecutar JMeter en modo no-UI?
Un comando para ejecutar JMeter en modo no UI.
jmeter -n -t prueba.jmx -l prueba.jtl
Dónde
- n especifica que JMeter se ejecutará en modo no GUI
- -t para el archivo del script de prueba
- -l para el archivo jtl con los resultados de cada muestra
32. ¿Cómo podemos reducir los requisitos de recursos en JMeter?
Para aprovechar al máximo los recursos disponibles, y como práctica general, deberían incorporarse a las pruebas los siguientes procedimientos-.
- Para ejecutar los scripts, utiliza el modo no UI : jmeter -n -t prueba.jmx -l prueba.jtl
- Utiliza el menor número posible de oyentes en el plan de pruebas.
- Evita utilizar las escuchas «Ver árbol de resultados» o «Ver resultados en tabla» durante la prueba de esfuerzo. Utilízalos sólo durante la fase de scripting para depurar los scripts.
- En lugar de utilizar muchos muestreadores similares, utiliza el mismo muestreador en un bucle. Utiliza también variables (utilizando el Conjunto de Datos CSV) para cambiar las muestras.
- No utilices el modo funcional de JMeter mientras realizas pruebas de rendimiento.
- Utiliza la salida CSV en lugar de XML porque es mucho más fácil.
- Almacena sólo los datos que necesites.
- Utiliza el menor número posible de aserciones durante la prueba de esfuerzo.
33. ¿Qué es la línea del 90% en JMeter?
El informe de resumen de oyentes tiene la línea del 90% como una de las métricas. En el manual de Apache JMeter, la línea del 90% se describe como – «el 90% de las muestras no duraron más de este tiempo». De hecho, es el percentil 90 de los tiempos de respuesta de las muestras –
Percentil 90 = (90/100)*N+1/2, donde N es el número de muestras
Así, si hay 10 muestras, la línea del 90% será 9,5 o 9. Significa 9. en una lista ordenada de muestras (ordenadas por orden ascendente de sus tiempos de respuesta).
34. ¿Qué es la prueba de carga distribuida? ¿Cómo se puede conseguir en JMeter?
La prueba de carga distribuida es un proceso mediante el cual se pueden utilizar varios sistemas para simular la carga de un gran número de usuarios. La razón de utilizar varios sistemas para las pruebas de carga es la limitación de un solo sistema para generar un gran número de hilos (usuarios).
En JMeter, podemos realizar pruebas de carga distribuidas utilizando una configuración maestro-esclavo.
35. ¿Es posible ejecutar scripts Selenium en JMeter?
Sí, podemos ejecutar scripts Selenium Webdriver en JMeter utilizando el plugin WebDriver Set.