SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
@ces_com_uy | #testinguy
TALLER
Rodrigo Quinta
rquinta@ces.com.uy
Federico Orihuela
forihuela@ces.com.uy
13 y 14 de mayo, 2019
testinguy.org
@testinguy | #testinguy
¡Estresá el sistema, no
al usuario!
@ces_com_uy | #testinguy
Introducción
•Objetivos de las pruebas de performance
• Estudiar el comportamiento del sistema bajo ciertas condiciones
•Tipos de pruebas de performance
• Stress
• Load
• Scalability
• Otras ...
@ces_com_uy | #testinguy
Definir y modelo la realidad
•Antes de comenzar con las pruebas de performance es necesario
establecer un modelo para la realidad que se desea probar.
•Hay que definir funcionalidades a probar.
•Cantidad de usuarios que se quieren simular.
•Acciones que hacen los usuarios.
•Definir momentos de uso pico.
•Considerar otros factores que puedan afectar el desempeño del
sistema.
•Imitar la realidad puede ser complejo, por lo que seguramente sea
necesario hacer simplificaciones.
@ces_com_uy | #testinguy
Objetivo del taller
•JMeter
• Grabar
• Automatizar
• Ejecutar
•Buenas prácticas
@ces_com_uy | #testinguy
JMeter: How it works
@ces_com_uy | #testinguy
Trabajemos!
@ces_com_uy | #testinguy
Configuración
•JMeter
•Firefox
• Proxy
• Certificado
• Tools / Options
• Advanced / Certificates
• View Certificates
• Authorities
• Import …
• View / Trust this CA to identify web sites
@ces_com_uy | #testinguy
Configuración
@ces_com_uy | #testinguy
Configuración
@ces_com_uy | #testinguy
Grabar script
•Grabemos una busqueda en www.montevideo.gub.uy
@ces_com_uy | #testinguy
Configuración
•Plan en JMeter
• Componentes del plan
• Grupo de hilos
• Controladores
• Managers
• Samplers
@ces_com_uy | #testinguy
Grupo de hilos
•Número de Hilos
• Este parámetro indica la cantidad de hilos que ejecutarán el flujo.
• Cada hilo se ejecuta de forma independiente.
• En general cada hilo representa un usuario.
•Ramp Up
• Este parámetro indica al jmeter el tiempo necesario para que todos los hilos
inicien su trabajo.
• Si tenemos 5 hilos y 10s de ramp up, ingresará un hilo cada 2s.
•Iteraciones
• Indica la cantidad de veces que un hilo (usuario) realizará la tarea indicada.
• Por ejemplo, si tenemos la tarea enviar correo, tenemos 5 hilos y 4
iteraciones se enviarán 20 correos (4 por cada hilo).
@ces_com_uy | #testinguy
Samplers (o Muestreadores)
•Permiten hacer un pedido y esperar por una respuesta.
•Se pueden hacer pedidos de distintos tipos (HTTP, FTP, JDBC,
custom).
•Lo más común (en el testing de aplicaciones Web) es usar samplers
de tipo “HTTP Request”. En este caso cada petición HTTP se mapea a
un sampler.
•El “Debug Sampler”, permite ver valores de variables o propiedades
de Jmeter.
@ces_com_uy | #testinguy
Controllers (Controladores)
• Permiten agrupar peticiones (samplers), así como introducir lógica
para personalizar el comportamiento de la aplicación.
• Ejemplos
• Simple Controller (Sirve para agrupar lógicamente)
• Transaction Controller (Sirve para medir el tiempo de lo que contiene)
• Only Once Controller (Solo ejecuta una vez durante la prueba)
• If Controller (Ejecuta dependiendo de una condición)
• Loop Controller (Ejecuta varias veces)
• Include Controller (Permite modularizar importando elementos externos)
@ces_com_uy | #testinguy
• Permiten manejar información general de los pedidos.
• Ejemplos
• HTTP Cookie Manager (Sirve para administrar las cookies)
• HTTP Requests Defaults (Sirve para manejar datos genéricos de los pedidos)
Managers (Manejadores)
@ces_com_uy | #testinguy
Ejecutar
•Con esto, estamos generando la carga deseada?
@ces_com_uy | #testinguy
Thinktimes
• Es el tiempo que transcurre desde que se completó un pedido y el
inicio del siguiente.
• Representa el tiempo que demora el usuario en leer, llenar campos,
hacer el siguiente click, etc.
•Como agregarlos?
• Timers - Cuidado con el alcance (scope). Por lo general hay que ponerlos a
nivel de pedidos para que se comporte como queremos.
• Test Actions - Se puede poner entre pedidos. Se puede hacer opcional si se
pone dentro de un controlador If (útil para desarrollo y testing).
@ces_com_uy | #testinguy
Parametrizar
•Variables
• Se pueden definir variables que son locales a cada hilo (usuario).
• Se pueden cargar desde elementos de configuración como (CSV data set
config).
• Se pueden cargar en pre/post-processors.
• Se pueden cargar desde funciones.
• Para usarlas -> ${NOMBRE_VARIABLE}
•Funciones
• Las funciones preexistentes permiten realizar tareas sobre parámetros de
entrada (o no) y obtener resultados.
• Sumar dos números y guardar el resultado en MYVAR
${__intSum(2,5,MYVAR)}
• Obtener un número aleatorio entre 0 y 10 ${__Random(0,10)}
@ces_com_uy | #testinguy
Aserciones (Assertions)
•Las aserciones, buscan asegurar que el resultado que obtenemos de
un sampler es como debería.
•Usando una aserción se puede “testear” que se devuelve un
resultado correcto o que no se devuelve ningún error.
•Ejemplos
• Response Assertion
• Duration Assertion
• Size Assertion
• Beanshell (JSR223) Assertion
• HTML Assertion
@ces_com_uy | #testinguy
Procesadores (Processors)
•Pre-Processors
• Permiten realizar alguna acción antes de un pedido.
• Son útiles para “cargar” o modificar valores en el pedido que se hará.
•Post-Processors
• Permiten realizar acciones luego de un pedido, por lo general se procesa el
resultado y se extraen valores que se usarán en otros pedidos.
•Ejemplos
• RegEx Extractor (Post-processor)
• JSON/Xpath Extractor (Post-processor)
• Beanshell/JSR223 (Pre-processor y Post-processor)
@ces_com_uy | #testinguy
Regex extractor
• Permite extraer patrones de expresiones regulares y guardar el
resultado en una o varias variables.
• Expresiones regulares
• Permite buscar patrones determinados por la expresión regular.
• Además se puede seleccionar parte del patrón encerrando la expresión
deseada entre paréntesis “(”,”)”.
• Son útiles tanto en el regex extractor como en aserciones.
@ces_com_uy | #testinguy
Guardando y Visualizando Resultados
•En una prueba de carga, por lo general no interesa ver los resultados
uno a uno, sino un resumen o gráfica de los mismos.
•Para guardar y visualizar resultados, se cuenta con los listeners, los
que permiten guardar resultados en un archivo y a su vez, la mayoría
permiten visualizar los resultados de alguna forma.
•Ejemplos
• View Result Tree (solo para debug)
• Summary Report
• Graph Results
• Existen plugins que también son útiles
@ces_com_uy | #testinguy
Tips
•Usar la menor cantidad de Listeners posible
•Apagar las gráficas/gui durante la ejecución.
•Si es necesario ver gráficas de resultados durante la ejecución,
cargarlo en un sistema externo (ELK Stack, TIG Stack, Jmeter externo)
•Agrandar el heap de la JVM en jmeter.bat/jmeter.sh
• -Xms para setear el heap mínimo.
• -Xmx para setear el heap máximo.
• Se recomienda que coincidan los valores para mejor desempeño.
/ces_uruguay
Lauro Müller 1989
11200 Montevideo, Uruguay
www.ces.com.u
y
@ces_com_uy
/CentroDeEnsayosDeSoftware
info@ces.com.uy
capacitacion.ces.com.uy
/ces-uy /CES_uy
@ces_com_uy | #testinguy
Rodrigo Quinta
rquinta@ces.com.uy
¿PREGUNTAS?
¡MUCHAS GRACIAS!
Federico Orihuela
forihuela@ces.com.uy
13 y 14 de mayo, 2019
testinguy.org | @testinguy | #testinguy

Más contenido relacionado

Similar a JMeter taller introducción

16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...Luis Fernando Aguas Bucheli
 
Clase 4a arena
Clase 4a arenaClase 4a arena
Clase 4a arenaTensor
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishJordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishJordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishAkamon Engineering
 
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINK
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINKTaller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINK
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINKTestingUy
 
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup
 
Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdflgarcias
 
Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Federico Toledo
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasSergio Sanchez
 
Programación y simulación
Programación y simulaciónProgramación y simulación
Programación y simulaciónjesus326101
 
Fp sesion 1 ppt
Fp sesion 1 pptFp sesion 1 ppt
Fp sesion 1 pptThejacob18
 
20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNetalbertortizcape
 

Similar a JMeter taller introducción (20)

Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
 
Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
 
Clase 4a arena
Clase 4a arenaClase 4a arena
Clase 4a arena
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINK
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINKTaller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINK
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINK
 
Pruebas de estres
Pruebas de estresPruebas de estres
Pruebas de estres
 
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
 
Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdf
 
Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
 
Programación y simulación
Programación y simulaciónProgramación y simulación
Programación y simulación
 
Fp sesion 1 ppt
Fp sesion 1 pptFp sesion 1 ppt
Fp sesion 1 ppt
 
ALEXIS GARCIA
ALEXIS GARCIAALEXIS GARCIA
ALEXIS GARCIA
 
20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet
 

Más de TestingUy

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalTestingUy
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...TestingUy
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...TestingUy
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingTestingUy
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingUy
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoTestingUy
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youTestingUy
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...TestingUy
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterTestingUy
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterTestingUy
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?TestingUy
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?TestingUy
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?TestingUy
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!TestingUy
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...TestingUy
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactTestingUy
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsTestingUy
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelTestingUy
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...TestingUy
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...TestingUy
 

Más de TestingUy (20)

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcional
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with you
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con Pact
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbots
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 

Último (20)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 

JMeter taller introducción

  • 1. @ces_com_uy | #testinguy TALLER Rodrigo Quinta rquinta@ces.com.uy Federico Orihuela forihuela@ces.com.uy 13 y 14 de mayo, 2019 testinguy.org @testinguy | #testinguy ¡Estresá el sistema, no al usuario!
  • 2. @ces_com_uy | #testinguy Introducción •Objetivos de las pruebas de performance • Estudiar el comportamiento del sistema bajo ciertas condiciones •Tipos de pruebas de performance • Stress • Load • Scalability • Otras ...
  • 3. @ces_com_uy | #testinguy Definir y modelo la realidad •Antes de comenzar con las pruebas de performance es necesario establecer un modelo para la realidad que se desea probar. •Hay que definir funcionalidades a probar. •Cantidad de usuarios que se quieren simular. •Acciones que hacen los usuarios. •Definir momentos de uso pico. •Considerar otros factores que puedan afectar el desempeño del sistema. •Imitar la realidad puede ser complejo, por lo que seguramente sea necesario hacer simplificaciones.
  • 4. @ces_com_uy | #testinguy Objetivo del taller •JMeter • Grabar • Automatizar • Ejecutar •Buenas prácticas
  • 7. @ces_com_uy | #testinguy Configuración •JMeter •Firefox • Proxy • Certificado • Tools / Options • Advanced / Certificates • View Certificates • Authorities • Import … • View / Trust this CA to identify web sites
  • 10. @ces_com_uy | #testinguy Grabar script •Grabemos una busqueda en www.montevideo.gub.uy
  • 11. @ces_com_uy | #testinguy Configuración •Plan en JMeter • Componentes del plan • Grupo de hilos • Controladores • Managers • Samplers
  • 12. @ces_com_uy | #testinguy Grupo de hilos •Número de Hilos • Este parámetro indica la cantidad de hilos que ejecutarán el flujo. • Cada hilo se ejecuta de forma independiente. • En general cada hilo representa un usuario. •Ramp Up • Este parámetro indica al jmeter el tiempo necesario para que todos los hilos inicien su trabajo. • Si tenemos 5 hilos y 10s de ramp up, ingresará un hilo cada 2s. •Iteraciones • Indica la cantidad de veces que un hilo (usuario) realizará la tarea indicada. • Por ejemplo, si tenemos la tarea enviar correo, tenemos 5 hilos y 4 iteraciones se enviarán 20 correos (4 por cada hilo).
  • 13. @ces_com_uy | #testinguy Samplers (o Muestreadores) •Permiten hacer un pedido y esperar por una respuesta. •Se pueden hacer pedidos de distintos tipos (HTTP, FTP, JDBC, custom). •Lo más común (en el testing de aplicaciones Web) es usar samplers de tipo “HTTP Request”. En este caso cada petición HTTP se mapea a un sampler. •El “Debug Sampler”, permite ver valores de variables o propiedades de Jmeter.
  • 14. @ces_com_uy | #testinguy Controllers (Controladores) • Permiten agrupar peticiones (samplers), así como introducir lógica para personalizar el comportamiento de la aplicación. • Ejemplos • Simple Controller (Sirve para agrupar lógicamente) • Transaction Controller (Sirve para medir el tiempo de lo que contiene) • Only Once Controller (Solo ejecuta una vez durante la prueba) • If Controller (Ejecuta dependiendo de una condición) • Loop Controller (Ejecuta varias veces) • Include Controller (Permite modularizar importando elementos externos)
  • 15. @ces_com_uy | #testinguy • Permiten manejar información general de los pedidos. • Ejemplos • HTTP Cookie Manager (Sirve para administrar las cookies) • HTTP Requests Defaults (Sirve para manejar datos genéricos de los pedidos) Managers (Manejadores)
  • 16. @ces_com_uy | #testinguy Ejecutar •Con esto, estamos generando la carga deseada?
  • 17. @ces_com_uy | #testinguy Thinktimes • Es el tiempo que transcurre desde que se completó un pedido y el inicio del siguiente. • Representa el tiempo que demora el usuario en leer, llenar campos, hacer el siguiente click, etc. •Como agregarlos? • Timers - Cuidado con el alcance (scope). Por lo general hay que ponerlos a nivel de pedidos para que se comporte como queremos. • Test Actions - Se puede poner entre pedidos. Se puede hacer opcional si se pone dentro de un controlador If (útil para desarrollo y testing).
  • 18. @ces_com_uy | #testinguy Parametrizar •Variables • Se pueden definir variables que son locales a cada hilo (usuario). • Se pueden cargar desde elementos de configuración como (CSV data set config). • Se pueden cargar en pre/post-processors. • Se pueden cargar desde funciones. • Para usarlas -> ${NOMBRE_VARIABLE} •Funciones • Las funciones preexistentes permiten realizar tareas sobre parámetros de entrada (o no) y obtener resultados. • Sumar dos números y guardar el resultado en MYVAR ${__intSum(2,5,MYVAR)} • Obtener un número aleatorio entre 0 y 10 ${__Random(0,10)}
  • 19. @ces_com_uy | #testinguy Aserciones (Assertions) •Las aserciones, buscan asegurar que el resultado que obtenemos de un sampler es como debería. •Usando una aserción se puede “testear” que se devuelve un resultado correcto o que no se devuelve ningún error. •Ejemplos • Response Assertion • Duration Assertion • Size Assertion • Beanshell (JSR223) Assertion • HTML Assertion
  • 20. @ces_com_uy | #testinguy Procesadores (Processors) •Pre-Processors • Permiten realizar alguna acción antes de un pedido. • Son útiles para “cargar” o modificar valores en el pedido que se hará. •Post-Processors • Permiten realizar acciones luego de un pedido, por lo general se procesa el resultado y se extraen valores que se usarán en otros pedidos. •Ejemplos • RegEx Extractor (Post-processor) • JSON/Xpath Extractor (Post-processor) • Beanshell/JSR223 (Pre-processor y Post-processor)
  • 21. @ces_com_uy | #testinguy Regex extractor • Permite extraer patrones de expresiones regulares y guardar el resultado en una o varias variables. • Expresiones regulares • Permite buscar patrones determinados por la expresión regular. • Además se puede seleccionar parte del patrón encerrando la expresión deseada entre paréntesis “(”,”)”. • Son útiles tanto en el regex extractor como en aserciones.
  • 22. @ces_com_uy | #testinguy Guardando y Visualizando Resultados •En una prueba de carga, por lo general no interesa ver los resultados uno a uno, sino un resumen o gráfica de los mismos. •Para guardar y visualizar resultados, se cuenta con los listeners, los que permiten guardar resultados en un archivo y a su vez, la mayoría permiten visualizar los resultados de alguna forma. •Ejemplos • View Result Tree (solo para debug) • Summary Report • Graph Results • Existen plugins que también son útiles
  • 23. @ces_com_uy | #testinguy Tips •Usar la menor cantidad de Listeners posible •Apagar las gráficas/gui durante la ejecución. •Si es necesario ver gráficas de resultados durante la ejecución, cargarlo en un sistema externo (ELK Stack, TIG Stack, Jmeter externo) •Agrandar el heap de la JVM en jmeter.bat/jmeter.sh • -Xms para setear el heap mínimo. • -Xmx para setear el heap máximo. • Se recomienda que coincidan los valores para mejor desempeño.
  • 24. /ces_uruguay Lauro Müller 1989 11200 Montevideo, Uruguay www.ces.com.u y @ces_com_uy /CentroDeEnsayosDeSoftware info@ces.com.uy capacitacion.ces.com.uy /ces-uy /CES_uy
  • 25. @ces_com_uy | #testinguy Rodrigo Quinta rquinta@ces.com.uy ¿PREGUNTAS? ¡MUCHAS GRACIAS! Federico Orihuela forihuela@ces.com.uy 13 y 14 de mayo, 2019 testinguy.org | @testinguy | #testinguy