Está en la página 1de 15

TESTING

Objetivo

Conocer los conceptos y estrategias para la aplicación de pruebas en


microservicios.
TEMAS

• Estrategias de pruebas.
• Pruebas unitarias.
• Pruebas de integración
• Pruebas de contrato.
• Pruebas complicadas de extremo a
extremo.

Spre
Testing (pruebas de microservicios)
Una arquitectura de microservicio consta de servicios pequeños, implementables de
forma independiente y centrados en la responsabilidad única.

Estos servicios se pueden agregar juntos para realizar una aplicación empresarial
completa.

Una sola instancia de un microservicio debe servir a una sola responsabilidad


empresarial en la aplicación empresarial.

Estos servicios son independientes entre sí, y se pueden probar e implementar


fácilmente cada uno individualmente.
Testing (pruebas de microservicios)
Definir estrategia de pruebas.

La cantidad exacta de cada prueba que desee hacer dependerá de la


naturaleza de su sistema, pero el punto clave que debe comprender es que
tiene múltiples opciones en términos de cómo probar su sistema.

La tendencia recientemente se ha alejado de cualquier prueba manual a gran


escala a favor de automatizar tanto como sea posible y, ciertamente,
¿estamos de acuerdo con este enfoque?
Estrategia piramidal de pruebas
Estrategia piramidal de pruebas.
Como se puede ver en el diagrama, el enfoque piramidal de prueba es
extremadamente eficiente para una aplicación monolítica. Durante mucho
tiempo, esta estrategia fue utilizada por la mayoría de las empresas en el
mundo del software. Sin embargo, en un mundo de microservicios, este enfoque
no es muy adecuado para la mejor manera de probar una aplicación basada en
microservicios. Porque la mayor complejidad no está dentro del propio
microservicio, sino en cómo interactúan los microservicios con otros
microservicios. Pero el enfoque anterior se centra mucho en las pruebas
unitarias en lugar de en las pruebas de integración. Es por eso que un enfoque
de este tipo puede ser perjudicial para la aplicación de microservicios.
Estrategia de pruebas panal (honeycomb).

En la arquitectura de microservicios, tener


demasiadas pruebas unitarias con una definición
pequeña para cada microservicio no es la mejor
opción. Cada microservicio está enlazado con una
sola capacidad empresarial, no con todo un negocio.
Esto podría ser simplemente una pequeña parte del
ámbito empresarial, por lo que no vale la pena escribir
demasiados casos de prueba unitaria para un
microservicio. Una mejor manera de estructurar
nuestras pruebas para microservicios sería a través
del panal de prueba, como se ve en el anterior
diagrama.
Tipos de pruebas.

• Pruebas unitarias.
• Pruebas de integración.
• Pruebas de contratos o de API.
• Pruebas de extremo a extremo.
Pruebas unitarias.

Como en todo proyecto ya sea monolítico o no,


son necesarias pruebas unitarias.
Mediante las pruebas unitarias comprobaremos
la funcionalidad de los métodos o módulos de
código que creamos necesarios.
Pruebas unitarias.

Una unidad puede consistir en una línea de código, un método o una clase. Las
pruebas unitarias se refieren a probar una unidad en particular para cualquier error o
problema. Óptimamente, cuanto más pequeña es la unidad, mejor es, porque esto
permite probar en un nivel más granular, y da una visión más precisa de lo bien que
está funcionando el código general.

El factor más importante de las pruebas unitarias es que, mediante la ejecución de


muchas pruebas pequeñas, en lugar de una prueba grande, puede completar el
proceso de prueba en cuestión de segundos o minutos, en lugar de horas,
dependiendo del tamaño del código.
Pruebas de integración.
Una prueba de integración es lo opuesto a
una prueba unitaria. En la arquitectura de
microservicios, las pruebas de integración se
usan normalmente para comprobar las
interacciones entre diferentes capas de
código de integración y componentes
externos.
Cada microservicio se comunica con otros
microservicios, por lo que el correcto
funcionamiento de las comunicaciones entre
servicios es una parte muy crítica de las
pruebas de arquitectura de microservicios.
Pruebas de contrato

La arquitectura de los microservicios


depende de la comunicación entre los
diferentes servicios. Cada microservicio
presenta una API que consumen los
demás microservicios, cuando la
diseñamos estamos definiendo un
“contrato”. Debemos realizar los
diferentes tests a las APIs de los
microservicios para garantizar que se
mantiene el “contrato”.
Pruebas complicadas de extremo a extremo

En un sistema de microservicio, las


capacidades que exponemos a través de
nuestras interfaces de usuario son
entregadas por una serie de servicios.

El objetivo de las pruebas de extremo a


extremo, es impulsar la funcionalidad a
través de estas interfaces de usuario
contra todo lo que hay debajo para
brindarnos una descripción general de
una gran cantidad de nuestro sistema.
GRACIAS POR
LA ATENCIÓN
Nos vemos en la
próxima clase

También podría gustarte