Cómo escribir un plan de prueba para un microservicio

El plan de prueba para el micro servicio incluirá el siguiente tema que se responderá en detalle de acuerdo con los requisitos del proyecto

1. Objetivo

2. El enfoque / estrategia de prueba significa cómo va a probar su aplicación

Según la metodología de prueba que elija, como Agile, Waterfall, Spiral. El enfoque de prueba consistirá en una serie de actividades diferentes que se requerirán para probar la aplicación. El objetivo principal de estas actividades será descubrir las limitaciones del sistema y medir sus capacidades mejoradas.

Esto también incluirá las herramientas necesarias para las pruebas y se realizará el tipo de prueba. Al igual que para los microservicios a continuación, se requieren pruebas y herramientas.

Tipo de prueba funcional / UI

1. Pruebas unitarias

2. Prueba de contrato

3. Integración

4. Integración de extremo a extremo

5. Contrato dirigido por el consumidor

6. IU

7. Manual exploratorio

8. Rendimiento

9. Pruebas de seguridad

En esta sección se consideran varios elementos de una estrategia efectiva de prueba de Micro servicios. Las recomendaciones en esta sección se basan en una amplia experiencia en el diseño y prueba de puntajes de soluciones de prueba de Micro servicios.

Enfoque de prueba para probar microservicios

Prueba ascendente: se seguirá el enfoque de prueba ascendente para obtener la solución optimizada

• Probar el dominio

• Pruebas más cercanas al código.

• Integrar temprano

• Usa simulacros / trozos

• El foco está en la pirámide de prueba

• Ayuda a visualizar / categorizar mejor la cobertura de prueba

Escenarios de prueba importantes

Herramienta utilizada para probar micro servicios

Nagarro recomienda a continuación la herramienta de prueba para probar microservicios según el tipo de prueba y el tipo de licencia. La lista no se incluye con la herramienta de automatización funcional, ya que depende de la tecnología y el lenguaje preferido.

Herramienta

UI SOAP / Rest-Assured / Cartero / SOAtest

PRACT / Pruebas contractuales / PACTO / Janus

AppDynamics / Monitoreo / TraceView / NewRelic

Jmeter / NeoLoad / Loadrunner

3. ¿Cuál es el alcance de las pruebas? Al igual que todas las pruebas de servicios internos y externos, pruebas funcionales, pruebas de extremo a extremo.

  • La fase inicial incluirá todos los requisitos ‘imprescindibles’. Estos y otros requisitos que se incluyen deben ser probados
  • 4. Suposiciones y riesgos: esto puede identificarse en los cronogramas y desafíos del proyecto que enfrentamos al probar los micro servicios.
  • 1. Disponibilidad oportuna de todos los servicios para pruebas
  • 2. Identificar el alcance de las pruebas en cada nivel de servicio y las pruebas de integración, ya que cada componente trabaja en servicios separados y depende el uno del otro para cubrir su módulo e integración con el servicio externo.
  • 3. Extracción complicada de registros durante las pruebas y la validación de datos
  • 4. Considerando que la estrategia de desarrollo es ágil, entonces la disponibilidad del entorno de prueba es otro desafío importante
  • 5. Debido a la naturaleza distribuida e independiente de una arquitectura de microservicio, cada componente de la arquitectura está aislado del resto, necesitan probar individualmente y cubrir todos los servicios independientes.
  • 6. Monitorear múltiples archivos de registro, bases de datos y servidores, lo que aumenta la complejidad de rastrear problemas o verificar procesos.

5. Entorno de prueba

6. Hito y entregable

7. Conclusión

Yo no lo haría ¿Qué valor agrega un plan de prueba? ¿De qué pruebas es el tiempo dedicado a tomar?

Un microservicio es una cosa demasiado fina para escribir documentos de planificación.

Pero probablemente sea un elemento en la lista de verificación de alguien de lo que piensan que es el desarrollo de software.

Una de las ventajas de un microservicio es que es pequeño y comprobable. Tendrá una funcionalidad claramente definida. El plan es simplemente, prueba que lo hace.

¿Pero una arquitectura de microservicios? Ah, ahora estamos en una imagen más grande. Ahora un plan escrito puede tener sentido. ¿Qué políticas de prueba aplicaremos a través de microservicios, para cosas como la validación de entrada y la seguridad? ¿Cómo probaremos la integración, que la salida de un servicio se enviará a otro?

¿Cómo podemos verificar, a nivel de sistema, que los microservicios correctos se están llamando correctamente, para un caso de nivel de sistema dado?

Si está pensando en un plan de prueba para un microservicio, no estará pensando en estos problemas. Estarás ocupado haciendo trabajo ocupado.

Un plan de prueba debe ser la comunicación. Desde alguien que conoce la idea de la prueba, hasta alguien que necesita saberla. Eso puede ser más allá de los límites del equipo, o puede ser temporal, desde un ahora hasta un futuro. O, a veces, desde un ahora usted hasta un futuro auditor regulatorio (por ejemplo, auditoría de cumplimiento de FDA GMP).

Pero algo así como “Para cada microservicio, verifique que cumpla con su contrato de servicio especificado, que las entradas inválidas se detecten y se manejen adecuadamente, que se respeten los límites de seguridad y que cumpla con cualquier restricción de rendimiento. Los resultados deben validarse, sin sensibilidad a la variación permisible. Utilizaremos la herramienta X para alimentar a cada servicio un conjunto definido de parámetros en cada categoría, especificado como JSON en un archivo específico del servicio. Las pruebas se ejecutarán automáticamente en cada compilación. Los resultados se registrarán y se retendrán para cada hito y publicación “.

Esa es una dirección clara para que un ingeniero de control de calidad y un desarrollador trabajen juntos para producir las pruebas. Es un criterio claro para la administración juzgar las pruebas resultantes. Con una enumeración de los servicios y los registros correspondientes, tiene su registro de cumplimiento (que también es útil para detectar cuándo se introdujo un problema).

El sitio web de Martin Fowler tiene una excelente plataforma de diapositivas en las pruebas. Estrategias de prueba en una arquitectura de microservicios.

Cuando dices plan de prueba, creo que vienes de un entorno de control de calidad. Eso está bien, y aún tiene valor en una arquitectura impulsada por pruebas altamente automatizadas como los microservicios.

Nuevamente para robarle a Martin Fowler: concéntrese en productos, no en proyectos. Su plan de prueba debe cubrir el área funcional de su equipo y no necesariamente un servicio individual.

Para ser específico:

¿Qué se incluiría en un plan de prueba?

Un plan que alcanza todos los límites de servicio entre los servicios del producto, con la menor intervención manual posible.

¿Cómo evaluaría los requisitos funcionales?

De la misma manera que lo haría con cualquier otra pieza de software. Una gran parte de los microservicios es la automatización, por lo que es ideal usar herramientas automatizadas tanto como sea posible.

¿Qué frecuencia necesita ser probado?

Idealmente en cada actualización incremental de cualquiera de los servicios subyacentes. Aún mejor si la automatización puede ejecutarlo cada minuto.

Además de los elementos del plan de prueba específico para microservicio, el plan de prueba es un documento relacionado con los procesos de gestión de prueba, que debe tener la estructura típica del plan de prueba: capítulos y contenido de los capítulos. El joven estándar internacional de documentación de pruebas es ISO 29119–3, que ofrece recomendaciones sobre cómo debe verse el documento del plan de pruebas en proyectos tradicionales y ágiles. Cuando este estándar no está disponible, se pueden usar materiales gratuitos para escribir el plan de prueba, como los modelos de proceso, por ejemplo, TMMi.

Estoy escribiendo sobre el contenido típico de los documentos del plan de prueba, porque varios estándares dan instrucciones listas para usar y el autor del plan de prueba puede defenderse contra las objeciones relacionadas con la incompletitud del plan de prueba o el contenido demasiado grande y no necesario, al decir que el documento del plan de prueba fue escrito de acuerdo con las mejores prácticas populares.