Seminario web destacado: Pruebas de API mejoradas con IA: un enfoque de prueba sin código | Vea ahora
Pruebas de sistemas de software
Las pruebas del sistema prueban el sistema en su totalidad. Una vez que todos los componentes están integrados, se prueba todo el sistema rigurosamente para verificar que cumple con los requisitos funcionales, de seguridad y otros requisitos no funcionales especificados.
Los equipos de pruebas especializados realizan este tipo de pruebas en software crítico para la seguridad. Las pruebas de sistemas se enmarcan en el ámbito de las pruebas de caja negra. Por lo tanto, no deberían requerir ningún conocimiento del diseño interno del código o la lógica.
Una distinción importante con las pruebas a nivel de sistema es que el sistema se prueba en un entorno cercano al entorno de producción donde se implementará la aplicación. En esta etapa, se validan funciones de seguridad específicas y se ejecutan pruebas de seguridad a nivel de todo el sistema.
Pruebas de sistemas automotrices a nivel de servicio
Los sistemas individuales de un automóvil no pueden considerarse parte de un servicio. Sin embargo, la conectividad con sistemas más grandes significa que deberían serlo. Por ejemplo, en un automóvil, la función de la unidad de control del motor (ECU) es únicamente garantizar la combustión y las emisiones adecuadas en el motor, pero el automóvil realiza un seguimiento del consumo de combustible mediante la ECU y lo informa a un servidor central a través de una conexión inalámbrica.
Estos datos de kilometraje se utilizan luego para planificar rutas y estimar los costos operativos. De repente, la ECU se convierte en un nodo fundamental en el proceso de toma de decisiones comerciales.
En lugar de considerar la calidad del sistema en términos de cumplimiento de los requisitos de cada dispositivo, el alcance se amplía para considerar la calidad de los servicios proporcionados. Las pruebas a nivel de servicio garantizan que se cumplan los requisitos no funcionales. Por ejemplo, el rendimiento y la confiabilidad son difíciles de evaluar a nivel de dispositivo o durante las pruebas de la unidad de software. Las pruebas basadas en servicios pueden simular el entorno operativo de un dispositivo para proporcionar cargas realistas. En el ejemplo de HVAC, el nuevo sensor de temperatura se puede probar con diferentes tasas de solicitud para ver si cumple con los requisitos de rendimiento.
La seguridad es una preocupación importante en los sistemas automotricesLos ataques cibernéticos probablemente se originan en la propia red al atacar las API expuestas. Las pruebas basadas en servicios pueden crear entornos simulados para realizar pruebas de seguridad sólidas, ya sea mediante fuzzing (entradas de datos aleatorias y erróneas) o ataques de denegación de servicio. Un nuevo sensor de temperatura en el ejemplo de HVAC podría funcionar correctamente con las solicitudes esperadas, pero bloquearse cuando se sobrecarga. Un atacante podría aprovechar esto para sobrecargar el sistema y provocar una interrupción.
Entorno de prueba virtual y pruebas de nivel de servicio
Un laboratorio de pruebas real requiere la manifestación física más cercana del entorno en el que se planea que funcione un automóvil. Incluso en el laboratorio más sofisticado, es difícil adaptarlo a un entorno realista. Un laboratorio virtual soluciona este problema.
Los laboratorios virtuales evolucionan y dejan atrás la necesidad de dependencias de hardware difíciles de encontrar (o inexistentes). Utilizan una sofisticada virtualización de servicios con otras herramientas clave de automatización de pruebas.
Virtualización de servicios
Simula todas las dependencias que necesita el dispositivo bajo prueba para realizar pruebas completas del sistema. Esto incluye todas las conexiones y protocolos utilizados por el dispositivo con respuestas realistas a la comunicación. Por ejemplo, virtualización de servicios Puede simular un servidor empresarial con el que se comunica un automóvil. De manera similar, la virtualización puede simular un sistema dependiente, como datos de tráfico o meteorológicos, de manera realista.
Pruebas de servicios y API
Proporcionar una manera de controlar el sistema bajo prueba de manera que se garantice que los servicios que proporciona (y las API proporcionadas) funcionan sin problemas. Estas pruebas se pueden manipular a través de la plataforma de automatización para realizar pruebas de rendimiento y seguridad según sea necesario.
Gestión y análisis de laboratorios de pruebas
Proporcionar el control general de los laboratorios virtuales. Una vez virtualizados, toda la configuración del laboratorio se puede replicar según sea necesario y las ejecuciones de prueba se pueden automatizar y repetir. Los análisis proporcionan el resumen necesario de las actividades y los resultados.
Monitoreo de tiempo de ejecución
Detecta errores en tiempo real en el sistema bajo prueba y captura información de seguimiento importante.
Mejore sus pruebas de software con las soluciones de Parasoft.
Explora los capítulos
- Introducción "
- 1. Descripción general »
- 2. Análisis estático »
- 3. MISRA »
- 4. AUTOSAR C++ 14 »
- 5. SEI/CERTIFICACIÓN »
- 6. CWE »
- 7. Pruebas unitarias »
- 8. Pruebas de regresión »
- 9. Pruebas de integración de software »
- 10. Pruebas de sistemas de software »
- 11. Cobertura del código estructural »
- 12. Matriz de trazabilidad de requisitos »
- 13. Calificación de herramientas »
- 14. Informes y análisis »