es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Efectividad de las pruebas de extremo a extremo cuando los microservicios tienen programaciones de lanzamiento independientes.

Formo parte de un grupo de 20 desarrolladores encargados de mantener alrededor de 7 componentes (sitios web y microservicios) para un solo dominio en nuestra compañía (por ejemplo, el dominio de seguimiento de entregas).

Para garantizar la calidad, contamos con “pruebas de extremo a extremo con ámbito de dominio”. Sin embargo, nuestras pruebas de extremo a extremo tienen un problema: nuestro entorno de pruebas de extremo a extremo puede tener un componente que está en una versión diferente a la de producción. La razón de esta disparidad es que los componentes (por ejemplo, microservicios) tienen sus propios calendarios de lanzamiento.

¿Cómo manejas este problema? Mi pregunta es similar a esta (enlace: https://stackoverflow.com/questions/44043159/how-do-i-include-end-to-end-tests-across-microservices-into-multiple-continuous?rq=1).

¿Haces cumplir que las pruebas de extremo a extremo se realicen en las versiones correctas de los microservicios? Si es así, ¿cómo lo haces?

¿O aceptas el hecho de que CI y producción nunca tendrán versiones idénticas de los microservicios y simplemente confías en la supervisión de la producción?

Por último, ¿qué importancia tiene las pruebas de extremo a extremo en tu canalización de CI/CD?

Ten en cuenta que solo estoy interesado en las pruebas de extremo a extremo de nuestros microservicios, ya que me es imposible controlar cuándo se lanza un servicio de terceros.

Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en pruebas, integración continua, microservicios, devops y entrega continua, sugiero las siguientes soluciones para manejar el problema de diferentes versiones de microservicios en las pruebas end-to-end (E2E):

    1. Cumplir con las versiones correctas de microservicios en las pruebas E2E:

    Para asegurar pruebas E2E confiables, es esencial probar con la versión correcta de los microservicios. Por lo tanto, sugiero hacer cumplir el uso de las versiones correctas de los microservicios en las pruebas E2E. Esto se puede lograr manteniendo un mapa de versiones que especifique la versión correcta de cada microservicio para un entorno dado y asegurándose de que la versión correcta de cada microservicio esté desplegada en el entorno E2E antes de ejecutar las pruebas. Esto se puede automatizar utilizando herramientas como Kubernetes, Helm o Terraform.

    1. Aceptar la disparidad entre CI y producción:

    Si bien es deseable hacer cumplir el uso de las versiones correctas de los microservicios en las pruebas E2E, esto puede no ser siempre factible debido a las diferencias en los calendarios de lanzamiento o las dependencias de servicios externos. En tales casos, puede ser aceptable aceptar la disparidad entre CI y producción y confiar en el monitoreo de producción para detectar problemas. Sin embargo, este enfoque solo debe tomarse como último recurso y debe ir acompañado de mecanismos sólidos de monitoreo y alerta para detectar problemas en producción.

    1. Importancia de las pruebas E2E:

    Las pruebas E2E son un componente crucial en el flujo de trabajo de CI/CD, especialmente en la arquitectura de microservicios. Ayudan a identificar problemas que pueden surgir debido a cambios en interfaces, dependencias o interacciones entre microservicios. Por lo tanto, es importante asegurarse de que las pruebas E2E se realicen como parte del flujo de trabajo de CI/CD y que los resultados se monitoreen en busca de problemas.

    En conclusión, como experto en TI especializado en pruebas, integración continua, microservicios, devops y entrega continua, recomendaría hacer cumplir el uso de las versiones correctas de los microservicios en las pruebas E2E para garantizar la confiabilidad, pero también aceptar la disparidad entre CI y producción cuando sea necesario. Además, las pruebas E2E deberían considerarse un componente crucial en el flujo de trabajo de CI/CD para la arquitectura de microservicios.

Comments are closed.