what is system integration testing
¿Qué son las pruebas de integración de sistemas?
La prueba de integración del sistema (SIT) es la prueba general de todo el sistema que se compone de muchos subsistemas. El objetivo principal de SIT es garantizar que todas las dependencias de los módulos de software funcionen correctamente y que se conserve la integridad de los datos entre los distintos módulos de todo el sistema.
SUT (System Under Test) puede estar compuesto por hardware, base de datos, software, una combinación de hardware y software o un sistema que requiere interacción humana (HITL - Human in the Loop Testing).
Desde el contexto de la ingeniería de software y las pruebas de software, SIT se puede considerar como un proceso de prueba que verifica la co-ocurrencia del sistema de software con otros.
SIT tiene un requisito previo en el que varios sistemas integrados subyacentes ya se han sometido y superado las pruebas del sistema. Luego, SIT prueba las interacciones requeridas entre estos sistemas en su conjunto. Los entregables de SIT se pasan a la UAT (prueba de aceptación del usuario).
Lo que vas a aprender:
- Necesidad de prueba de integración del sistema
- La granularidad de SIT
- ¿Cómo realizar pruebas de integración de sistemas?
- Pruebas de sistemas frente a pruebas de integración de sistemas
- Pruebas de integración del sistema frente a pruebas de aceptación del usuario
- Ejemplo de SIT
- Técnicas SIT
- Conclusión
- Lectura recomendada
Necesidad de prueba de integración del sistema
La función principal de SIT es probar las dependencias entre diferentes componentes del sistema y, por lo tanto, las pruebas de regresión son una parte importante de SIT.
Para proyectos colaborativos, SIT es parte de STLC (ciclo de vida de pruebas de software). Generalmente, el proveedor de software realiza una ronda previa a la SIT antes de que el cliente ejecute sus propios casos de prueba de SIT.
En la mayoría de las organizaciones que trabajan en proyectos de TI que siguen el modelo Agile Sprint, el equipo de control de calidad lleva a cabo una ronda de SIT antes de cada lanzamiento. Los defectos encontrados en el SIT se envían de vuelta al equipo de desarrollo y ellos trabajan en las correcciones.
El lanzamiento de MVP (producto mínimo viable) del sprint solo se aplica cuando pasa por SIT.
Se requiere SIT para exponer las fallas que ocurren cuando ocurre la interacción entre los subsistemas integrados.
Hay varios componentes que se utilizan en el sistema y no se pueden probar de forma individual. Incluso si la unidad se prueba individualmente, también existe la posibilidad de que falle cuando se combina en el sistema, ya que hay muchos problemas que surgen cuando los subsistemas interactúan entre sí.
Por lo tanto, SIT es muy necesario para exponer y corregir las fallas antes de implementar el sistema en el extremo del usuario. SIT detecta los defectos en una etapa temprana y, por lo tanto, ahorra el tiempo y el costo de repararlos más tarde. También le ayuda a obtener comentarios anteriores sobre la aceptabilidad del módulo.
La granularidad de SIT
La SIT se puede realizar en tres niveles diferentes de granularidad:
(i) Pruebas dentro del sistema: Este es un nivel bajo de pruebas de integración que tiene como objetivo fusionar los módulos para construir un sistema unificado.
(ii) Pruebas entre sistemas: Esta es una prueba de alto nivel que necesita interconectarse con sistemas probados de forma independiente.
(iii) Pruebas por pares: Aquí, solo se prueban dos subsistemas interconectados en todo el sistema a la vez. Esto tiene como objetivo garantizar que los dos subsistemas puedan funcionar bien cuando se combinen, asumiendo que los otros subsistemas ya están funcionando bien.
¿Cómo realizar pruebas de integración de sistemas?
La forma más sencilla de realizar la SIT es mediante el método basado en datos. Requiere un uso mínimo de herramientas de prueba de software.
el mejor software gratuito de reloj de tiempo para empleados
Primero, el intercambio de datos (importación y exportación de datos) ocurre entre los componentes del sistema y luego se examina el comportamiento de cada campo de datos dentro de la capa individual.
Una vez que el software está integrado, hay tres estados principales de flujo de datos como se menciona a continuación:
# 1) Estado de los datos dentro de la capa de integración
La capa de integración actúa como una interfaz entre la importación y exportación de datos. Realizar SIT en esta capa requiere algunos conocimientos básicos sobre ciertas tecnologías como esquema (XSD), XML, WSDL, DTD y EDI.
El rendimiento del intercambio de datos se puede examinar en esta capa mediante los siguientes pasos:
- Valide las propiedades de los datos dentro de esta capa con BRD / FRD / TRD (documento de requisitos comerciales / documento de requisitos funcionales / documento de requisitos técnicos).
- Verifique la solicitud de servicio web usando XSD y WSDL.
- Ejecute algunas pruebas unitarias y valide las asignaciones de datos y las solicitudes.
- Revise los registros de middleware.
# 2) Estado de los datos dentro de la capa de la base de datos
Realizar SIT en esta capa requiere un conocimiento básico de SQL y procedimientos almacenados.
c ++ flotante aleatoria entre 0 y 1
El rendimiento del intercambio de datos en esta capa se puede examinar mediante los siguientes pasos:
- Compruebe si todos los datos de la capa de integración han llegado correctamente a la capa de la base de datos y se han comprometido.
- Valide las propiedades de la tabla y la columna con BRD / FRD / TRD.
- Valide las restricciones y las reglas de validación de datos aplicadas en la base de datos según las especificaciones comerciales.
- Verifique los procedimientos almacenados para cualquier procesamiento de datos.
- Revise los registros del servidor.
# 3) Estado de los datos dentro de la capa de aplicación
SIT se puede realizar en esta capa a través de los siguientes pasos:
- Compruebe si todos los campos obligatorios están visibles en la interfaz de usuario.
- Ejecute algunos casos de prueba positivos y negativos y valide las propiedades de los datos.
Nota: Puede haber muchas combinaciones correspondientes a la importación y exportación de datos. Deberá ejecutar SIT para obtener las mejores combinaciones teniendo en cuenta el tiempo disponible para usted.
Pruebas de sistemas frente a pruebas de integración de sistemas
Diferencias entre System Testing y SIT:
SIT (pruebas de integración de sistemas) | Prueba del sistema |
---|---|
La SIT se realiza principalmente para comprobar cómo los módulos individuales interactúan entre sí cuando se integran en un sistema como un todo. | Las pruebas del sistema se realizan principalmente para comprobar si todo el sistema funciona como se esperaba con referencia a los requisitos especificados. |
Se lleva a cabo después de la prueba unitaria y se realizará cada vez que se agregue un nuevo módulo al sistema. | Se lleva a cabo en el nivel final, es decir, después de completar las pruebas de integración y justo antes de entregar el sistema para UAT. |
Es una prueba de bajo nivel. | Es una prueba de alto nivel. |
Los casos de prueba de SIT se centran en la interfaz entre los componentes del sistema. | Los casos de prueba, en este caso, se centran en la simulación de escenarios de la vida real. |
Pruebas de integración del sistema frente a pruebas de aceptación del usuario
Aquí está la diferencia entre SIT y UAT:
SIT (pruebas de integración de sistemas) | UAT (prueba de aceptación del usuario) |
---|---|
Esta prueba es desde la perspectiva de la interfaz entre módulos. | Esta prueba es desde la perspectiva de los requisitos del usuario. |
SIT es realizado por desarrolladores y probadores. | UAT es realizado por clientes y usuarios finales. |
Realizado después de la prueba unitaria y antes de la prueba del sistema. | Este es el último nivel de prueba y se realiza después de la prueba del sistema. |
Generalmente, los problemas encontrados en SIT estarían relacionados con el flujo de datos, flujo de control, etc. | Los problemas encontrados en UAT generalmente serían como las características que no funcionan según los requisitos del usuario. |
La imagen a continuación sobre los niveles de prueba le aclarará el flujo de las pruebas unitarias a UAT:
Ejemplo de SIT
Supongamos que una empresa está utilizando software para almacenar los datos del cliente.
Este software tiene dos pantallas en la interfaz de usuario: Pantalla 1 y Pantalla 2, y tiene una base de datos. Los detalles ingresados en la Pantalla 1 y la Pantalla 2 se ingresan en la base de datos. A partir de ahora, la empresa está satisfecha con este software.
Sin embargo, unos años más tarde, la empresa descubre que el software no cumple con los requisitos y es necesario mejorarlo. Por lo tanto, desarrollaron una pantalla 3 y una base de datos. Ahora, este sistema que tiene la Pantalla 3 y una base de datos está integrado con el software anterior / existente.
Ahora, la prueba realizada en todo el sistema después de la integración se denomina prueba de integración del sistema. Aquí, se prueba la coexistencia de un nuevo sistema con uno existente para garantizar que todo el sistema integrado funcione correctamente.
Técnicas SIT
Principalmente, hay 4 enfoques para realizar SIT:
- Enfoque de arriba hacia abajo
- Enfoque de abajo hacia arriba
- Enfoque sándwich
- Enfoque del Big Bang
El enfoque de arriba hacia abajo y el enfoque de abajo hacia arriba es una especie de enfoques incrementales. Comencemos la discusión con el enfoque de arriba hacia abajo primero.
# 1) Enfoque de arriba hacia abajo:
Debajo de esto, la prueba comienza solo con el módulo superior de una aplicación, es decir, la interfaz de usuario que llamamos como controlador de prueba.
La funcionalidad de los módulos subyacentes se simula con stubs. El módulo superior se integra con el stub del módulo de nivel inferior uno por uno y luego se prueba la funcionalidad.
Una vez que se completa cada prueba, el stub se reemplaza por el módulo real. Los módulos se pueden integrar tanto en amplitud como en profundidad. La prueba continúa hasta que se crea toda la aplicación.
La ventaja de este enfoque es que no hay necesidad de controladores y los casos de prueba se pueden especificar en términos de la funcionalidad del sistema.
El principal desafío en este tipo de enfoque es la dependencia de la disponibilidad de la funcionalidad del módulo de nivel inferior. Puede haber un retraso en las pruebas hasta que los módulos reales se reemplacen con stubs. Escribir resguardos también es difícil.
# 2) Enfoque de abajo hacia arriba:
Elimina las limitaciones del enfoque de arriba hacia abajo.
En este método, primero, los módulos de nivel más bajo se ensamblan para formar grupos. Estos grupos sirven como una subfunción de la aplicación. Luego, se crea un controlador para administrar la entrada y salida del caso de prueba. Después de esto, se prueba el clúster.
Una vez que se prueba el grupo, se elimina el controlador y el grupo se combina con el siguiente nivel superior. Este proceso continúa hasta que se logra toda la estructura de la aplicación.
No hay necesidad de talones en este enfoque. Se simplifica a medida que el procesamiento avanza y se reduce la necesidad de controladores. Este enfoque es recomendable para realizar SIT para sistemas orientados a objetos, sistemas en tiempo real y sistemas con estrictas necesidades de rendimiento.
Sin embargo, la limitación de este enfoque es el subsistema más importante, es decir, la interfaz de usuario se prueba al final.
# 3) Enfoque de sándwich:
Aquí, los enfoques de arriba hacia abajo y de abajo hacia arriba discutidos anteriormente se combinan.
Se percibe que el sistema tiene tres capas: la capa intermedia, que es la capa objetivo, una capa sobre el objetivo y una capa debajo del objetivo. La prueba se realiza en ambas direcciones y se concentra en la capa objetivo que está en el medio y esto se ilustra en la imagen de abajo.
Estrategia de prueba sándwich
Una ventaja de este enfoque es que la capa superior y la capa inferior del sistema se pueden probar en paralelo. Sin embargo, la limitación de este enfoque es que no prueba exhaustivamente los subsistemas individuales antes de la integración.
Para eliminar esta limitación, hemos modificado las pruebas sándwich en las que la integración de las capas superior, media e inferior se prueba en paralelo utilizando stubs y controladores.
# 4) Enfoque del Big Bang:
En este enfoque, la integración se realiza una vez que todos los módulos de la aplicación están completamente listos. Las pruebas se realizan después de la integración de todos los módulos para verificar si el sistema integrado está funcionando o no.
Es un desafío encontrar la causa raíz del problema en este enfoque, ya que todo está integrado a la vez en lugar de realizar pruebas incrementales. Este enfoque se adopta generalmente cuando solo se requiere una ronda de SIT.
qué hacer con un archivo bin
Conclusión
En este artículo, aprendimos qué es la prueba de integración de sistemas (SIT) y por qué es importante realizarla.
Entendimos los conceptos básicos, las técnicas, los enfoques y los métodos involucrados en la realización de la TIE. También explicamos en qué se diferencia SIT de UAT y las pruebas de sistemas.
Espero que hayas disfrutado de este excelente artículo !!
Lectura recomendada
- ¿Qué son las pruebas de componentes o las pruebas de módulos (aprender con ejemplos)?
- ¿Qué son las pruebas de comparación (aprender con ejemplos)?
- ¿Qué es la prueba de integración (tutorial con ejemplo de prueba de integración)?
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Las diferencias entre pruebas unitarias, pruebas de integración y pruebas funcionales
- Pruebas funcionales versus pruebas no funcionales
- Integración de selenio con JMeter
- Spock para pruebas funcionales y de integración con selenio