Capacitación en diseño de Beida Jade Bird: ¿Cómo mejorar la capacidad de prueba de los proyectos de programación Java?
Las pruebas de software son una tarea que poco a poco se va incorporando a la agenda con el avance de los proyectos de desarrollo de programación de software.
Hoy, Yuncheng Computer Training/ aprenderá cómo mejorar la capacidad de prueba de la programación Java desde los siguientes aspectos.
En las pruebas empresariales, el software debe probarse de la misma manera que se ejecutaría en un entorno de producción para garantizar que funcione como se espera.
Un desafío común es que las aplicaciones de microservicios dependen directa o indirectamente de otros servicios que deben orquestarse en el escenario de prueba.
El escenario de prueba supone que queremos probar el comportamiento de la aplicación sin tener en cuenta otros servicios externos.
La aplicación debe ejecutarse y configurarse de la misma manera que el entorno de producción para garantizar que se comporte de manera consistente en el entorno de producción en el futuro.
En las pruebas, utilizaremos la interfaz de comunicación definida para conectarnos a la aplicación.
Sin embargo, los servicios externos no deben ser parte del escenario de prueba.
Generalmente, al realizar pruebas debemos centrarnos en el objeto que se está probando e ignorar otros objetos.
Por lo tanto, utilizamos un servidor simulado en lugar de un servicio externo.
La orquestación de contenedores utilizando servidores simulados en lugar de instancias reales contradice la idea de ejecutar microservicios de la misma manera que en producción, donde la configuración cambiará.
Sin embargo, si nuestra aplicación se implementa en un clúster de orquestación de contenedores (como Kubernetes), podemos usar nombres de servicios abstractos como configuración y dejar que el clúster resuelva las instancias del servicio backend por sí solo.
En un escenario de prueba, no solo se conecta a la aplicación para llamar a la lógica de negocios, sino que también se comunica con el servidor simulado, controla el comportamiento de respuesta en una interfaz de administración separada y verifica que la aplicación se comporta de la manera correcta Llame al servidor simulado.
Esto es similar a las pruebas unitarias a nivel de clase, generalmente implementadas usando JUnit y Mockito.
Servicios externos La configuración anterior nos permite simular y controlar los servicios que se ejecutan dentro del clúster de orquestación de contenedores.
¿Qué pasa con los servicios externos que están fuera del clúster? Normalmente, podemos crear un servicio de Kubernetes sin un selector, dejar que apunte a una IP externa y reescribir nuestra aplicación para que siempre utilice el servicio. nombre resuelto por el clúster.
De esta forma definimos un único punto al que se encaminará el servicio.
Service Grid Service Grid puede ayudarnos a solucionar problemas de comunicación entre microservicios.
Actualmente, Istio es una de las tecnologías de malla de servicios más utilizadas.
Agrega un contenedor proxy complementario que vive directamente con el contenedor de la aplicación, lo que puede resolver el problema de comunicación entre microservicios y también puede usarse para manipular o ralentizar la conexión para pruebas de resiliencia.