Your SlideShare is downloading. ×
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE

449

Published on

Un Método de Generación de Pruebas de …

Un Método de Generación de Pruebas de
Rendimiento para Múltiples Tecnologías desde
Modelos UML con Anotaciones MARTE.
Jornadas SISTEDES 2012
Universidad de Almería

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

  • Be the first to like this

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuro Un Método de Generación de Pruebas de Rendimiento para Múltiples Tecnologías desde Modelos UML con Anotaciones MARTE A. García Domínguez e I. Medina Bulo SE Universidad de Cádiz, España JISBD 2012 18 septiembre, 2012A. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 1 / 19
  • 2. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroContenidos 1 Introducción Motivación Modelos de rendimiento Algoritmos de inferencia 2 Generación de artefactos de prueba de rendimiento Enfoque general Desde pruebas unitarias en Java Desde documentos WSDL 3 Conclusiones y trabajo futuroA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 2 / 19
  • 3. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroMotivación Rendimiento como requisito En algunos contextos, puede ser clave para tener éxito Se firman Acuerdos de Nivel de Servicio en partes críticas Es difícil garantizar el cumplimiento de un acuerdo en una composición de Servicios Web Principal reto: dependencia en otros servicios ¿Cuánto rendimiento debemos pedir? Insuficiente: no cumpliremos nuestro acuerdo Excesivo: pagaremos más de la cuentaA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 3 / 19
  • 4. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroEnfoques existentes para obtener el rendimiento deseado¿Desde acuerdos o desde código? ¿Ascendente o descendente? Ingeniería de rendimiento tradicional: acuerdos, ascendente Tenemos acuerdos para todos los componentes Estimamos el rendimiento global y comparamos ¿Y si no tenemos esa información para algún servicio? Perfilado o monitorización: código, ascendente Hemos implementado todos los servicios Medimos tiempos reales y corregimos cuellos de botella ¿Y si tenemos que firmar un acuerdo antes de implementar?A. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 4 / 19
  • 5. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroNuestro enfoque: inferencia de rendimiento Características Desde acuerdos, descendente Tenemos requisitos para la composición y anotaciones locales con nuestros conocimientos parciales sobre los servicios usados Inferimos el rendimiento mínimo a exigir a los servicios Ventajas Puede usar la información incompleta que haya disponible sobre los servicios Puede ayudar a definir el acuerdo antes de implementarA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 5 / 19
  • 6. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroEjemplo de modelo: motor de búsqueda de viajes Consultar Aerolínea A Recibir Consulta Consultar Aerolínea B Consultar c Hotel C Reservar !c Consultar Hotel DA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 6 / 19
  • 7. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroInferencia de peticiones por segundo «gastep» {throughput = ?} «gastep» CAA «gascenario» {throughput = ?} {throughput = RC «gastep» (10Hz, req)} {throughput = ?} CAB «gastep» «gastep» {prob = 0.8} {throughput = ?} c «gastep» CHC {throughput = ?} «gastep» «gastep» R {prob = 0.2} {throughput = ?} !c CHDA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 7 / 19
  • 8. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroInferencia de peticiones por segundo «gastep» {throughput = 10} «gastep» CAA «gascenario» {throughput = 10} {throughput = RC «gastep» (10Hz, req)} {throughput = 10} CAB «gastep» «gastep» {prob = 0.8} {throughput = 8} c «gastep» CHC {throughput = 10} «gastep» «gastep» R {prob = 0.2} {throughput = 2} !c CHDA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 7 / 19
  • 9. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroInferencia de tiempos límite «gastep» {hostDemand «gascenario» = {(5, req)}} {respT = (10s, req)} «gastep» {hostDemand QAA «gaanalysiscontext» = {(sRP, req)}} {contextParams = { «gastep» {hostDemand sRP = ?, sAB = ?, RR sHC = ?, sHD = ?, = {(sAB, req)},rep=3} sR = ?}} QAB «gastep» {hostDemand = {(sHC, req)}} QHC «gastep» {hostDemand = {(3 × sR, req)}} «gastep» {hostDemand B = {(2 + sHD, req)}} QHDA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 8 / 19
  • 10. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroInferencia de tiempos límite «gastep» {hostDemand «gascenario» = {(5, req)}} {respT = (10s, req)} «gastep» {hostDemand QAA «gaanalysiscontext» = {(sRP, req)}} {contextParams = { «gastep» {hostDemand sRP = ?, sAB = ?, RR sHC = ?, sHD = ?, = {(sAB, req)},rep=3} sR = ?}} QAB «gastep» {hostDemand = {(sHC, req)}} QHC «gastep» {hostDemand = {(3 × sR, req)}} «gastep» {hostDemand B = {(2 + sHD, req)}} QHDA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 8 / 19
  • 11. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroInferencia de tiempos límite «gastep» {hostDemand «gascenario» = {(5, req)}} {respT = (10s, req)} «gastep» {hostDemand QAA «gaanalysiscontext» = {(sRP, req)}} {contextParams = { «gastep» {hostDemand sRP = 0,6, sAB = 1,66, RR sHC = 2,6, sHD = 0,6, = {(sAB, req)},rep=3} sR = 0,6}} QAB «gastep» {hostDemand = {(sHC, req)}} QHC «gastep» {hostDemand = {(3 × sR, req)}} «gastep» {hostDemand B = {(2 + sHD, req)}} QHDA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 8 / 19
  • 12. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroContenidos 1 Introducción Motivación Modelos de rendimiento Algoritmos de inferencia 2 Generación de artefactos de prueba de rendimiento Enfoque general Desde pruebas unitarias en Java Desde documentos WSDL 3 Conclusiones y trabajo futuroA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 9 / 19
  • 13. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroPunto de partida Modelo de Modelo rendimiento diseño/impl. Transformación M2T Artefactos de pruebas ¿Cómo podemos relacionar los modelos de rendimiento con los modelos de diseño e implementación, a la vez que los mantenemos limpios de detalles innecesarios?A. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 10 / 19
  • 14. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroEntrelazado de modelos para unir rendimiento y diseño Modelo de Modelo rendimiento diseño/impl. Modelo Transformación entrelazado M2T Artefactos de pruebas ¿Qué hacer cuando no tenemos modelos de diseño o de implementación, sino sólo código?A. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 11 / 19
  • 15. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroExtracción de modelos desde código Código Modelo de Modelo Extracción rendimiento diseño/impl. de modelos Modelo de Transformación entrelazado M2T Artefactos de pruebas ¿Qué hacer si el modelo de entrelazado no es suficientemente detallado?A. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 12 / 19
  • 16. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroRefinamiento de modelos de entrelazado y resultado final Código Modelo de Modelo Extracción rendimiento diseño/impl. de modelos Modelo de Transf. M2M entrelazado de refinado Modelo entr. Transformación refinado M2T Artefactos de pruebasA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 13 / 19
  • 17. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroGeneración desde pruebas unitarias en JavaMuchos SW se hacen en Java (Apache Axis, Apache CXF) y se prueban con JUnit Código Desc. modelos Modelo entrel. Artefactos de prueba public class MisPruebasUnitarias { @Test public void rechazado() { // ... test code ... } @Test public void aceptado() { // ... test code ... } }A. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 14 / 19
  • 18. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroGeneración desde pruebas unitarias en JavaMuchos SW se hacen en Java (Apache Axis, Apache CXF) y se prueban con JUnit Código Desc. modelos Modelo entrel. Artefactos de prueba Casos de pruebaA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 14 / 19
  • 19. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroGeneración desde pruebas unitarias en JavaMuchos SW se hacen en Java (Apache Axis, Apache CXF) y se prueban con JUnit Código Desc. modelos Modelo entrel. Artefactos de prueba Requisito de rendimiento Caso de pruebaA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 14 / 19
  • 20. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroGeneración desde pruebas unitarias en JavaMuchos SW se hacen en Java (Apache Axis, Apache CXF) y se prueban con JUnit Código Desc. modelos Modelo entrel. Artefactos de prueba @RunWith(ContiPerfSuiteRunner.class) @SuiteClasses(MyUnitTests.class) @PerfTest( invocations = 100, threads = 10) @Required(max=1000) public class PruebaCargaInferida {} Se usa la biblioteca ContiPerf para generar menos código Se pueden convertir conjuntos completos o pruebas sueltas Se pueden expresar tiempos límite como máximos, promedios, percentiles (90 %, 95 % , 99 %) o medianasA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 14 / 19
  • 21. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroGeneración desde documentos WSDL Diferencias Podemos usar el documento WSDL como modelo de diseño Necesitamos otro metamodelo específico de entrelazado Usamos una herramienta de pruebas de rendimiento separada: The Grinder Generación de casos de prueba: refinamiento del entrelazado El anterior enfoque reutilizaba pruebas existentes En este caso, el modelo de entrelazado puede especificar cómo generar las pruebas El paso de refinamiento del modelo de entrelazado podría implementar la generaciónA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 15 / 19
  • 22. Introducción Generación de artefactos de prueba de rendimiento Conclusiones y trabajo futuroConclusiones y trabajo futuro Resultados Hemos presentado un enfoque general para generar pruebas de rendimiento para varias tecnologías desde los mismos requisitos Hemos mostrado dos formas de usar este enfoque, empleando tecnologías libremente disponibles Ambos enfoques están implementados y disponibles bajo la Eclipse Public License Trabajo futuro Estrategias alternativas para generar entradas desde WSDL Validar el enfoque con casos de estudio mayoresA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 16 / 19
  • 23. Fin de la presentación ¡Gracias por su atención! Código y descargas: https://neptuno.uca.es/redmine/projects/sodmt E-mail: antonio.garciadominguez@uca.es Twitter: @antoniogadoA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 17 / 19
  • 24. Referencias I A. García-Domínguez, I. Medina-Bulo and M. Marcos-Bárcena. Model-driven design of performance requirements with UML and MARTE. Actas de ICSOFT 2011, Sevilla, España, págs. 54–63. H. Bruneliere, J. Cabot, F. Jouault, and F. Madiot. MoDisco: a generic and extensible framework for model driven reverse engineering. Actas de ASE 2010, Antwerp, Bélgica, págs. 173–174. D. S. Kolovos. Epsilon ModeLink. http://eclipse.org/epsilon/doc/modelink/A. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 18 / 19
  • 25. Referencias II V. Bergmann. ContiPerf 2. http://databene.org/contiperf.htmlA. García Domínguez e I. Medina Bulo UCASE (Universidad de Cádiz)Generación de Pruebas de Rendimiento desde MARTE 19 / 19

×