¿Te gustaría aprender Bootcamp Pruebas de rendimiento web rest con jmeter?
Tenemos los cursos que necesitas.¡Haz clic aquí!
JMeter es una herramienta de testing cuyas funcionalidades se pueden resumir en tres:
- Diseñar un testplan, esto es, generar un fichero .jmx
- Ejecutar un testplan
- Ver de distintas formas los resultados de la ejecución de un testplan (vía listeners)
Para diseñar un testplan, JMeter dispone de una interfaz GUI a modo de diseñador, en la que el tester puede ir agregando componentes de manera visual, y ejecutar los componentes agregados, viendo el resultado. Una vez finalizado el diseño del testplan, la herramienta permite grabar este como un fichero .jmx.
La propia herramienta permite ejecutar un fichero .jmx previamente generado, vía línea de comandos o vía la propia interfaz GUI. La ejecución de un fichero .jmx realiza peticiones contra la aplicación objetivo a testear (peticiones del tipo que se hayan especificado al generar el fichero .jmx, JMeter dispone de la posibilidad de generar muchos tipos de peticiones: HTTP, FTP, LDAP, …). Para cada petición ejecutada, JMeter recopila ciertos datos. Además, en el fichero .jmx se puede especificar que número de usuarios de cada tipo ejecuta las peticiones contra la aplicación, es decir, el .jmx simula una o mas comunidades de usuarios (roles) trabajando contra la aplicación objetivo.
Los datos generados por la herramienta para cada petición se procesan o bien con un tipo de componente que proporciona la interfaz GUI llamados listeners, o bien con herramientas externas. Los listeners permiten ver los resultados de una o mas ejecuciones de múltiples maneras (cada listener de una manera).
Este manual es una introducción al uso de la herramienta JMeter. Explica los conceptos básicos que es necesario conocer para entender la herramienta, y las posibles formas de utilizar ésta.
Es adecuado tanto para personas con un perfil técnico sin conocimientos previos que deseen iniciarse en el uso de la herramienta, como para directores, jefes de proyecto y analistas que deseen conocer las posibilidades de la herramienta en la ejecución de tests.
Ventajas
JMeter es una herramienta ideal para realizar pruebas de rendimiento de aplicaciones web como:
- JMeter NO se comporta como un navegador.
- Con JMeter el tester trabaja a nivel de protocolos.
- Los tipos de aplicaciones que se pueden testear con JMeter dependen de los protocolos que implementen las interfaces de acceso a la aplicación.
Prerrequisitos e incompatibilidades de la tecnología
No se han descrito incompatibilidades.
Si se va a hacer un uso masivo de este herramienta, es importante conocer las posibilidades de la línea de comando y las propiedades de configuración para sacarle partido.
Relación con otros componentes y subsistemas
JMeter se utiliza principalmente en el subsistema de Verificación de MADEJA, para medir el rendimiento de una aplicación. Sin embargo, no es descartable su uso en otros subsistemas, principalmente el de Desarrollo y Entorno para la automatización de tareas.
En el subsistema de Verificación, JMeter tiene aplicación en las siguientes áreas y pautas:
- Area: Verificación de Entrega Software > Pauta: Realizar Pruebas Técnicas > Subpauta: Diseño de Pruebas Dinámicas. En el subsistema de VERIFICACIÓN, esta pauta establece que se deben especificar los escenarios de pruebas, y grabar los casos de prueba que se vayan a realizar posteriormente en las pruebas de rendimiento. El apartado «Grabación de un testplan» explica como se pueden grabar casos de prueba con esta herramienta.
- Area: Verificación y Ajustes en Entornos > Pauta: Realizar pruebas dinámicas. En este área, esta pauta establece que entre otros aspectos, «… se pretende verificar si el rendimiento de la aplicación es bueno ante situaciones de carga y estrés…«, y establece cuatro tipos de pruebas de rendimiento: rendimiento, estres, sostenidas y picos. La mayoría de los apartados de este documento son aplicables a esta pauta, pero especialmente «Ejecución de un testplan. Captura y procesamiento de la información» y «Medición del rendimiento. Conceptos estadísticos».
Existen algunas herramientas complementarias de JMeter para realizar determinadas tareas:
- Badboy©
Badboy© es una herramienta de Badboy Software©
Es una herramienta de testing de aplicaciones web, que funciona con Windows© e Internet Explorer©. Su filosofía consiste en ser un cliente de automatización de Internet Explorer© (utiliza el API de éste como motor de navegación).
Básicamente lo que hace la herramienta es grabar como un script (en un fichero con extensión .bb) la secuencia de navegacion por la web, que el usuario realiza con la propia herramienta. Una vez generado el fichero .bb, la misma secuencia de navegacion se puede volver a reproducir ejecutando el script .bb con la propia herramienta. La herramienta permite además modificar el script grabado introduciendo comprobaciones, condiciones, …
Badboy© utiliza su propio formato de fichero (los .bb internamemnte no tienen nada que ver con los .jmx), por lo que un script grabado con Badboy© no es ejecutable con JMeter. Sin embargo, Badboy© dispone de la funcionalidad de grabar en formato .jmx una secuencia de navegación capturada. Esto es lo que lo hizo popular entre los usuarios de JMeter.
Para grabar como .jmx un script de Badboy, basta seleccionar la opción File / Export to JMeter … en la interfaz GUI de Badboy©.
En la web de Badboy© (http://www.badboy.com.au/) puede obtener una distribución de la herramienta y acceder a su documentación online. - Firebug
Es un plug-in de Firefox: http://getfirebug.com/ . Permite inspeccionar fácilmente el código HTML y XML devuelto por la aplicación objetivo, en eñl proceso de implementación del testplan (fichero .jmx) - SoapUI
Es una herramienta GUI para probar servicios web de tipo SOAP: http://www.soapui.org/
Se utiliza para copiar las cadenas XML de peticiones SOAP y pegarlas en el testplan de JMeter, cuando este testea la interfaz SOAP de una aplicación objetivo. - Automatizar ejecuciones de JMeter vía ant / maven / Hudson.
Toda la interacción con JMeter se puede automatizar vía ant o maven, y con estos vía Hudson. Algunas referencias:- Plugin de maven para JMeter: http://wiki.apache.org/jakarta-jmeter/JMeterMavenPlugin
- Tarea de ant para Jmeter, que se incluye también en el directorio ${JMETER}/extras (ant-jmeter-1.0.9.jar) y build.xml de ejemplo: http://www.programmerplanet.org/pages/projects/jmeter-ant-task.php
- Plugin de Hudson para JMeter: http://wiki.hudson-ci.org/display/HUDSON/Performance+Plugin
- Generar un .html explicativo de un testplan (fichero .jmx).
Directorio ${JMETER}/extras: el script de ant schematic.xml permite aplicar la hoja de estilos schematic.xsl a un .jmx, para generar a partir de él un .html - Generar un .html explicativo de un fichero result sample.
Directorio ${JMETER}/extras: el script de ant build.xml tiene una tarea report que aplica la hoja de estilos jmeter-results-detail-report_21.xsl al .jtl que se genera en la ejecución. La propiedad jmeter.save.saveservice.xml_pi (ver jmeter.properties) permite añadir una instrucción de procesamiento al .jtl que genera JMeter, por ejemplo para aplicar una hoja de estilos al XML.
Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.
¿Te gustaría aprender Bootcamp Pruebas de rendimiento web rest con jmeter?
Tenemos los cursos que necesitas.¡Haz clic aquí!