En este tutorial, aprenderá
- ¿Qué son los sistemas integrados?
- ¿Qué son las pruebas integradas?
- Tipos de pruebas de software integrado
- Diferencia: pruebas integradas y pruebas de software
- Desafíos: pruebas de software integradas
¿Qué son los sistemas integrados?
Los sistemas integrados son los dispositivos controlados electrónicamente donde el software y el hardware están estrechamente acoplados. Los sistemas integrados pueden contener una variedad de dispositivos informáticos. Estos son PC incorporados en otros dispositivos para operar funciones específicas de la aplicación. Por lo general, el usuario final ni siquiera es consciente de su existencia.
Pruebas integradas
Las pruebas integradas son un proceso de prueba para verificar los atributos funcionales y no funcionales tanto del software como del hardware en un sistema integrado y garantizar que el producto final esté libre de defectos. El objetivo principal de las pruebas integradas es verificar y validar si el producto final de hardware y software integrados cumple con los requisitos del cliente o no.
Las pruebas de software integrado comprueban y garantizan que el software en cuestión sea de buena calidad y cumpla con todos los requisitos que debe cumplir. Las pruebas de software integradas son un enfoque excelente para garantizar la seguridad en aplicaciones críticas como equipos médicos, ferrocarriles, aviación, industria de vehículos, etc. Las pruebas estrictas y cuidadosas son cruciales para otorgar la certificación de software.
Cómo realizar pruebas de software integrado
En general, realiza la prueba por cuatro razones:
- Para encontrar errores en el software
- Ayuda a reducir el riesgo tanto para los usuarios como para la empresa
- Reducir los costos de desarrollo y mantenimiento
- Para mejorar el rendimiento
En las pruebas integradas, se realizan las siguientes actividades:
1. El software se proporciona con algunas entradas.
2. Se ejecuta una parte del software.
3. Se observa el estado del software y se comprueban las salidas en busca de propiedades esperadas, como si la salida coincide con el resultado esperado, la conformidad con los requisitos y la ausencia de fallas del sistema.
Tipos de pruebas de software integrado
Básicamente, hay cinco niveles de prueba que se pueden aplicar al software integrado.
Pruebas unitarias de software
El módulo de la unidad es una función o una clase. Las pruebas unitarias las realiza el equipo de desarrollo, principalmente el desarrollador y generalmente se lleva a cabo en un modelo de revisión por pares. Sobre la base de la especificación del módulo se desarrollan casos de prueba.
Pruebas de integración
Las pruebas de integración se pueden clasificar en dos segmentos:
- Pruebas de integración de software
- Pruebas de integración de software / hardware.
Al final, se prueba la interacción del dominio de hardware y los componentes de software. Esto puede incorporar el examen de la interacción entre los dispositivos periféricos integrados y el software.
El desarrollo de software integrado tiene una característica única que se centra en el entorno real, en el que se ejecuta el software, que generalmente se crea en paralelo con el software. Esto causa inconvenientes para las pruebas, ya que no se pueden realizar pruebas completas en una condición simulada.
Prueba de la unidad del sistema
Ahora, el módulo que se va a probar es un marco completo que consta de un código de software completo, además de todo el sistema operativo en tiempo real (RTOS) y piezas relacionadas con la plataforma, como interrupciones, mecanismos de tareas, comunicaciones, etc. El protocolo de Punto de Control ya no es una llamada a una función o una invocación de método, sino más bien un mensaje enviado / recibido utilizando las colas de mensajes RTOS.
Se observan los recursos del sistema para evaluar la capacidad del sistema para admitir la ejecución del sistema integrado. Para este aspecto, la prueba de caja gris es el método de prueba preferido. Dependiendo de la organización, la prueba de la unidad del sistema es responsabilidad del desarrollador o de un equipo de integración de sistemas dedicado.
Pruebas de integración de sistemas
El módulo que se va a probar comienza a partir de un conjunto de componentes dentro de un solo nodo. Los Puntos de Control y Observaciones (PCO) son una combinación de protocolos de comunicación relacionados con la red y RTOS, como mensajes de red y eventos RTOS. Además de un componente, un probador virtual también puede desempeñar el papel de un nodo.
Prueba de validación del sistema
El módulo a probar es un subsistema con una implementación completa o el sistema integrado completo. El objetivo de esta prueba final es cumplir con los requisitos funcionales de la entidad externa. Tenga en cuenta que una entidad externa puede ser una persona, un dispositivo en una red de telecomunicaciones o ambos.
Diferencia: pruebas integradas y pruebas de software
Pruebas de software | Pruebas integradas |
---|---|
Las pruebas de software están relacionadas únicamente con el software. | Las pruebas integradas están relacionadas tanto con el software como con el hardware. |
En promedio, el 90% de las pruebas realizadas en el mundo son pruebas de caja negra puramente manuales. | Las pruebas integradas se realizan en sistemas integrados o chips; puede ser una prueba de caja negra o caja blanca. |
Las áreas principales de prueba son las comprobaciones de GUI, la funcionalidad, la validación y algún nivel de prueba de la base de datos. | Las áreas principales de prueba son el comportamiento del hardware para el no. de las aportaciones que se le han dado. |
Las pruebas de software se realizan principalmente en aplicaciones cliente-servidor, web y móviles. | Las pruebas integradas generalmente se realizan en el hardware. |
por ejemplo, Google Mail, Yahoo Mail, aplicaciones de Android. | Ej. Máquinas de dominio sanitario, Microcontroladores utilizados en ordenadores. |
Desafíos: pruebas de software integradas
Algunos de los desafíos que uno puede enfrentar durante las pruebas de software integrado:
Dependencia de hardware
La dependencia del hardware es una de las principales dificultades a las que se enfrentan durante las pruebas de software integrado debido al acceso limitado al hardware. Sin embargo, es posible que los emuladores y simuladores no representen con precisión el comportamiento del dispositivo real y podrían dar una idea errónea del rendimiento del sistema y la usabilidad de la aplicación.
Software de código abierto
La mayoría de los componentes de software integrados son de código abierto por naturaleza, no se crean internamente y no existen pruebas completas disponibles para ellos. Existe una amplia gama de combinaciones de pruebas y escenarios resultantes.
Defectos de software frente a hardware
Otro aspecto es que cuando se está desarrollando software para un hardware recién creado, durante este proceso se puede identificar una alta proporción de defectos de hardware. El defecto encontrado no se limita al software. También puede estar relacionado con el hardware.
Defectos reproducibles
Los defectos son más difíciles de reproducir / recrear en el caso del sistema integrado. Eso obliga al procedimiento de prueba integrado a valorar cada ocurrencia de defecto sustancialmente más alto que en un caso estándar, aparte de recopilar tantos datos como sea razonablemente necesario para alterar el sistema y encontrar la base del defecto.
Actualizaciones continuas de software
Los sistemas integrados requieren actualizaciones de software regulares como la actualización del kernel, correcciones de seguridad, diferentes controladores de dispositivos, etc. Las restricciones identificadas con la influencia de las actualizaciones de software dificultan la identificación de errores. Además, aumenta la importancia del procedimiento de construcción e implementación.
Resumen
Existen algunas dificultades para probar las pruebas de software integrado que lo hacen más difícil que las pruebas de software habituales. El problema más fundamental es la gran dependencia del entorno de hardware que se prepara simultáneamente con el software, y que se requiere regularmente para realizar pruebas de software fiables. A veces, incluso es difícil probar el software sin herramientas personalizadas, lo que hace que concentrarse en las pruebas en las últimas etapas sea excepcionalmente atractivo.
Una de las cosas más importantes en las que debe pensar es en el hecho de que a menudo debe optar por las pruebas de software automatizadas. Las pruebas automatizadas integradas son un proceso más rápido que tardaría algunas horas en completarse y, de esta manera, se resuelve el problema de su software.