SlideShare una empresa de Scribd logo
1 de 39
Performance
Testing 101 con
Sponsor
● Fiel Esposo y Padre de 2
● Eterno Inconformista
● Además:
○ Pasatiempo: Me encanta cocinar (y ni les digo comer)
○ Libro Preferido: Dune - Frank Hertzberg
○ Película Preferida: Star Wars - El Imperio Contraataca
○ Producto Preferido: Amazon.com
○ Ingeniero en Sistemas UTN FRBA
○ 20+ Años Experiencia en IT/Desarrollo de Software
○ Gerente de Quality Engineering @AVANTRIP.com
Acerca de Mi
Acerca de Nosotros (La Clase)
- Conversar con el compañero de al lado e intercambiarse estas 4 preguntas:
- Nombre
- Pasatiempo
- Libro / Película Favorit@
- Producto Preferido (y por qué?)
Agenda
- Conceptos de Performance Testing:
- Definiciones
- Objetivos, Riesgos, Metodología y Tipos de Pruebas de Performance
- Herramientas Disponibles
- Arquitectura de las Herramientas
- Introducción a Apache JMeter
- Pre-requisitos, Instalación, Configuración
- El Plan de Pruebas -> Nuestro Primer Script
- Elementos, Scoping y Orden de Ejecución
- Correlación
- Algunas Buenas Prácticas con JMeter
- Uso de Config Elements
- Data-Driven
- Ejecución en Consola
Definiciones
- Performance Testing:
- “Es una práctica que se realiza para determinar cómo un sistema responde en términos de
capacidad de respuesta y estabilidad bajo una cierta carga. También sirve para medir otros
atributos de calidad del sistema como la escalabilidad, la confiabilidad y la utilización de los
recursos de hardware”
- Tiempo de Respuesta
- “Es el tiempo que tarda un sistema entre que se envía una petición y ésta vuelve a su orígen en
forma de respuesta”
- Latencia
- “Es el retardo entre causa y efecto de algún cambio físico en el sistema que se observa”
- Tiempo de Procesamiento
- “Es es el tiempo que insume un sistema en procesar un pedido, sin tener en cuenta el tiempo
que tarda ese pedido en llegar del usuario al sistema y viceversa”
- Throughput
- “Es el volúmen de trabajo neto de un sistema”
Entonces
- Tiempo de Respuesta = Latencia + Tiempo de Procesamiento
Hardware Código Arquitectura
Práctica
Carga
TiempodeRespuesta
Throughput
Utilización del Recurso
Objetivos de las Pruebas de
Performance
- Determinar la disponibilidad (readiness) de un sistema
- Evaluar los criterios de aceptación (transacciones por segundo, búsquedas por minuto,
compras por hora, etc.)
- Comparar las características de performance entre diferentes sistemas y/o
configuraciones
- Identificar los cuellos de botella del sistema
- Asistir en el proceso de mejora de performance de un sistema (tunning)
- Ayudar a identificar los niveles de throughput a nivel sistema
- Como herramienta de testing (JMETER en el CI)
ISO/IEC 25010
Tipos de Pruebas de Performance
El término “Performance Testing” es abarcativo e incluye uno o más de los siguientes tipos de
pruebas:
- Performance
- Realizar pruebas (generalmente a nivel componente) para determinar la utilización de los
recursos
- Carga (Load)
- Realizar pruebas a nivel componente o sistema para determinar si se cumple con los
requerimientos de performance definidos en la especificación
- Stress
- Realizar pruebas más allá de la carga esperada del sistema para evaluar su comportamiento Su
objetivo es tratar determinar el punto de quiebre (si quiebra)
Riesgos
Velocidad
Escalabilidad
Estabilidad
● UX
● Response Time Trending
● SLAs
● Crecimiento de la Demanda
● Planificación de la Capacidad
● Optimización
● Concurrencia
● Confiabilidad
● Disponibilidad
● Recuperabilidad
Práctica: Diseñando Escenarios
Issues Performance Load Endurance Capacity Stress Spike
Velocidad
UX
Response Time Trending
SLA
Escalabilidad
Demanda
Planificación de la
Capaciddad
Efficiencia/Optimización
Concurrencia
Estabilidad
Confiabilidad
Disponibilidad
Resiliencia/Recuperabilidad
Degradación
Metodología
Identificar el Ambiente
Establecer Criterios de
Aceptación
Diseñar los Escenarios
Implementar las
Pruebas
Ejecutar las Pruebas
Análisis de Resultados
y Reporte
Optimización
Metodología: Ambiente de Test
Metodología: Aceptación/Diseño
Utilización de Herramientas
- Client (e.g. https://gtmetrix.com/) vs. Server
- Herramientas Open Source vs.
- Herramientas Comerciales
- On Premise
- SaaS
- Community
Arquitectura
Instalación de JMETER
- JAVA 8 (JDK)
- java -version
- Instalación en Ubuntu:
- download: http://jmeter.apache.org/download_jmeter.cgi
- descomprimir
- ejecutar jmeter.sh en $JMETER_HOME/bin
- Plugins
- download: https://jmeter-plugins.org/downloads/all/
- bajar plugins-manager.jar en $JMETER_HOME/ext
- (re)iniciar JMETER
JMETER
Enter the Test Plan
- LA BASE ESTÁ
- Thread Group
- El alma mater del Script, es el elemento que simula los usuarios concurrentes a
través de la creación de hilos.
- Sampler: HTTP Request Sampler
- Es el quien genera la “muestra”, es decir un request (en este caso HTTP) con la
información requerida para la prueba.
- Listeners: View Results Tree
- Los listener sirven para “escuchar” el muestreo y almacenarlo para monitoreo,
debugging, reporte, etc.
Grabando un Escenario
- Concepto de Proxy
- Recorder
- BlazeMeter Recorder
- Template
En segunda base...
- Timers
- Sirven para emular los “think times” de los usuarios, de acuerdo al alcance pueden afectar
cada request individualmente o todos los requests.
- Assertions
- Sirven para determinar si una prueba pasa o falla, por ejemplo determinando si la página
web devuelve o no un resultado.
- Pre Procesors
- Se ejecutan antes del sampler (request) para por ejemplo, preparar la data
- Post Procesors:
- Se ejecutan despues del sampler para, por ejemplo, analizar una expresión regular y parsear
un valor en una variable (para su utilización)
Variables & Funciones
● User Defined Variables (Constantes)
● User Parameters
● Funciones
● Variables definidas en Lenguajes de Scripting
Sólo se setean en el TestPlan
Properties
● System Properties
● Jmeter Properties
○ Custom Properties
● User Properties
Se setean dentro y fuera (en el archivo de Properties) del TestPlan
Sirven para pasar info entre Thread Groups
Properties
● Orden:
○ jmeter -> user -> system
● Jmeter Properties -> “Read Only”
○ Usar user.properties para agregar properties
● Funciones: __P, __setProperty, __getProperty
Config Elements
- HTTP Request defaults
- HTTP Header Manager
- HTTP Cache Manager
- HTTP Cookie Manager
- HTTP Authorization Manager
- DNS Cache Manager
Scoping
- Samplers y Logical Processors son el equivalente de los statements
- Resto de Elementos, su alcance depende de su posición en el Test Plan
★ Usar los Managers (Cookie, Header, etc.) a nivel Test Plan
Execution Order
1. Config Elements
2. Pre Processors
3. Timers
4. Samplers
5. Post Processors
6. Assertions
7. Listeners
Logging
● Basado en Log4J Framework
○ NONE- Apagado
○ ERROR - Errores Severos, Inesperados, en RT
○ WARN - Uso de APIs deprecadas, ‘casi’ errores, otras situaciones en RT que son
indeseables o inesperadas pero no necesariamente ‘erróneas’
○ INFO - Eventos en RT
○ DEBUG - Información detallada del flujo
Correlación
1- Obtener ID Sesión
2- ID = ab8221897ydau
4- Hace algo, mi ID es ab8221897ydau
5 - 200 - OK (Pudiste Hacerloe)
3- Guardá ID
ab8221897ydau
Armando un Escenario Complejo
- Thread Group
- Config Element
- Header/Cookie/Cache Manager(s)
- Sampler
- Timer
- Pre Procesor
- Post Procesor
- Listener
Algunas Buenas Prácticas
- Uso de Config Elements
- Dan mantenibilidad y flexibilidad a los Scripts
- Para Carga, Apagar Listeners y Ejecutar en Consola (no en GUI)
- Jmeter –n –t ejemplo.jmx –l resultados.xls
- Usando Data Driven Testing
- Uso de CSV Config Element (Ejemplo)
- Si necesito mucha carga, utilizar el modo Distribuido
- http://www.testautomationguru.com/jmeter-distributed-load-testing-using-docker/
APÉNDICE A: Protocolo HTTP
TCP/IP Stack
Header y Footer
HTTP/1.1 200 OK
Date: Sun, 18 Oct 2009 08:56:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Sat, 20 Nov 2004 07:16:26 GMT
ETag: "10000000565a5-2c-3e94b66c2e680"
Accept-Ranges: bytes
Content-Length: 44
Connection: close
Content-Type: text/html
X-Pad: avoid browser bug
<html><body><h1>Bienvenidos a
Argentesting!</h1></body></html>
HEADER
BODY
HTTP
CLIENTE SERVIDOR
REQUEST
RESPONSE
Verbos y Response Codes
VERBOS:
GET
POST
PUT
DELETE
HEAD
OPTIONS
TRACE
MENSAJES
1xx (Informational): Request received, server is
continuing the process.
2xx (Success): The request was successfully received,
understood, accepted and serviced.
3xx (Redirection): Further action must be taken in order
to complete the request.
4xx (Client Error): The request contains bad syntax or
cannot be understood.
5xx (Server Error): The server failed to fulfill an
apparently valid request.

Más contenido relacionado

La actualidad más candente

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование. Unguryan Vitaliy
 
IT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTINGIT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTINGSathya R
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoLu Martinez
 
Performance Engineering
Performance EngineeringPerformance Engineering
Performance EngineeringKumar Gupta
 
API Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGAPI Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGSiddharth Sharma
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Loadrunner presentation
Loadrunner presentationLoadrunner presentation
Loadrunner presentationmedsherb
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeterClaude Falguiere
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveExove
 
What is Web Testing?
What is Web Testing?   What is Web Testing?
What is Web Testing? QA InfoTech
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmetertest test
 

La actualidad más candente (20)

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Cucumber presenation
Cucumber presenationCucumber presenation
Cucumber presenation
 
IT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTINGIT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTING
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Performance Engineering
Performance EngineeringPerformance Engineering
Performance Engineering
 
Aula 06 comandos linux
Aula 06   comandos linuxAula 06   comandos linux
Aula 06 comandos linux
 
Metodos formales
Metodos formalesMetodos formales
Metodos formales
 
prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
 
API Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGAPI Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNG
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Loadrunner presentation
Loadrunner presentationLoadrunner presentation
Loadrunner presentation
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeter
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – Exove
 
What is Web Testing?
What is Web Testing?   What is Web Testing?
What is Web Testing?
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmeter
 
Mongo db workshop # 01
Mongo db workshop # 01Mongo db workshop # 01
Mongo db workshop # 01
 

Similar a Argentesting 2017 - Performance testing 101 con jmeter

Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!
Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!
Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!TestingUy
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
 
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
 
Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Romén Rodríguez-Gil
 
Sumo Logic Cert Jam - Fundamentals (Spanish)
Sumo Logic Cert Jam - Fundamentals (Spanish)Sumo Logic Cert Jam - Fundamentals (Spanish)
Sumo Logic Cert Jam - Fundamentals (Spanish)Sumo Logic
 
Guia de aprendizaje mantenimiento
Guia de aprendizaje mantenimientoGuia de aprendizaje mantenimiento
Guia de aprendizaje mantenimientoJuan Colo Perez
 
Jmeter para Aplicaciones Web
Jmeter para Aplicaciones WebJmeter para Aplicaciones Web
Jmeter para Aplicaciones Webred.es
 
Ingeniería del software 3
Ingeniería del software 3Ingeniería del software 3
Ingeniería del software 3enayluis
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012Carlos Nacianceno
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones WebDeisy Sapaico
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesFederico Toledo
 
Procesos - Sistemas Operativos
Procesos - Sistemas OperativosProcesos - Sistemas Operativos
Procesos - Sistemas Operativosrichardstalin
 
3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-oss3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-ossSykrayo
 
Administración y Comando Básicos
Administración y Comando BásicosAdministración y Comando Básicos
Administración y Comando BásicosAbrilRojasMedina
 

Similar a Argentesting 2017 - Performance testing 101 con jmeter (20)

Optimizacion de software
Optimizacion de softwareOptimizacion de software
Optimizacion de software
 
Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!
Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!
Taller TestingUy 2019 - ¡Estresá el sistema, no al usuario!
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
 
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...
 
Intro to DTrace
Intro to DTraceIntro to DTrace
Intro to DTrace
 
Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017
 
Sumo Logic Cert Jam - Fundamentals (Spanish)
Sumo Logic Cert Jam - Fundamentals (Spanish)Sumo Logic Cert Jam - Fundamentals (Spanish)
Sumo Logic Cert Jam - Fundamentals (Spanish)
 
Pruebas de estres
Pruebas de estresPruebas de estres
Pruebas de estres
 
Guia de aprendizaje mantenimiento
Guia de aprendizaje mantenimientoGuia de aprendizaje mantenimiento
Guia de aprendizaje mantenimiento
 
Tripwire 2006
Tripwire 2006Tripwire 2006
Tripwire 2006
 
Jmeter para Aplicaciones Web
Jmeter para Aplicaciones WebJmeter para Aplicaciones Web
Jmeter para Aplicaciones Web
 
Ingeniería del software 3
Ingeniería del software 3Ingeniería del software 3
Ingeniería del software 3
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
 
Procesos - Sistemas Operativos
Procesos - Sistemas OperativosProcesos - Sistemas Operativos
Procesos - Sistemas Operativos
 
3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-oss3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-oss
 
Administración y Comando Básicos
Administración y Comando BásicosAdministración y Comando Básicos
Administración y Comando Básicos
 

Más de Argentesting

Análisis de Aplicaciones móviles - aspectos de seguridad
Análisis de Aplicaciones móviles - aspectos de seguridadAnálisis de Aplicaciones móviles - aspectos de seguridad
Análisis de Aplicaciones móviles - aspectos de seguridadArgentesting
 
Argentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatizaciónArgentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatizaciónArgentesting
 
Argentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágilArgentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágilArgentesting
 
Argentesting 2019 - Desentrañando selenium
Argentesting 2019 - Desentrañando seleniumArgentesting 2019 - Desentrañando selenium
Argentesting 2019 - Desentrañando seleniumArgentesting
 
Argentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOpsArgentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOpsArgentesting
 
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...Argentesting
 
Argentesting 2019 - Por que-python-esta-buenisimo
Argentesting 2019 - Por que-python-esta-buenisimoArgentesting 2019 - Por que-python-esta-buenisimo
Argentesting 2019 - Por que-python-esta-buenisimoArgentesting
 
Argentesting 2019 - Cypress una completa experiencia de testing end to end
Argentesting 2019 - Cypress una completa experiencia de testing end to endArgentesting 2019 - Cypress una completa experiencia de testing end to end
Argentesting 2019 - Cypress una completa experiencia de testing end to endArgentesting
 
Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...
Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...
Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...Argentesting
 
Argentesting 2019 - Testing exploratorio basado en sesiones
Argentesting 2019 - Testing exploratorio basado en sesionesArgentesting 2019 - Testing exploratorio basado en sesiones
Argentesting 2019 - Testing exploratorio basado en sesionesArgentesting
 
Argentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitoso
Argentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitosoArgentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitoso
Argentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitosoArgentesting
 
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...Argentesting
 
Argentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOpsArgentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOpsArgentesting
 
Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...
Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...
Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...Argentesting
 
Argentesting 2019 - Analizando la seguridad en aplicaciones móviles
Argentesting 2019 - Analizando la seguridad en aplicaciones móvilesArgentesting 2019 - Analizando la seguridad en aplicaciones móviles
Argentesting 2019 - Analizando la seguridad en aplicaciones móvilesArgentesting
 
Argentesting 2019 - Accesibilidad, donde las especialidades convergen
Argentesting 2019 - Accesibilidad, donde las especialidades convergenArgentesting 2019 - Accesibilidad, donde las especialidades convergen
Argentesting 2019 - Accesibilidad, donde las especialidades convergenArgentesting
 
Argentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientes
Argentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientesArgentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientes
Argentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientesArgentesting
 
Argentesting 2019 - Cómo la 4ta revolución industrial afectará al testing
Argentesting 2019 - Cómo la 4ta revolución industrial afectará al testingArgentesting 2019 - Cómo la 4ta revolución industrial afectará al testing
Argentesting 2019 - Cómo la 4ta revolución industrial afectará al testingArgentesting
 
Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...
Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...
Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...Argentesting
 
Argentesting 2019 - Lippia, un framework multipropósito
Argentesting 2019 - Lippia, un framework multipropósitoArgentesting 2019 - Lippia, un framework multipropósito
Argentesting 2019 - Lippia, un framework multipropósitoArgentesting
 

Más de Argentesting (20)

Análisis de Aplicaciones móviles - aspectos de seguridad
Análisis de Aplicaciones móviles - aspectos de seguridadAnálisis de Aplicaciones móviles - aspectos de seguridad
Análisis de Aplicaciones móviles - aspectos de seguridad
 
Argentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatizaciónArgentesting 2019 - Cambiando el paradigma de la automatización
Argentesting 2019 - Cambiando el paradigma de la automatización
 
Argentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágilArgentesting 2019 - Cómo convertirse en un tester ágil
Argentesting 2019 - Cómo convertirse en un tester ágil
 
Argentesting 2019 - Desentrañando selenium
Argentesting 2019 - Desentrañando seleniumArgentesting 2019 - Desentrañando selenium
Argentesting 2019 - Desentrañando selenium
 
Argentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOpsArgentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOps
 
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
 
Argentesting 2019 - Por que-python-esta-buenisimo
Argentesting 2019 - Por que-python-esta-buenisimoArgentesting 2019 - Por que-python-esta-buenisimo
Argentesting 2019 - Por que-python-esta-buenisimo
 
Argentesting 2019 - Cypress una completa experiencia de testing end to end
Argentesting 2019 - Cypress una completa experiencia de testing end to endArgentesting 2019 - Cypress una completa experiencia de testing end to end
Argentesting 2019 - Cypress una completa experiencia de testing end to end
 
Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...
Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...
Argentesting 2019 - Testing de accesibilidad: un valor agregado cómo profesio...
 
Argentesting 2019 - Testing exploratorio basado en sesiones
Argentesting 2019 - Testing exploratorio basado en sesionesArgentesting 2019 - Testing exploratorio basado en sesiones
Argentesting 2019 - Testing exploratorio basado en sesiones
 
Argentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitoso
Argentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitosoArgentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitoso
Argentesting 2019 - Ser ágiles, hacer ágiles. la historia de un proyecto exitoso
 
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
Argentesting 2019 - En la era de la disrupción ¿Cómo estamos imaginando el fu...
 
Argentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOpsArgentesting 2019 - Introducción al testing en DevOps
Argentesting 2019 - Introducción al testing en DevOps
 
Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...
Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...
Argentesting 2019 - Cómo ser más productivo utilizando la línea de comando pa...
 
Argentesting 2019 - Analizando la seguridad en aplicaciones móviles
Argentesting 2019 - Analizando la seguridad en aplicaciones móvilesArgentesting 2019 - Analizando la seguridad en aplicaciones móviles
Argentesting 2019 - Analizando la seguridad en aplicaciones móviles
 
Argentesting 2019 - Accesibilidad, donde las especialidades convergen
Argentesting 2019 - Accesibilidad, donde las especialidades convergenArgentesting 2019 - Accesibilidad, donde las especialidades convergen
Argentesting 2019 - Accesibilidad, donde las especialidades convergen
 
Argentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientes
Argentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientesArgentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientes
Argentesting 2019 - Automatizar al infinito y más allá, trae sus inconvenientes
 
Argentesting 2019 - Cómo la 4ta revolución industrial afectará al testing
Argentesting 2019 - Cómo la 4ta revolución industrial afectará al testingArgentesting 2019 - Cómo la 4ta revolución industrial afectará al testing
Argentesting 2019 - Cómo la 4ta revolución industrial afectará al testing
 
Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...
Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...
Argentesting 2019 - Caso de éxito de pruebas automatizadas en industria autom...
 
Argentesting 2019 - Lippia, un framework multipropósito
Argentesting 2019 - Lippia, un framework multipropósitoArgentesting 2019 - Lippia, un framework multipropósito
Argentesting 2019 - Lippia, un framework multipropósito
 

Último

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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
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
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
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
 
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
 
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
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
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
 
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
 
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
 
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 gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
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
 
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
 
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
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (20)

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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
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
 
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
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
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
 
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
 
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
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
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
 
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
 
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
 
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 gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
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...
 
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
 
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
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Argentesting 2017 - Performance testing 101 con jmeter

  • 3. ● Fiel Esposo y Padre de 2 ● Eterno Inconformista ● Además: ○ Pasatiempo: Me encanta cocinar (y ni les digo comer) ○ Libro Preferido: Dune - Frank Hertzberg ○ Película Preferida: Star Wars - El Imperio Contraataca ○ Producto Preferido: Amazon.com ○ Ingeniero en Sistemas UTN FRBA ○ 20+ Años Experiencia en IT/Desarrollo de Software ○ Gerente de Quality Engineering @AVANTRIP.com Acerca de Mi
  • 4. Acerca de Nosotros (La Clase) - Conversar con el compañero de al lado e intercambiarse estas 4 preguntas: - Nombre - Pasatiempo - Libro / Película Favorit@ - Producto Preferido (y por qué?)
  • 5. Agenda - Conceptos de Performance Testing: - Definiciones - Objetivos, Riesgos, Metodología y Tipos de Pruebas de Performance - Herramientas Disponibles - Arquitectura de las Herramientas - Introducción a Apache JMeter - Pre-requisitos, Instalación, Configuración - El Plan de Pruebas -> Nuestro Primer Script - Elementos, Scoping y Orden de Ejecución - Correlación - Algunas Buenas Prácticas con JMeter - Uso de Config Elements - Data-Driven - Ejecución en Consola
  • 6. Definiciones - Performance Testing: - “Es una práctica que se realiza para determinar cómo un sistema responde en términos de capacidad de respuesta y estabilidad bajo una cierta carga. También sirve para medir otros atributos de calidad del sistema como la escalabilidad, la confiabilidad y la utilización de los recursos de hardware” - Tiempo de Respuesta - “Es el tiempo que tarda un sistema entre que se envía una petición y ésta vuelve a su orígen en forma de respuesta” - Latencia - “Es el retardo entre causa y efecto de algún cambio físico en el sistema que se observa” - Tiempo de Procesamiento - “Es es el tiempo que insume un sistema en procesar un pedido, sin tener en cuenta el tiempo que tarda ese pedido en llegar del usuario al sistema y viceversa” - Throughput - “Es el volúmen de trabajo neto de un sistema”
  • 7. Entonces - Tiempo de Respuesta = Latencia + Tiempo de Procesamiento Hardware Código Arquitectura
  • 9. Objetivos de las Pruebas de Performance - Determinar la disponibilidad (readiness) de un sistema - Evaluar los criterios de aceptación (transacciones por segundo, búsquedas por minuto, compras por hora, etc.) - Comparar las características de performance entre diferentes sistemas y/o configuraciones - Identificar los cuellos de botella del sistema - Asistir en el proceso de mejora de performance de un sistema (tunning) - Ayudar a identificar los niveles de throughput a nivel sistema - Como herramienta de testing (JMETER en el CI)
  • 11. Tipos de Pruebas de Performance El término “Performance Testing” es abarcativo e incluye uno o más de los siguientes tipos de pruebas: - Performance - Realizar pruebas (generalmente a nivel componente) para determinar la utilización de los recursos - Carga (Load) - Realizar pruebas a nivel componente o sistema para determinar si se cumple con los requerimientos de performance definidos en la especificación - Stress - Realizar pruebas más allá de la carga esperada del sistema para evaluar su comportamiento Su objetivo es tratar determinar el punto de quiebre (si quiebra)
  • 12. Riesgos Velocidad Escalabilidad Estabilidad ● UX ● Response Time Trending ● SLAs ● Crecimiento de la Demanda ● Planificación de la Capacidad ● Optimización ● Concurrencia ● Confiabilidad ● Disponibilidad ● Recuperabilidad
  • 13. Práctica: Diseñando Escenarios Issues Performance Load Endurance Capacity Stress Spike Velocidad UX Response Time Trending SLA Escalabilidad Demanda Planificación de la Capaciddad Efficiencia/Optimización Concurrencia Estabilidad Confiabilidad Disponibilidad Resiliencia/Recuperabilidad Degradación
  • 14. Metodología Identificar el Ambiente Establecer Criterios de Aceptación Diseñar los Escenarios Implementar las Pruebas Ejecutar las Pruebas Análisis de Resultados y Reporte Optimización
  • 17. Utilización de Herramientas - Client (e.g. https://gtmetrix.com/) vs. Server - Herramientas Open Source vs. - Herramientas Comerciales - On Premise - SaaS - Community
  • 19.
  • 20. Instalación de JMETER - JAVA 8 (JDK) - java -version - Instalación en Ubuntu: - download: http://jmeter.apache.org/download_jmeter.cgi - descomprimir - ejecutar jmeter.sh en $JMETER_HOME/bin - Plugins - download: https://jmeter-plugins.org/downloads/all/ - bajar plugins-manager.jar en $JMETER_HOME/ext - (re)iniciar JMETER
  • 22. Enter the Test Plan - LA BASE ESTÁ - Thread Group - El alma mater del Script, es el elemento que simula los usuarios concurrentes a través de la creación de hilos. - Sampler: HTTP Request Sampler - Es el quien genera la “muestra”, es decir un request (en este caso HTTP) con la información requerida para la prueba. - Listeners: View Results Tree - Los listener sirven para “escuchar” el muestreo y almacenarlo para monitoreo, debugging, reporte, etc.
  • 23. Grabando un Escenario - Concepto de Proxy - Recorder - BlazeMeter Recorder - Template
  • 24. En segunda base... - Timers - Sirven para emular los “think times” de los usuarios, de acuerdo al alcance pueden afectar cada request individualmente o todos los requests. - Assertions - Sirven para determinar si una prueba pasa o falla, por ejemplo determinando si la página web devuelve o no un resultado. - Pre Procesors - Se ejecutan antes del sampler (request) para por ejemplo, preparar la data - Post Procesors: - Se ejecutan despues del sampler para, por ejemplo, analizar una expresión regular y parsear un valor en una variable (para su utilización)
  • 25. Variables & Funciones ● User Defined Variables (Constantes) ● User Parameters ● Funciones ● Variables definidas en Lenguajes de Scripting Sólo se setean en el TestPlan
  • 26. Properties ● System Properties ● Jmeter Properties ○ Custom Properties ● User Properties Se setean dentro y fuera (en el archivo de Properties) del TestPlan Sirven para pasar info entre Thread Groups
  • 27. Properties ● Orden: ○ jmeter -> user -> system ● Jmeter Properties -> “Read Only” ○ Usar user.properties para agregar properties ● Funciones: __P, __setProperty, __getProperty
  • 28. Config Elements - HTTP Request defaults - HTTP Header Manager - HTTP Cache Manager - HTTP Cookie Manager - HTTP Authorization Manager - DNS Cache Manager
  • 29. Scoping - Samplers y Logical Processors son el equivalente de los statements - Resto de Elementos, su alcance depende de su posición en el Test Plan ★ Usar los Managers (Cookie, Header, etc.) a nivel Test Plan
  • 30. Execution Order 1. Config Elements 2. Pre Processors 3. Timers 4. Samplers 5. Post Processors 6. Assertions 7. Listeners
  • 31. Logging ● Basado en Log4J Framework ○ NONE- Apagado ○ ERROR - Errores Severos, Inesperados, en RT ○ WARN - Uso de APIs deprecadas, ‘casi’ errores, otras situaciones en RT que son indeseables o inesperadas pero no necesariamente ‘erróneas’ ○ INFO - Eventos en RT ○ DEBUG - Información detallada del flujo
  • 32. Correlación 1- Obtener ID Sesión 2- ID = ab8221897ydau 4- Hace algo, mi ID es ab8221897ydau 5 - 200 - OK (Pudiste Hacerloe) 3- Guardá ID ab8221897ydau
  • 33. Armando un Escenario Complejo - Thread Group - Config Element - Header/Cookie/Cache Manager(s) - Sampler - Timer - Pre Procesor - Post Procesor - Listener
  • 34. Algunas Buenas Prácticas - Uso de Config Elements - Dan mantenibilidad y flexibilidad a los Scripts - Para Carga, Apagar Listeners y Ejecutar en Consola (no en GUI) - Jmeter –n –t ejemplo.jmx –l resultados.xls - Usando Data Driven Testing - Uso de CSV Config Element (Ejemplo) - Si necesito mucha carga, utilizar el modo Distribuido - http://www.testautomationguru.com/jmeter-distributed-load-testing-using-docker/
  • 37. Header y Footer HTTP/1.1 200 OK Date: Sun, 18 Oct 2009 08:56:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Sat, 20 Nov 2004 07:16:26 GMT ETag: "10000000565a5-2c-3e94b66c2e680" Accept-Ranges: bytes Content-Length: 44 Connection: close Content-Type: text/html X-Pad: avoid browser bug <html><body><h1>Bienvenidos a Argentesting!</h1></body></html> HEADER BODY
  • 39. Verbos y Response Codes VERBOS: GET POST PUT DELETE HEAD OPTIONS TRACE MENSAJES 1xx (Informational): Request received, server is continuing the process. 2xx (Success): The request was successfully received, understood, accepted and serviced. 3xx (Redirection): Further action must be taken in order to complete the request. 4xx (Client Error): The request contains bad syntax or cannot be understood. 5xx (Server Error): The server failed to fulfill an apparently valid request.