Está en la página 1de 9

Introducción

JMeter es un proyecto de Apache que puede ser utilizado como una herramienta de
prueba de carga para analizar y medir el desempeño de una variedad de servicios,
con énfasis en aplicaciones web. JMeter puede ser usado como una herramienta de
pruebas unitarias para conexiones de bases de datos con JDBC, FTP, LDAP,
Servicios web, JMS, HTTP y conexiones TCP (Transmission Control Protocol)
genéricas.

A veces se clasifica JMeter como herramienta de "generación de carga". JMeter


soporta aserciones para asegurar que los datos recibidos son correctos, por lo que es
una herramienta de realización de pruebas automáticas. JMeter es una herramienta
de testing cuyas funcionalidades se pueden resumir en tres:

a) Diseñar un testplan, esto es, generar un fichero. jmx


b) Ejecutar un testplan.
c) 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 interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user
interface), es un programa informático que actúa de interfaz de usuario, utilizando
un conjunto de imágenes y objetos gráficos para representar la información y acciones
disponibles en la interfaz.

Reseña Histórica:

Stefano Mazzocchi de la Apache Software Foundation fue el desarrollador original de


JMeter. Lo escribió principalmente para probar el rendimiento de Apache JServ (un
proyecto que desde entonces ha sido reemplazado por el proyecto Apache Tomcat).
Rediseñamos JMeter para mejorar la GUI y agregar capacidades de prueba funcional.

JMeter se convirtió en un proyecto Apache de nivel superior en noviembre de 2011,


lo que significa que tiene un Comité de gestión de proyectos y un sitio web dedicado.
Datos técnicos históricos

Licencia: Apache License 2.0

Escrito en: Java

Versiones estables: 5.1.1 / 13 de marzo de 2019; hace 5 meses

Desarrollador: Apache Software Foundation

Requerimientos: Para realizar pruebas de Carga con JMeter ante todo se debe de
tener en cuenta.

Hardware

PC de 1 GB o superior de RAM.

Software

Instalación de una máquina virtual de Java.

Sobre la Aplicación que se Somete a Pruebas:

Hardware
● Datos sobre la velocidad y la capacidad del servidor de la aplicación.
● Distancia del servidor al laboratorio de pruebas.

Software
● Datos de software de la aplicación.
● Tipo de conexión y velocidad.

Para Interpretar los Resultados:


● Cantidad de usuarios concurrentes que necesita soportar la aplicación.
● Tiempo de respuesta en situaciones de carga de una transacción.
● Tiempo de recuperación del sistema.
● Caso de prueba.

El proyecto debe realizar el caso de prueba donde describa los escenarios


significativos que serán sometidos a la prueba. Dígase camino básico a realizar para
llegar hasta esos escenarios.

El futuro:
Esperamos ver que las capacidades de JMeter se expandan rápidamente a medida
que los desarrolladores aprovechen su arquitectura conectable. El objetivo principal
de futuros desarrollos será:

a) Soporte de protocolo HTTP / 2


b) Posible retrabajo de la arquitectura central para introducir un grupo de
subprocesos o cambiar a un modelo asíncrono que nos permita aprovechar
async io
c) Mejoras en los protocolos de servicios web (REST / SOAP)
d) Mejoras en la implementación del protocolo JMS

Versiones de Jakarta JMeter

Versiones de Jakarta JMeter

Versión Fecha de Descripción


lanzamiento

1.0.2 9 de marzo de 2001 La primera en


archivo

10.253.65.65DRF 19 de marzo de 2008 Última versión


4

2.3RC3 11 de julio de 2007

2.3RC4 2 de septiembre de
2007

2.3 24 de septiembre de
2007

2.3.1 28 de noviembre de
2007

2.3.2 10 de junio de 2008

2.3.3 24 de mayo de 2009

2.3.4 21 de junio de 2009 Java 1.4+


2.4 14 de julio de 2010 Java 5+

2.5 17 de agosto de 2011 Java 5

2.5.1 3 de octubre de 2011 Java 5+

2.6 1 de febrero de 2012 Java 5+

2.7 27 de mayo de 2012 Java 5+

2.8 6 de octubre de 2012 Java 5+

2.9 28 de enero de 2013 Java 6+

2.10 21 de octubre de 2013 Java 6+

2.11 5 de enero de 2014 Java 6+

2.12 10 de noviembre de Java 6+


2014

2.13 14 de marzo de 2015 Java 6+

3.0 17 de mayo de 2016 Java 7+

3.0 19 de noviembre de Java 7+


2016

Características generales de Apache JMeter


● Una GUI amigable. Resulta fácil de utilizar y no lleva tiempo familiarizarse con
la interfaz del programa.
● Plataforma independiente. El programa es Java 100%, por lo tanto, puede
ejecutarse en múltiples plataformas.
● Multi-threading. JMeter permite el muestreo simultáneo de diferentes
funciones por un grupo de hilos diferente.
● El resultado de la prueba se puede visualizar en un formato diferente como
gráfico, tabla, árbol y archivo de registro.
● Altamente extensible. JMeter también admite complementos de visualización que
permiten ampliar nuestras pruebas.
● Estrategia de pruebas múltiples. JMeter admite muchas estrategias de prueba,
como la prueba de carga, las pruebas distribuidas y las pruebas funcionales.
● JMeter también permite la ejecución de pruebas distribuidas entre distintos
ordenadores, que actuarán como clientes.
● Simulación. Esta aplicación puede simular múltiples usuarios con subprocesos
simultáneos, crear una gran carga contra la aplicación web bajo prueba.
● Soporte de protocolo múltiple. No solo es compatible con las pruebas de
aplicaciones web, sino que también evalúa el rendimiento del servidor de la
base de datos. Todos los protocolos básicos como HTTP, JDBC, LDAP, SOAP,
JMS, FTP, TCP, etc … son compatibles con JMeter.
● Record & Playback registra la actividad del usuario en el navegador.
● Script Test. JMeter se puede integrar con Bean Shell & Selenium para pruebas
automatizadas.
● Licencia de código abierto. Este programa es totalmente gratuito. Si queremos
conocer el código fuente o más en profundidad las características de esta
aplicación, podemos consultar la página de GitHub del proyecto.
En todo proyecto de desarrollo software es muy importante la realización de planes
de pruebas que garanticen que se cumplen los requisitos funcionales de la aplicación.
Pero no todo el trabajo de un QA son las pruebas funcionales. Además de éstas,
existen otras que pueden marcar la calidad de una aplicación: de seguridad, de
usabilidad, de rendimiento.

Las pruebas de rendimiento son, desde la perspectiva más evidente, las que se
realizan para determinar lo rápido que un sistema realiza una tarea en unas
determinadas condiciones de trabajo.

¿Para qué sirven las pruebas de rendimiento?

Para alcanzar un buen nivel de rendimiento de un sistema es fundamental que las


pruebas comiencen en el inicio del desarrollo del software. Al igual que en las pruebas
funcionales, el coste de solucionar defectos se ve aumentado conforme más se tarde
en detectarlos.

Además, si queremos que los resultados sean lo más fiables posible, nuestro entorno
de pruebas debe ser lo más parecido posible al de producción, y no cruzarlo nunca
con el de desarrollo ni el de otras pruebas.

La pruebas de rendimiento sirven, entre otras cosas, para:

● Demostrar que el sistema cumple los criterios de rendimiento.


● Validar y verificar atributos de la calidad del sistema: escalabilidad, fiabilidad,
uso de los recursos.
● Comparar dos sistemas para saber cuál de ellos funciona mejor.
● Medir qué partes del sistema o de carga de trabajo provocan que el conjunto
rinda mal.

Tipos de prueba de rendimiento:

Prueba de Carga.- Éste es el tipo más sencillo de pruebas de rendimiento. Una


prueba de carga se realiza generalmente para observar el comportamiento de una
aplicación bajo una cantidad esperada de peticiones. Esta carga puede ser el número
esperado de usuarios concurrentes, utilizando la aplicación que realizan un número
específico de transacciones, durante el tiempo que dura la carga. Esta prueba puede
mostrar los tiempos de respuesta de todas las transacciones importantes de la
aplicación. Si también se monitorizan otros aspectos como la base de datos, el
servidor de aplicaciones, etc., entonces esta prueba puede mostrar el cuello de botella
en la aplicación.
Prueba de estrés.- Se utiliza normalmente para romper la aplicación. Se va doblando
el número de usuarios que se agregan a la aplicación y se ejecuta una prueba de
carga hasta que se rompe. Este tipo de prueba se realiza para determinar la solidez
de la aplicación en los momentos de carga extrema. Esto ayuda a los administradores
para determinar si la aplicación rendirá lo suficiente en caso de que la carga real
supere a la carga esperada.

Prueba de estabilidad (Soak Testing).- Normalmente se hace para determinar si la


aplicación puede aguantar una carga esperada continuada. Generalmente esta
prueba se realiza para determinar si hay alguna fuga de memoria en la aplicación.

Prueba De Pico (Spike Tessting).- La prueba de picos, como el nombre sugiere,


trata de observar el comportamiento del sistema variando el número de usuarios, tanto
cuando bajan como cuando tiene cambios drásticos en su carga. Esta prueba se
recomienda que sea realizada con un software automatizado que permita realizar
cambios en el número de usuarios mientras que los administradores llevan un registro
de los valores a ser monitorizados.

Metodología

Según Microsoft Developer Network, la metodología de las pruebas de rendimiento


consiste en las siguientes actividades:

1. Identificar el entorno de pruebas. Identificar el entorno físico de pruebas y el


entorno de producción, así como las herramientas y recursos de que dispone
el equipo de prueba. El entorno físico incluye hardware, software y
configuraciones de red. Tener desde el principio un profundo conocimiento de
todo el entorno de prueba permite diseños de pruebas más eficientes. Facilita
también la planificación y ayuda a identificar problemas en las pruebas en fases
tempranas del proyecto. En algunas situaciones, este proceso debe ser
revisado periódicamente durante todo el ciclo de vida del proyecto.

2. Identificar los criterios de aceptación de rendimiento. Determinar el tiempo de


respuesta, el rendimiento, la utilización de los recursos y los objetivos y
limitaciones. En general, el tiempo de respuesta concierne al usuario, el
rendimiento al negocio, y la utilización de los recursos al sistema. Identificar
cuáles serían criterios de éxito de rendimiento del proyecto para evaluar qué
combinación de la configuración da lugar a un funcionamiento óptimo.
3. Planificar y diseñar las pruebas. Identificar los principales escenarios,
determinar la variabilidad de los usuarios y la forma de simular esa variabilidad,
definir los datos de las pruebas y establecer las métricas a recoger. Consolidar
esta información en uno o más modelos de uso del sistema a implantar,
ejecutarlo y analizarlo.
4. Configurar el entorno de prueba. Preparar el entorno de prueba, las
herramientas y recursos necesarios para ejecutar cada una de las estrategias,
así como las características y componentes disponibles para la prueba.
Asegurarse de que el entorno de prueba se ha preparado para la
monitorización de los recursos según sea necesario.
5. Aplicar el diseño de la prueba. Desarrollar las pruebas de rendimiento de
acuerdo con el diseño del plan.
6. Ejecutar la prueba. Ejecutar y monitorizar las pruebas. Validar las pruebas, los
datos de las pruebas y recoger los resultados. Ejecutar pruebas válidas para
analizar, mientras se monitoriza la prueba y su entorno.
7. Analizar los resultados, realizar un informe y repetirlo. Consolidar y compartir
los resultados de la prueba. Analizar los datos, tanto individualmente como con
un equipo multidisciplinario. Volver a priorizar el resto de las pruebas y a
ejecutarlas en caso de ser necesario. Cuando todas las métricas estén dentro
de los límites aceptados, ninguno de los umbrales establecidos hayan sido
rebasados y toda la información deseada se ha reunido, las pruebas han
acabado para el escenario definido por la configuración.

Referencias Linkográficas:

Nikolas Bravo(5 nov. 2015),Pruebas de Carga & Stress: JMeter:


https://www.youtube.com/watch?v=CdH9Y3MQ33g

Methods & Tools Software Development Magazine(2010) Apache JMeter - Open


Source Functional and Load Testing Tool:
http://www.methodsandtools.com/tools/tools.php?jmeter

JUNTA DE ANDALUCÍA (01/03/2013),Introducción a JMeter: Conceptos Básicos:


http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/388#Interfaz_GU
I

Gustavo Terrera(2016), JMETER (I). PRIMEROS PASOS:


https://testingbaires.com/2011/10/23/jmeter-primeros-pasos/

programador novato(15 oct. 2017), 02.- Prueba de carga a una página con jmeter:
https://www.youtube.com/watch?v=T8mWjZmVQPU

Por Cecilio Álvarez Caule(24 abril, 2014) , “Introducción a JMeter y pruebas de


carga” : https://www.arquitecturajava.com/introduccion-jmeter-y-pruebas-de-carga/

Apache JMeter (2019), http://jmeter.apache.org/index.html (PAGINA OFICIAL)


ejemplo:https://sdos.es/blog/pruebas-de-rendimiento-con-jmeter-ejemplos-basicos

riptutorial(2019), APACHE JMETER:


https://riptutorial.com/Download/apache-jmeter-es.pdf

También podría gustarte