meetup testing workshop 2016 - gatling para pruebas de performance - federico toledo y andrei...
Post on 14-Apr-2017
162 Views
Preview:
TRANSCRIPT
PhD. Federico Toledofederico@abstracta.usTwitter: @fltoledo
Gatling para Pruebas de
Performance
Ing. Andrei Guchínandrei@abstracta.usTwitter: @andreig09
Involucrados en testing
+220
+290
+100Charlas, cursos,
papers, artículos,etc.
+25 colaboradores8 chicos trabajando
+60 formados
México
+120
Involucrados en testing
Uruguay
Prejuicios del testing:• Es aburrido• Es repetitivo• No tiene desafíos• Es el trabajo para el
programador nuevo
¿Por qué trabajas en testing?
¿No conseguiste otra cosa mejor?
Optimizar Performance
Performance – Client Side
WebPageSpeed Insights developers.google.com/speed/pagespeed/insights Webpage Test www.webpagetest.orgSiteSpeed run.sitespeed.io Yslow www.yslow.org Monkeytest www.monkeytest.it
Mobile Nativa Monkop www.monkop.com
Optimizar Performance
Sour
ce: h
ttp://
www.
min
iatu
r-wun
derla
nd.d
e/
Simular
Medir
Bottlenecks / Punto de Quiebre
Tipos de Pruebas de Performance
Simulación y medición
Simulación JMeter (jmeter.apache.org)Taurus (gettaurus.org)BlazeMeter (blazemeter.com)Gatling (gatling.io)
Medición Profilers y similar (JVisualVM, JProfiler, dotTrace)Herramientas a nivel de Sistema Operativo (NMON, perfmon, Netdata)APMs (AppDynamics, NewRelic, DataDog)
Automatización / robotización
}
Servidor Web
ModellerModeller
Http - RequestHttp - Responsegrabar
1
Se
abre
1.1Se abre
1.2
Acciones2
Terminar de grabar3
3.1
Tenemos el script
Http - Request
Http - Response
Http - Request
Http - Response
¿Cómo se prepara un UV?
Gatling
¿Por qué Gatling?• Opensource• Buena performance• Buenos reportes• Fácil de aprender (Scala, DSL)• Portable (sobre JVM)• Potente y flexible
• Variedad de assertions• Flexibilidad de definición de escenarios• Data providers
• Escalable (Taurus+BlazeMeter, Flood.io, etc.)
Gatling - Lenguaje
Gatling - Recorder
Gatling - Scripting
Assertions• Response Time• Successful requests
• (http codes, assertions)• Requests per second
• Scope: global, forall, details(path) • path = definido en el request http• (“Search” / “Index”) para indicar request en un
grupo
• Number of requests: percent, permillion, count• Response time: min, max, percentile, mean,…
Gatling - Scripting
Assertions
Gatling - Scripting
Data sources (Feeders)
• Array, Archivo CSV• Json, JDBC, etc.• User dependent data• Random, queue,
suffle, circular
Ejemplo: https://github.com/Senescyt/pruebas-rendimiento
Gatling - Scripting
Variable correlation: Checks
• Location • Headers • Body • Regular expressions
Correlation • “saveAs(key)”
Gatling - Scripting
Control de flujo• doIf / doIfOrElse / doSwitch• Repeat / foreach• Pause • tryMax
Gatling - Escenarios
Gatling - Mantenibilidad
Page Objects, similar a enfoque utilizado en Selenium.
Gatling - Ejecución
Gatling - Reporte
Gatling - Reporte
GatlingDemo y ejercicios
http://bit.do/SlackTestingAcademyChannel: #tw_gatling
Gatling¿Qué les pareció?
Beneficios? Experiencias? Desafíos?
Gatling - Referencias
• http://gatling.io/• http://blog.abstracta.com.uy/search/label/Gatling• http://gatling.io/docs/2.2.3/index.html • http://gettaurus.org/ • http://blazemeter.com/• https://flood.io/ • http://scala-lang.org/ • Algunos ejemplos y posts en Español
• https://juliomunoz.wordpress.com/2014/11/13/probando-gatling/ • http://emerrefe.github.io/qa-blog/Gatling-tool-pruebas-de-stress/ • https://github.com/Senescyt/pruebas-rendimiento • http://nbortolotti.blogspot.com.uy/2015/06/una-prueba-de-estres-para-mi-aplicacion.html
¿Siguen pensando que el testing es aburrido y sin desafíos técnicos?
Si les gustó… los invito
Certificación en testing de performance usando JMeter y BlazeMeter
• Curso online de un mes• www.abstracta.us/training
10% de descuento usando este cupón este mes
PERFMATTERS
http://bit.do/librodetesting
Silicon Valley office425 Broadway Street Redwood City, CA
HeadquartersJose Ellauri 1126 Montevideo, Uruguay
www.abstracta.us
jobs@abstracta.us
http://www.slideshare.net/FedericoToledohttp://blog.abstracta.com.uy/search/label/Gatling
¡¡Gracias!!PhD. Federico Toledofederico@abstracta.usTwitter: @fltoledo
Ing. Andrei Guchínandrei@abstracta.usTwitter: @andreig09
top related