Your SlideShare is downloading. ×
0
Agenda
• Introducción y background
– Functional Testing Automation
– Performance Testing Automation
– Motivación
• Propues...
Funcional Testing Automation
• Record and Playback
• User interface level automation
• Selenium
Intro a Selenium
Tester / User
SUT: System Under Test
Manual Test Case
Execution
Intro a Selenium
Functional
Test Scripts
Selenium captura las
Interactiones del usuario
Tester / User
Ejecución y reporte
...
Performance Testing Automation
• Record and playback, pero a nivel de
Protocolo
• Load generator ( )
– Simulación de múlti...
¿Cómo capturar el tráfico?
Performance
Test Scripts
captura el
trafico HTTP
Tester / User
Ejecución y reportes
SUT: System...
Performance Test Script
Dependiendo del
sistema,
1 linea en Selenium
es equivalente a 200
lineas in OpenSTA
Performance Testing Methodology
• Vázquez, G., Reina, M., Toledo, F., de Uvarow, S., Greisin, E., López, H.:
Metodología d...
Motivación
• Performance testing es muy caro
• No hay flexibilidad
– Si la aplicación cambia, es necesario reconstruir
los...
Proposal Overview
Functional
Test Scripts
System Under
Test
HTTP traffic
Sniffer HTTP
Automatic Test Case
Execution
HTTP s...
Proposal Overview
Functional
Test Scripts
Http session
Http session
model
Generate
Performance Test
Scripts
Generate
Artefactos del Proceso
Meta-model
Relacionado con el Protocolo
Relacionado con el script de prueba funcional
Test code generation
Generación Automatica
• Se insertan Timers
• Se agregan las mismas Validaciones as que hay en
el Script Selenium
• Se Modu...
Empirical Validation: Industrial Use
Proyecto SUT # Scripts # VU
Human Resources
System
Base de datos AS400, Java Web
sobr...
Resultados
• El esfuerzo requerido sin nuestro framework
se reduce más de 5 veces
– Enfoque Tradicional : 6 a 10 horas por...
Related Work
• Generation of performance tests (Web Services)
– García Domínguez et al.: Performance Test Case Generation ...
Conclusions
• Objetivos buscados para performance testing
– Mejorar flexibilidad
– Reducir costos
• Trabajo Futuro
– Gener...
Acknowledgement:
(ftoledo@abstracta.com.uy)
(mreina@abstracta.com.uy)
(fbaptista@abstracta.com.uy)
(macario.polo@uclm.es)
...
Generación de pruebas de performance a partir de pruebas funcionales para sistemas web
Generación de pruebas de performance a partir de pruebas funcionales para sistemas web
Upcoming SlideShare
Loading in...5
×

Generación de pruebas de performance a partir de pruebas funcionales para sistemas web

145

Published on

Las pruebas de rendimiento consisten en simular carga en el sistema bajo pruebas para analizar el desempeño de la infraestructura durante la ejecución de la prueba, pudiendo encontrar cuellos de botella y oportunidades de mejora. Para la simulación se utilizan herramientas específicas, en las que se debe automatizar las acciones que generarán esa carga, esto es: las interacciones entre el usuario y el servidor. Para poder simular muchos usuarios con poca infraestructura de pruebas, se automatizan las interacciones a nivel de protocolo (en scripts), lo cual hace que la automatización sea más compleja (en cuanto al trabajo necesario para su preparación) que la automatización de pruebas funcionales, que se realiza a nivel de interfaz gráfica. Generalmente la tarea de automatización consume entre el 30% y el 50% del esfuerzo de un proyecto de pruebas de rendimiento. En este artículo presentamos la herramienta desarrollada para seguir un nuevo enfoque para generar scripts para pruebas de rendimiento a partir de scripts de pruebas funcionales. La herramienta implementada ya ha sido puesta en funcionamiento en proyectos reales, de los cuales se muestran los principales resultados que reflejan mayor flexibilidad y menor costo de automatización.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
145
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Generación de pruebas de performance a partir de pruebas funcionales para sistemas web"

  1. 1. Agenda • Introducción y background – Functional Testing Automation – Performance Testing Automation – Motivación • Propuesta • Trabajo Relacionado • Conclusiones y trabajo futuro
  2. 2. Funcional Testing Automation • Record and Playback • User interface level automation • Selenium
  3. 3. Intro a Selenium Tester / User SUT: System Under Test Manual Test Case Execution
  4. 4. Intro a Selenium Functional Test Scripts Selenium captura las Interactiones del usuario Tester / User Ejecución y reporte SUT: System Under Test Manual Test Case Execution This is record and playback!
  5. 5. Performance Testing Automation • Record and playback, pero a nivel de Protocolo • Load generator ( ) – Simulación de múltiples Virtual Users concurrentes desde pocas máquinas de prueba – No pueden ser simulados con navegadores reales – Entonces, la herramienta ejecuta procesos que simulan el tráfico HTTP
  6. 6. ¿Cómo capturar el tráfico? Performance Test Scripts captura el trafico HTTP Tester / User Ejecución y reportes SUT: System Under Test HTTP traffic Web Server Manual Test Case Execution
  7. 7. Performance Test Script Dependiendo del sistema, 1 linea en Selenium es equivalente a 200 lineas in OpenSTA
  8. 8. Performance Testing Methodology • Vázquez, G., Reina, M., Toledo, F., de Uvarow, S., Greisin, E., López, H.: Metodología de Pruebas de Performance. Presented at the JCC (2008). Test Design Automation Execute AnalyzeFixEntre el 30% y 50% en tareas de automatización
  9. 9. Motivación • Performance testing es muy caro • No hay flexibilidad – Si la aplicación cambia, es necesario reconstruir los scripts Objetivos para performance testing automation • Reducir costos • Mejorar la flexibilidad
  10. 10. Proposal Overview Functional Test Scripts System Under Test HTTP traffic Sniffer HTTP Automatic Test Case Execution HTTP session System Under Test Interface
  11. 11. Proposal Overview Functional Test Scripts Http session Http session model Generate Performance Test Scripts Generate
  12. 12. Artefactos del Proceso
  13. 13. Meta-model Relacionado con el Protocolo Relacionado con el script de prueba funcional
  14. 14. Test code generation
  15. 15. Generación Automatica • Se insertan Timers • Se agregan las mismas Validaciones as que hay en el Script Selenium • Se Modulariza como en el Script Selenium • Se Parametrizan los datos tal como estaba en el Selenium Script (data-driven testing) • Cualquiera de estas tareas lleva menor esfuerzo a nivel de UI que a nivel de protocolo
  16. 16. Empirical Validation: Industrial Use Proyecto SUT # Scripts # VU Human Resources System Base de datos AS400, Java Web sobre Websphere 14 317 Production Management System Base de datos AS400, C# Web sobre Microsoft Internet Information Services 5 55 Courts Management System Java Web sobre Tomcat con base de datos Oracle 5 144 Auction System Java Web sobre Tomcat con base de datos MySQL 1 2000 Logistics System Java Web sobre Weblogic con base de datos Oracle 9 117
  17. 17. Resultados • El esfuerzo requerido sin nuestro framework se reduce más de 5 veces – Enfoque Tradicional : 6 a 10 horas por script – Nuestro enfoque: 1 a 5 horas por script • Flexibilidad – Mantenimiento en enfoque tradicional: reconstruir los script casi completamente – Nuestro enfoque: ajustar scripts Selenium, regenerar
  18. 18. Related Work • Generation of performance tests (Web Services) – García Domínguez et al.: Performance Test Case Generation for Java and WSDL-based Web Services from MARTE. Advances in Internet Technology. 2012. • Generation of performance tests (Web Systems) – Use Selenium scripts for performance testing • TestMaker (www.pushtotest.com) • Scaleborn (www.scaleborn.com) • Generation of performance tests (Web Systems) – De Sousa: Reusing Functional Testing in order to Decrease Performance and Stress Testing Costs. SEKE 2011. • Generate statically the Selenium scripts to JMeter scripts. They do not consider the http traffic – Secondary requests, 302, … – Java scripts
  19. 19. Conclusions • Objetivos buscados para performance testing – Mejorar flexibilidad – Reducir costos • Trabajo Futuro – Generar para distintos Load Generators • JMeter (jmeter.apache.org) • Considerando diferentes protocolos o tecnologías
  20. 20. Acknowledgement: (ftoledo@abstracta.com.uy) (mreina@abstracta.com.uy) (fbaptista@abstracta.com.uy) (macario.polo@uclm.es) (beatriz.plamancha@uclm.es) Generación de Pruebas de Rendimiento a Partir de Pruebas Funcionales para Sistemas Web MSc. Federico Toledo Eng. Matías Reina Eng. Fabián Baptista PhD. Macario Polo Usaola PhD. Beatriz Pérez Lamancha Gracias ¿Preguntas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×