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

UNIVERSIDAD PRIVADA TELESUP

FACULTAD DE INGENIERIA SISTEMAS E INFORMATICA

TRABAJO MONOGRÁFICO

PRUEBA DE STREES JMETER

CURSO:

Ingeniería de Software

AUTORES:

MENA CANO, Helar


ZETA NUÑEZ, Cristhian

DOCENTE:

LUIS GUEVARA, Matías

LIMA - 2019
PRUEBAS DE ESTRES

DEDICATORIA
Primeramente, a dios por haberme permitido
llegar hasta este punto y haberme dado
salud, ser el manantial de vida y darme lo
necesario para seguir adelante día a día para
lograr mis objetivos, además de su infinita
bondad y amor
AUTORES

pág. 2
PRUEBAS DE ESTRES

INDICE
DEDICATORIA ________________________________________________________________ 2
1 PRUEBAS DE ESTRÉS _______________________________________________________ 5
1.1 CONCEPTO ......................................................................................................................... 5
1.2 TIPOS DE PRUEBAS ............................................................................................................ 7
1.3 PRUEBA DE ESTRÉS DISTRIBUIDO:..................................................................................... 7
1.4 Pruebas de estrés transaccional........................................................................................ 8
1.5 Pruebas de estrés de aplicación ........................................................................................ 8
1.6 Pruebas de estrés exploratorio ......................................................................................... 8
1.7 Pruebas de estrés sistemático........................................................................................... 9
2 JMETER ________________________________________________________________ 10
2.1 Introducción a las pruebas de rendimiento JMETER ...................................................... 10
2.1.1 Pero que son las pruebas de rendimiento _____________________________ 10
2.1.2 Pruebas a verificar _______________________________________________ 10
2.1.3 porque necesitamos pruebas de rendimiento __________________________ 11
2.2 CARACTERISTICAS DE LA HERRAMIENTA JMETER ........................................................... 11
2.2.1 UNA GUI AMIGABLE ______________________________________________ 11
2.2.2 Plataforma independiente. ________________________________________ 11
2.2.3 Multi-threading. _________________________________________________ 11
2.2.4 El resultado de la prueba se puede visualizar. __________________________ 11
2.2.5 Altamente extensible. ____________________________________________ 12
2.2.6 Estrategia de pruebas múltiples. ____________________________________ 12
2.2.7 JMeter también permite la ejecución de pruebas _______________________ 12
2.2.8 Simulación. _____________________________________________________ 12
2.2.9 Soporte de protocolo múltiple. _____________________________________ 12
2.2.10 Récord & Playback _______________________________________________ 12
2.2.11 Script Test. _____________________________________________________ 12
2.2.12 Licencia de código abierto._________________________________________ 12
2.3 HERRAMIENTAS............................................................................................................... 12
2.3.1 HERRAMIENTAS DE PRUEBA _______________________________________ 12
2.3.2 Herramientas en Software Propietario _______________________________ 13
2.3.3 Comparativo en herramientas de software libre y software propietario. _____ 13
2.3.4 Beneficios de la herramienta _______________________________________ 14
2.3.5 A1QA Empresa que realiza pruebas de testing _________________________ 15
2.4 CASO PRACTICO PRIMERA PRUEBA ................................................................................ 17
LINKOGRAFIA _______________________________________________________________ 22

pág. 3
PRUEBAS DE ESTRES

INDICE DE IMAGENES
Ilustración 1 tipos de pruebas (Cristhian, 2019) ........................................................................................... 7
Ilustración 2prueba de estrés (Cristhian, 2019) ............................................................................................ 8
Ilustración 3 Características de herramientas JMETER (Helar , 2019) ........................................................ 11
Ilustración 4 Comparativo de Software Libre y Software Propietario (Helar , 2019).................................. 13
Ilustración 5 PAGINA INCIAL DE JMETER (Helar , 2019) ............................................................................. 17
Ilustración 6 ASIGNACION DE USUARI (Helar , 2019)OS ............................................................................. 17
Ilustración 7 PETICION HTTP (Helar , 2019) ................................................................................................ 18
Ilustración 8 GRAFICA SIN ERREROS (Helar , 2019) .................................................................................... 18
Ilustración 9 GRAFICO DE RESULTADO (Helar , 2019) ................................................................................ 19
Ilustración 10 RESULTADO EN ARBOL (Helar , 2019) .................................................................................. 19
Ilustración 11 RESULTADO DE 500 USUARIOS (Cristhian, 2019) ................................................................ 20
Ilustración 12 Gráfico de Resultados con errores de caída (Cristhian, 2019) ............................................. 20
Ilustración 13 Resultados de Árbol fallas en los últimos 7 usuarios (Helar , 2019) .................................... 21

pág. 4
PRUEBAS DE ESTRES

1 PRUEBAS DE ESTRÉS

1.1 CONCEPTO
La prueba de estrés es una técnica de simulación por computadora utilizada para probar
la resistencia de las instituciones y las carteras de inversión ante posibles situaciones
financieras futuras. Habitualmente tales pruebas son para ayudar a medir el riesgo de
inversión y la adecuación de los activos, así como para ayudar a evaluar los procesos y
controles internos. En los últimos años, los reguladores también han exigido a las
instituciones financieras que realicen pruebas de estrés para garantizar que sus tenencias
de capital y otros activos sean adecuados.

Estas pruebas de estrés son pruebas de resistencia que consisten en simulaciones hechas
sobre el papel acerca de la capacidad que tienen los bancos y entidades crediticias para
enfrentarse a una situación de deterioro general de la economía y a escenarios como el
del aumento del desempleo, el impago de los créditos y la devaluación de las inversiones.
Dichas situaciones traen consigo como consecuencia el recorte del volumen de negocio y
la aparición de pérdidas, especialmente en la cartera de crédito, pero también por el
deterioro de activos como los inmobiliarios.

Es una metodología en la que se asume que el modelo es eficiente y que los resultados
son confiables. Estas pruebas de estrés son pruebas de resistencia que consisten en
simulaciones hechas sobre el papel acerca de la capacidad que tienen los bancos y
entidades crediticias para enfrentarse a una situación de deterioro general de la economía
y a escenarios como el del aumento del desempleo, el impago de los créditos y la
devaluación de las inversiones. Dichas situaciones traen consigo como consecuencia el
recorte del volumen de negocio y la aparición de pérdidas, especialmente en la cartera de
crédito, pero también por el deterioro de activos como los inmobiliarios.

Lo clave es que los bancos puedan superar estos escenarios adversos con un mínimo nivel
de solvencia, lo cual se mide por medio del indicador Tier 1, lo cual podemos definir como
Nivel 1. Y este coeficiente lo que mide es la solvencia de los bancos. Y se computa lo que
tiene cada banco en capital más reservas, beneficios no distribuidos y participaciones
perpetuas para hacer frente a los activos: créditos concedidos, acciones y otras
inversiones de riesgo. Siendo esto el dinero que tienen garantizado, sus recursos propios,
frente a aquel que está comprometido con alguna inversión no del todo fiable.

pág. 5
PRUEBAS DE ESTRES

La prueba de estrés se define como un tipo de prueba de software que verifica la


estabilidad y confiabilidad del sistema. Esta prueba determina principalmente el sistema
por su robustez y manejo de errores en condiciones de carga extremadamente pesada.

Incluso realiza pruebas más allá del punto de operación normal y evalúa cómo funciona
el sistema en esas condiciones extremas. La prueba de estrés se realiza para asegurarse
de que el sistema no se bloquee en situaciones difíciles.

En ingeniería de software, las pruebas de estrés también se conocen como pruebas de


resistencia. En Pruebas de estrés, se debe hacer hincapié en AUT durante un corto período
de tiempo para conocer su capacidad de resistencia. Un uso más prominente de las
pruebas de estrés es determinar el límite en el que se rompe el sistema o el software o el
hardware. También comprueba si el sistema demuestra una gestión de errores efectiva
en condiciones extremas.

La prueba de estrés (a veces llamada prueba de tortura) es una forma de prueba


deliberadamente intensa o exhaustiva que se utiliza para determinar la estabilidad de un
sistema o entidad determinado. Implica realizar pruebas más allá de la capacidad
operativa normal, a menudo hasta un punto de ruptura, para observar los resultados. Las
razones pueden incluir:

 Para determinar puntos de ruptura o límites de uso seguro.


 para confirmar que el modelo matemático es lo suficientemente preciso para
predecir puntos de ruptura o límites de uso seguro.
 para confirmar que se cumplen las especificaciones previstas.
 para determinar los modos de fallo (cómo falla exactamente un sistema)
 para probar el funcionamiento estable de una parte o sistema fuera del uso
estándar.

Los ingenieros de confiabilidad a menudo prueban los artículos bajo el estrés esperado o
incluso bajo el estrés acelerado para determinar la vida útil del artículo o para determinar
los modos de falla.

Las pruebas de estrés intentan romper el sistema bajo prueba abrumando sus recursos.
El objetivo principal de las pruebas de estrés: asegurarse de que el sistema falla y se
recupera fácilmente, esta calidad también se conoce como recuperabilidad. Las pruebas
de estrés también pueden usarse para descubrir problemas de corrupción de datos,
problemas de hardware.

pág. 6
PRUEBAS DE ESTRES

1.2 TIPOS DE PRUEBAS

Ilustración 1 tipos de pruebas (Cristhian, 2019)

1.3 PRUEBA DE ESTRÉS DISTRIBUIDO:


En las pruebas de estrés distribuidas, se prueban todos los clientes vinculados con el
servidor. La función y la responsabilidad del servidor es la distribución de un grupo de
pruebas de estrés a cada uno de los clientes y un seguimiento de su estado.

Mientras tanto, las máquinas cliente envían una señal o un latido del corazón que está
conectado con el servidor. Si el servidor no recibe ninguna señal de la máquina cliente,
debe investigarse más a fondo para la depuración. De la figura, un servidor puede
conectarse con los 2 clientes (Cliente1 y Cliente2), pero no puede enviar ni recibir una
señal de Cliente 3 y 4.

La carrera nocturna es la mejor opción para ejecutar estos escenarios de pruebas de


estrés. Las granjas de servidores grandes necesitan un método más eficiente para
determinar qué equipos han tenido fallas de estrés que deben investigarse.

pág. 7
PRUEBAS DE ESTRES

Ilustración 2prueba de estrés (Cristhian, 2019)

1.4 Pruebas de estrés transaccional


Como su nombre lo indica, la prueba de estrés transaccional se utiliza para realizar
pruebas de estrés que tienen lugar en las transacciones que se producen entre las
aplicaciones. El propósito de la prueba de estrés transaccional es afinar y optimizar el
sistema.

1.5 Pruebas de estrés de aplicación


Pruebas de estrés de las aplicaciones que se utilizan normalmente para descubrir defectos
relacionados con cuellos de botella en el rendimiento, problemas de red, bloqueos de
datos y bloqueos.

1.6 Pruebas de estrés exploratorio


En la Prueba de esfuerzo exploratoria, el sistema se prueba en condiciones anormales que
probablemente no se presentarán en el escenario en tiempo real. Pocos ejemplos de
pruebas de esfuerzo exploratorias donde se usan tales condiciones anormales:

 Un gran número de usuarios simultáneos intentan iniciar sesión en la aplicación


 La base de datos vinculada al sitio web se apaga cuando el sitio web trata de llegar
desde la parte frontal.
 Datos añadidos en cantidad extremadamente grande en la base de datos.

pág. 8
PRUEBAS DE ESTRES

1.7 Pruebas de estrés sistemático


Las pruebas de estrés sistemáticas se utilizan para probar muchos sistemas que se
ejecutan en un servidor. Permite al equipo de pruebas detectar defectos donde los datos
de un software bloquean a otro software.

El objetivo de las pruebas de estrés es verificar el sistema en condiciones extremas.


Supervisa los recursos del sistema, como la memoria, el procesador, la red, etc., y verifica
la capacidad del sistema para recuperar el estado normal. Comprueba si el sistema
muestra los mensajes de error apropiados mientras se encuentra bajo tensión.

pág. 9
PRUEBAS DE ESTRES

2 JMETER

2.1 Introducción a las pruebas de rendimiento JMETER


Las pruebas de rendimiento sirven a los colaboradores de control de calidad (testers)
verificar que tan bien una aplicación o sitio web se desempeña bajo ciertas circunstancias
específicas. Es ahí donde entra a tallar Apache JMeter que es una herramienta idónea
para llevar a cabo ese tipo de pruebas.

JMerte es un proyecto de Apache Jakarta que puede ser usado como una herramienta de
prueba de carga para analizar y medir el desempeño de una variedad de servicios en una
aplicación web. Es un software de escritorio escrito enteramente en Java y disponible para
todas las plataformas.

JMeter puede ser usado como una herramienta de pruebas unitarias para conexiones a
base de datos con JDBC, FTP, LDAP, servicios Web, JMS, http, y conexiones genéricas TCP.

2.1.1 Pero que son las pruebas de rendimiento


Las pruebas de rendimiento son pruebas de funcionamiento de un sistema para
comprobar su operatividad en términos de capacidad de respuesta, rendimiento,
fiabilidad y escalabilidad bajo una carga de trabajo determinada.

Las pruebas de rendimiento no tienen por objetivo encontrar defectos o errores en la


aplicación, sino que abordan una tarea más crítica, que es la de encontrar el índice de
referencia o estándar establecido para la aplicación.

En cristiano, las pruebas de rendimiento sirven para asegurarnos que la aplicación


responde dentro de los tiempos límites establecidos por el usuario o no.

2.1.2 Pruebas a verificar


Capacidad: El número máximo de objetos que la aplicación puede manejar.

Latencia: El tiempo promedio y máximo para completar la operación del sistema.

Tiempo de Respuesta: El tiempo promedio y máximo de respuesta de la aplicación.

Rendimiento: La máxima cantidad de transacciones que la aplicación puede manejar.

pág. 10
PRUEBAS DE ESTRES

2.1.3 porque necesitamos pruebas de rendimiento


Hoy en día la gran mayoría de aplicaciones modernas, especialmente las aplicaciones
en línea están enfocadas en tener un gran número de usuarios, por consiguiente,
tendrán también un gran número de operaciones simultáneas.

En consecuencia, es importante medir el nivel de rendimiento óptimo para un número


de usuarios concurrentes. Es por ello que tenemos que simular de alguna manera el
número de usuarios concurrentes y controlar la calidad y velocidad del servicio bajo
dichas condiciones.

2.2 CARACTERISTICAS DE LA HERRAMIENTA JMETER

Ilustración 3 Características de herramientas JMETER (Helar , 2019)

2.2.1 UNA GUI AMIGABLE


Resulta fácil de utilizar y no lleva tiempo familiarizarse con la interfaz del programa.

2.2.2 Plataforma independiente.


El programa es Java 100%, por lo tanto, puede ejecutarse en múltiples plataformas.

2.2.3 Multi-threading.
JMeter permite el muestreo simultáneo de diferentes funciones por un grupo de hilos
diferente.

2.2.4 El resultado de la prueba se puede visualizar.


Se puede visualizar en un formato diferente como gráfico, tabla, árbol y archivo de
registro.

pág. 11
PRUEBAS DE ESTRES

2.2.5 Altamente extensible.


JMeter también admite complementos de visualización que permiten ampliar nuestras
pruebas.

2.2.6 Estrategia de pruebas múltiples.


JMeter admite muchas estrategias de prueba, como la prueba de carga, las pruebas
distribuidas y las pruebas funcionales.

2.2.7 JMeter también permite la ejecución de pruebas


Distribuidas entre distintos ordenadores, que actuarán como clientes.

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

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

2.2.10 Récord & Playback


Registra la actividad del usuario en el navegador.

2.2.11 Script Test.


JMeter se puede integrar con Bean Shell & Selenium para pruebas automatizadas.

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

2.3 HERRAMIENTAS

2.3.1 HERRAMIENTAS DE PRUEBA


Funk Load

FWPTT load testing

LoadUI

pág. 12
PRUEBAS DE ESTRES

Jmeter

Blaze meter

2.3.2 Herramientas en Software Propietario


HP Quality Center/ALM

QA Complete

qaBook

T-Plan Professional

SMARTS

QAS.Test Case Studio

PractiTest

SpiraTest

TestLog

ApTest Manager

Zephyr

2.3.3 Comparativo en herramientas de software libre y software propietario.


SOFTWARE LIBRE SOFTWARE PROPIETARIO

  Es todo programa informático en el que el usuario tiene


Hace referencia a la libertad de los usuarios para ejecutar,
copiar, distribuir, estudiar, modificar el software y limitaciones para usarlo, modificarlo o redistribuirlo (esto
distribuirlo modificado. último con o sin modificaciones).

  Si una o varias libertades de un programa cualesquiera


En general, se debe cumplir con cuatro tipos de libertades
para que un programa pueda ser considerado en este son restringidas por algún motivo, dicho programa deberá
campo. ser considerado en este grupo.

 Hay más seguridad y fiabilidad.  Generalmente son menos seguras.

  La interfaz gráfica es más completa por lo que es


La interfaz gráfica suele ser muy sencilla y por tanto poco
amigable. considerada de avanzada.

 Su costo es muy bajo y mayormente gratuito.  Las aplicaciones de este tipo pueden tener un costo

 Existen aplicaciones para todas las plataformas. mayor.

 El usuario no depende del creador del software.  No existen aplicaciones para todas las plataformas.

 La figura más representativa es Richard Stallman.  El usuario depende del creador del software.

 Destaca Bill Gates como pionero en este software.

Ilustración 4 Comparativo de Software Libre y Software Propietario (Helar , 2019)

pág. 13
PRUEBAS DE ESTRES

2.3.4 Beneficios de la herramienta


 Contar con una garantía: Adquirir licencias para el uso de un software acredita a
un usuario o empresa para el uso de éste, asimismo en caso de una falla, error de
compatibilidad por parte del fabricante, es este el encargado de brindar el soporte
o la asesoría necesaria para su solución. En el caso de un incidente bajo el uso de
software ilegal el usuario queda totalmente desprotegido.
 Acceso a las actualizaciones: Los fabricantes liberan constantemente
actualizaciones de una misma versión de software para asegurar el buen
funcionamiento conforme cambian los sistemas operativos, equipos y dispositivos.
Usar un esquema de licenciamiento brinda acceso inmediato a las actualizaciones
asegurando el máximo rendimiento de la inversión inicial, mientras que bajo el uso
ilegal no se tienen acceso a éstas y se corre el riesgo de que el software deje de
funcionar tras una renovación.
 Continuidad de la operación: En principio puede parecer que la legalización de
software no tiene gran impacto para la organización, pero si no se cuenta con el
respaldo del fabricante nuestra empresa es vulnerable a pérdidas de información,
ataques, virus, entre otras amenazas, si no se tiene acceso a soporte y
actualizaciones es imposible mantener los equipos, software y la información en
buen estado.
 Mejores costos: El mal funcionamiento de cualquier software puede llegar a
detener la operación de una empresa, lo cual implica pérdidas directamente en el
negocio o inversiones no contempladas en soporte. Invertir en un esquema de
licenciamiento para hacer uso legal de un determinado software nos ayuda a

pág. 14
PRUEBAS DE ESTRES

eliminar gastos innecesarios o incluso evitar el pago de multas y sanciones en


procesos legales.

2.3.5 A1QA Empresa que realiza pruebas de testing

ITSight es un proveedor de servicios de


tecnologías de la información (TI)

El servicio de QA y aseguramiento de
calidad consiste en la revisión y
certificación del correcto funcionamiento
de aplicaciones y sistemas, ya sea en un
ambiente cerrado o interactuando con el
resto del entorno en donde finalmente
operará. Esto se logra a través de la
ejecución de pruebas funcionales, de ciclo
cero, de no impacto, de código, de
seguridad, de rendimiento y de estrés.

Fundada en: 2013

Ubicación: Lima – Perú

Principales clientes: Mi Banco, Banco de Crédito (BCP), Maestro, Sodimac, Cedro.

pág. 15
PRUEBAS DE ESTRES

AETOS Perú

Fundada en: 2005

Ubicación: Lima – Perú

Principales clientes: Rímac, Banco Ripley, Sunat,


Osirnergmin, La Positiva Vida, Inter seguro.

pág. 16
PRUEBAS DE ESTRES

2.4 CASO PRACTICO PRIMERA PRUEBA

Pagina inicial de JMETER

Ilustración 5 PAGINA INCIAL DE JMETER (Helar , 2019)

Asignación de usuarios por cantidad de segundo

Ilustración 6 ASIGNACION DE USUARIOS (Helar , 2019)

pág. 17
PRUEBAS DE ESTRES

Petición HTTP (Introduciremos el Enlace y el Puerto de ser necesario)

Ilustración 7 PETICION HTTP (Helar , 2019)

Primera Grafica sin errores a 493 Usuarios

Ilustración 8 GRAFICA SIN ERREROS (Helar , 2019)

pág. 18
PRUEBAS DE ESTRES

Gráfico de resultados a 493 usuarios

Resultados En el Árbol a 493 usuarios

Ilustración 9 GRAFICO DE RESULTADO (Helar , 2019)

Ilustración 10 RESULTADO EN ARBOL (Helar , 2019)

pág. 19
PRUEBAS DE ESTRES

Resultados a 500 usuarios

Gráfico a 500 usuarios errores 1.40%

Ilustración 11 RESULTADO DE 500 USUARIOS (Cristhian, 2019)

Gráfico de Resultados con errores de caída

Ilustración 12 Gráfico de Resultados con errores de caída (Cristhian, 2019)

pág. 20
PRUEBAS DE ESTRES

Resultados de Árbol fallas en los últimos 7 usuarios

Ilustración 13 Resultados de Árbol fallas en los últimos 7 usuarios (Helar ,


2019)

pág. 21
PRUEBAS DE ESTRES

LINKOGRAFIA

http://tryqa.com/what-is-stress-testing-in-software/

https://ubunlog.com/jmeter-pruebas-carga-mide-rendimiento/

pág. 22