Вы находитесь на странице: 1из 12

“Año de la l ucha contra la corrup ción e impunidad”

UNIVERSIDAD NACIONAL
DE SAN MARTÍN - T
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

Escuela Académico Profesional de Ingeniería de Sistemas e Informática

Semestre Académico 2019-II

Tema: “Herramienta Tester : JMETER”

Docente: Ing. Injante Ore Richard Enrique

Estudiantes: Carlos Humberto Gonzalez Delgado 

Ronald Gustavo  Del Aguila Amasifuén

Jair Augusto Cóndor Silva

Denis Edgardo Espinoza García 

TARAPOTO - PERÚ

2019 

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.
JMeter

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.
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.

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 Java 6+


2013

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

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.

Las 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.

Вам также может понравиться