7. Nuestra agenda
Érase una vez …
★ Una historia sobre un pipeline en
rojo y un despliegue bloqueado
Algunos conceptos …
★ ¿Por qué probamos la integración
entre servicios?
★ Integración continua y entrega
8. Nuestra agenda
Érase una vez …
★ Una historia sobre un pipeline en
rojo y un despliegue bloqueado
Algunos conceptos …
★ ¿Por qué probamos la integración
entre servicios?
★ Integración continua y entrega
… luego, patrones …
★ Para probar la colaboración entre
servicios
9. Nuestra agenda
Érase una vez …
★ Una historia sobre un pipeline en
rojo y un despliegue bloqueado
Algunos conceptos …
★ ¿Por qué probamos la integración
entre servicios?
★ Integración continua y entrega
… luego, patrones …
★ Para probar la colaboración entre
servicios
… y vivieron felices por siempre …
★ Imitadores guiados por el consumidor
★ Pruebas de contrato automatizadas
10. Nuestra agenda
Érase una vez …
★ Una historia sobre un pipeline en
rojo y un despliegue bloqueado
Algunos conceptos …
★ ¿Por qué probamos la integración
entre servicios?
★ Integración continua y entrega
… y para cerrar, algunas herramientas …
★ Herramientas para simular Servicios Web
★ Stubby, ¿qué es? y ¿cómo funciona?
… luego, patrones …
★ Para probar la colaboración entre
servicios
… y vivieron felices por siempre …
★ Imitadores guiados por el consumidor
★ Pruebas de contrato automatizadas
21. Registran el
código
Construye código.
Ejecuta pruebas
Detecta cambios
en el código
Desarrollan el
código
Las pruebas
fallan
SISTEMA
DE GESTIÓN
DE CÓDIGO
FUENTE
BUILD
SERVER
PRUEBAS DE
ACEPTACIÓN
22. Registran el
código
Construye código.
Ejecuta pruebas
Detecta cambios
en el código
Desarrollan el
código
Las pruebas pasan.
Despliegue a UAT.
Las pruebas
fallan
SISTEMA
DE GESTIÓN
DE CÓDIGO
FUENTE
BUILD
SERVER
PRUEBAS DE
ACEPTACIÓN
23. Registran el
código
Construye código.
Ejecuta pruebas
Detecta cambios
en el código
Desarrollan el
código
Las pruebas pasan.
Despliegue a UAT.
Las pruebas
fallan
SISTEMA
DE GESTIÓN
DE CÓDIGO
FUENTE
BUILD
SERVER
PRUEBAS DE
ACEPTACIÓN
Cliente puede ver
cambios en tiempo real
33. Registro de
código
Pruebas
unitarias y de
integración
Despliegue a
ambiente de
pruebas
Pruebas de
aceptación
automatizadas
Despliegue a
producción
Integración
continua
Entrega continua
34. Registro de
código
Pruebas
unitarias y de
integración
Despliegue a
ambiente de
pruebas
Pruebas de
aceptación
automatizadas
Despliegue a
producción
Integración
continua
Entrega continua
35. Una historia sobre un pipeline en rojo y un despliegue bloqueado
ÉRASE UNA VEZ …
78. Algunos patrones para probar tu aplicación cuando depende de
servicios externos sobre los que no tienes control
PATRONES
79.
80. Llevar a cabo pruebas completas de extremo a extremo
en un entorno previo a producción.
Despliegues secuenciales
81. Llevar a cabo pruebas completas de extremo a extremo
en un entorno previo a producción.
Despliegues secuenciales
82. Llevar a cabo pruebas completas de extremo a extremo
en un entorno previo a producción.
Despliegues secuenciales
83.
84. El proveedor proporciona despliegue automatizado
permitiéndote desplegar su servicio en tu ambiente.
Ambientes aislados
85. El proveedor proporciona despliegue automatizado
permitiéndote desplegar su servicio en tu ambiente.
Ambientes aislados
86. El proveedor proporciona despliegue automatizado
permitiéndote desplegar su servicio en tu ambiente.
Ambientes aislados
Localhost
87.
88. Utilizar una instancia de pruebas del servicio externo
desplegado en un ambiente compartido para cada
despliegue o para cada compilación exitosa.
Modelo SaaS
89. Utilizar una instancia de pruebas del servicio externo
desplegado en un ambiente compartido para cada
despliegue o para cada compilación exitosa.
Modelo SaaS
90. Utilizar una instancia de pruebas del servicio externo
desplegado en un ambiente compartido para cada
despliegue o para cada compilación exitosa.
Modelo SaaS
91.
92. Pruebas de contrato
guiadas por el consumidor
Establecer un contrato entre el productor y el
consumidor. Hacer cumplir estos contratos con pruebas
automatizadas.
93. Establecer un contrato entre el productor y el
consumidor. Hacer cumplir estos contratos con pruebas
automatizadas.
Pruebas de contrato
guiadas por el consumidor
94. Establecer un contrato entre el productor y el
consumidor. Hacer cumplir estos contratos con pruebas
automatizadas.
Pruebas de contrato
guiadas por el consumidor
95.
96. Crea imitadores de tus servicios externos. Si quieres
mayor seguridad, agrega pruebas de contrato.
Imitadores guiados por el
consumidor
97. Crea imitadores de tus servicios externos. Si quieres
mayor seguridad, agrega pruebas de contrato.
Imitadores guiados por el
consumidor
98. Crea imitadores de tus servicios externos. Si quieres
mayor seguridad, agrega pruebas de contrato.
Imitadores guiados por el
consumidor
Localhost
Imitador
Imitador
99. Y VIVIERON FELICES POR
SIEMPRE
Simulando servicios externos y agregando pruebas de contrato
146. 8882: Stubby4J
file.yaml
¿Cómo levantar Stubby4J?
java -jar stubby4j-x.x.xx.jar -d
<DIRECTORIO_AL_ARCHIVO_YAML_LOCAL>
Ejecutando el .jar
Con la API
programática
StubbyClient stubbyClient = new StubbyClient();
stubbyClient.startJetty("/resources/file.yaml");
147. 8882: Stubby4J
file.yaml
¿Cómo levantar Stubby4J?
java -jar stubby4j-x.x.xx.jar -d
<DIRECTORIO_AL_ARCHIVO_YAML_LOCAL>
Ejecutando el .jar
Con la API
programática
StubbyClient stubbyClient = new StubbyClient();
stubbyClient.startJetty("/resources/file.yaml");