Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Charla TestingUy 2019 - Contract Testing con Pact

82 views

Published on

Expositores: Juan De Souza y Pablo Ravera

Resumen: En el contexto de arquitecturas de microservicios se hace fundamental asegurar que la comunicación entre consumidores y proveedores se preserve durante el tiempo. Para este cometido los tests de integración ocupan un lugar central, pero los mecanismos tradicionales para llevarlos a cabo resultan poco robustos y costosos de mantener.

Para resolver estos problemas aparece el concepto de contract testing generando “pactos” entre los servicios, utilizando la herramienta Pact para asegurar la correcta comunicación.

En esta charla hablaremos de la experiencia con Pact dentro de nuestro proceso de integración continua.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Charla TestingUy 2019 - Contract Testing con Pact

  1. 1. Juan de Souza | Pablo Ravera | #testinguy CONTRACT TESTING CON PACT Pablo Ravera Félix pravera@theappraisallane.com Backend developer 13 y 14 de mayo, 2019 testinguy.org @testinguy | #testinguy Juan de Souza jdesouza@theappraisallane.com QA Engineer
  2. 2. Juan de Souza | Pablo Ravera | #testinguy Temas Contexto Solución tradicional Motivación Pact al rescate Pact en acción Servidor de contratos Integración continua Demo Conclusiones
  3. 3. Juan de Souza | Pablo Ravera | #testinguy Contexto • Microservicios • Arquitectura con servicios autónomos • Pero… cómo aseguramos la comunicación?
  4. 4. Juan de Souza | Pablo Ravera | #testinguy Solución tradicional • Sustituyen el elemento faltante en el test de integración • Simulan comportamiento • Ambos lados de la interacción Mocking tests
  5. 5. Juan de Souza | Pablo Ravera | #testinguy Motivación • Actualización ante cambios • Falta elemento vinculante entre las partes Mocking tests
  6. 6. Juan de Souza | Pablo Ravera | #testinguy Consumidor - Proveedor HTTP
  7. 7. Juan de Souza | Pablo Ravera | #testinguy Pact al rescate ★ Consumer-Driven Contract Testing ★ Diferentes tecnologías ★ Servicios compatibles -> Deploy! ★ Feedback veloz ante cambios
  8. 8. Juan de Souza | Pablo Ravera | #testinguy Pact al rescate Bueno para ... ● Control sobre el desarrollo de consumidores y proveedores ● Grupo reducido de consumidores conocidos No tan bueno para ... ● APIs públicas ● Baja comunicación entre equipos ● Testing funcional
  9. 9. Juan de Souza | Pablo Ravera | #testinguy Contrato - Interacciones
  10. 10. Juan de Souza | Pablo Ravera | #testinguy Pact en acción
  11. 11. Juan de Souza | Pablo Ravera | #testinguy Pact en acción
  12. 12. Juan de Souza | Pablo Ravera | #testinguy Precondiciones en el proveedor Interacciones que dependen de otras interacciones Creación de datos
  13. 13. Juan de Souza | Pablo Ravera | #testinguy Servidor de contratos Pact Broker
  14. 14. Juan de Souza | Pablo Ravera | #testinguy Integración con Herramientas de CI pact nirvana can-i-deploy
  15. 15. Juan de Souza | Pablo Ravera | #testinguy Demo!
  16. 16. Juan de Souza | Pablo Ravera | #testinguy Conclusiones
  17. 17. Juan de Souza | Pablo Ravera | #testinguy Pablo Ravera Félix pravera@theappraisallane.com Backend developer ¿PREGUNTAS? ¡MUCHAS GRACIAS! Juan de Souza jdesouza@theappraisallane.com QA Engineer 13 y 14 de mayo, 2019 testinguy.org | @testinguy | #testinguy

×