Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuro                 ...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroContenidos      1...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroMotivación      R...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroEnfoques existent...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroNuestro enfoque: ...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroEjemplo de modelo...
Introducción           Generación de artefactos de prueba de rendimiento        Conclusiones y trabajo futuroInferencia de...
Introducción           Generación de artefactos de prueba de rendimiento         Conclusiones y trabajo futuroInferencia d...
Introducción           Generación de artefactos de prueba de rendimiento       Conclusiones y trabajo futuroInferencia de ...
Introducción           Generación de artefactos de prueba de rendimiento       Conclusiones y trabajo futuroInferencia de ...
Introducción           Generación de artefactos de prueba de rendimiento       Conclusiones y trabajo futuroInferencia de ...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroContenidos      1...
Introducción           Generación de artefactos de prueba de rendimiento        Conclusiones y trabajo futuroPunto de part...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroEntrelazado de mo...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroExtracción de mod...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroRefinamiento de mo...
Introducción           Generación de artefactos de prueba de rendimiento      Conclusiones y trabajo futuroGeneración desd...
Introducción           Generación de artefactos de prueba de rendimiento           Conclusiones y trabajo futuroGeneración...
Introducción           Generación de artefactos de prueba de rendimiento      Conclusiones y trabajo futuroGeneración desd...
Introducción           Generación de artefactos de prueba de rendimiento      Conclusiones y trabajo futuroGeneración desd...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroGeneración desde ...
Introducción           Generación de artefactos de prueba de rendimiento    Conclusiones y trabajo futuroConclusiones y tr...
Fin de la presentación                 ¡Gracias por su atención!                             Código y descargas:          ...
Referencias I            A. García-Domínguez, I. Medina-Bulo and M. Marcos-Bárcena.            Model-driven design of perf...
Referencias II            V. Bergmann.            ContiPerf 2.            http://databene.org/contiperf.htmlA. García Domí...
Upcoming SlideShare
Loading in …5
×

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

651 views
578 views

Published on

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
651
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×