Reyes Sánchez García/ junio 15, 2020/ Gestión de la calidad/ 0 comentarios
Tiempo de lectura: 5 minutosPara un llevar a cabo un buen aseguramiento de la calidad, una vez que hemos probado el correcto funcionamiento a escala de componentes, es necesario hacer las pruebas de integración. En el post «Pruebas de componente, el primer nivel para el aseguramiento de la calidad» te explicó cuales son las claves del primer nivel. Ahora vamos a repasar cuales son los puntos a tener en cuenta en el nivel de integración.
Índice de contenidos
Objetivos de las pruebas de integración
El objetivo de las pruebas de integración es verificar el correcto funcionamiento entre componentes y sistemas. Independientemente del nivel en el que nos encontremos tenemos una tipología de pruebas que hay que ir cumpliendo en cada nivel. En el post: Tipos de pruebas para el aseguramiento de la calidad encontrarás información al respecto.
La importancia de las pruebas de integración en el aseguramiento de la calidad
Al igual que en las pruebas de componentes, con el nivel de integración queremos reducir el riesgo de nuestro producto y crear confianza en la calidad de las interfaces. También se desea verificar que el comportamiento tanto funcional, como no funcional cumple con las especificaciones y es tal como se diseñó. Y por último, se desea encontrar defectos y evitar que escapen a niveles más elevados.
En este nivel se suele utilizar pruebas de regresión de integración automáticas. Este tipo de pruebas optimizan el tiempo que el equipo de testeo dedica a la realización de pruebas, pero además nos aportan confianza en que los cambios aplicados al integrar los componentes y el sistema, no han dañado el proyecto.
Dos subniveles de integración
Dentro de las pruebas de integración se diferencian dos subniveles. Primeramente, nos enfocamos en las pruebas de integración enfocadas en las interacciones e interfaces entre componentes ya integrados. Este tipo de pruebas suelen estar automatizadas y ser parte del proceso de integración continua en los desarrollos iterativos e incremental.
En segundo lugar, se producen las pruebas de integración enfocadas en las interacciones e interfaces entre sistemas, paquetes y microservicios. Este tipo de pruebas implican varios desafíos para los equipos de testeo al cubrir interfaces externas que pueden comportarse de forma diversa.
Este tipo de pruebas suele hacerse tras las pruebas de sistema o en paralelo a las pruebas del sistema en curso.
Base de las pruebas, nuestras herramientas para trabajar
Para llevar a cabo un correcto aseguramiento de la calidad, se deben utilizar los correctos elementos de trabajo que nos sirvan de punto de partida para la realización del plan de pruebas de integración. No deben faltar: el diseño de software y de sistema, los diagramas de secuencia y la arquitectura, a nivel de componente o sistema. También son importantes las especificaciones de interfaz y protocolo de comunicación, los casos de uso, los flujos de trabajo y las definiciones de interfaz externa.
Objeto a asegurar su calidad
En este nivel de pruebas, se verifica el correcto funcionamiento de los subsistemas, base de datos, infraestructura, interfaces, APIs y microservicios.
Defectos y fallas que se suelen encontrar en el segundo nivel
Los defectos y fallas detectados en este nivel se dividen también en los dos subniveles mencionados anteriormente: enfocadas en los componentes y enfocados en los sistemas. En ambos casos se suele detectar datos incorrectos, datos que faltan o codificación de datos incorrecta e incongruencias en la interfaz.
Cuando se verifica la integración de componentes se suele encontrar llamadas a la interfaz con una sincronización o secuenciación incorrectas. También, hay fallos en la comunicación entre componentes, se olvida el manejo de algunos componentes o que se manejan de forma incorrecta. Y en otras ocasiones, se detectan suposiciones incorrectas sobre el significado, los límites de datos o las unidades que se intercambian entre los distintos componentes.
En el segundo punto, integración con el sistema, se suele detectar también estructura de mensaje inconsistentes o fallos de comunicación entre sistemas. Es frecuente detectar incumplimiento de las normas de seguridad obligatorias. Y al igual que en el caso de componentes, hay fallos en la comunicación entre sistemas, se olvida el manejo de algunos sistemas o que se manejan de forma incorrecta. También se localizan suposiciones incorrectas sobre el significado, los límites de datos o las unidades que se intercambian entre los distintos sistemas.
Enfoques y responsabilidades especificas de las pruebas de integración
Es importante resaltar que en las pruebas de integración verificamos la correcta comunicación y comportamiento entre sistemas y componentes. Nos tenemos que olvidar de probar la funcionalidad del sistema o componente en sí. Asumimos que esa fase del aseguramiento de calidad ya ha pasado y está aprobada.
Es común que las pruebas de integración de componentes se realicen por el equipo de desarrollo, mientras que las pruebas de integración de sistemas, por el equipo de probadores.
Para realizar las pruebas de integración es necesario planificar la estrategia de integración. Es recomendable que el equipo de testeo partícipe en la organización y se realice un análisis de riesgo donde se detecten las interfaces más complejas. Posteriormente, se realizará un plan para la construcción de componentes o sistemas, con un orden optimizado para ser más eficientes.
Se suele optar por un proceso incremental donde se incorporaren funcionalidades poco a poco. En contra de una integración masiva que genere miles de errores de forma simultánea que dificulta la posibilidad de localizarlos y solventarlos rápidamente. Esto ha ocasionado que la integración continua se halla convertido en una práctica común, cada vez más implantada a en diversas empresas y organizaciones.
Conclusión
El nivel de pruebas de integración es un conjunto de pruebas muy importante, pero también complejo y amplio. En este nivel nos encontramos con múltiples casuísticas de fallas que al ser localizadas de forma temprana, nos da confianza en nuestro producto y en el proceso de aseguramiento de la calidad que estamos aplicando. Es de vital importancia ser detallistas y minuciosos al probar los puntos claves del componente o sistema. El no detectar defectos en este nivel, ocasionará incidencias que serán más costosas de resolver en el siguiente nivel: pruebas de sistemas o en el nivel de pruebas de aceptación.
Si te ha gustado este post, o no estás de acuerdo en algún punto, coméntame al respecto. También te puedes suscribir al boletín de novedades.