Seminario web destacado: Pruebas de API mejoradas con IA: un enfoque de prueba sin código | Vea ahora

Conformidad de software ISO 26262 en la industria automotriz

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.

Imagen de una unidad de control del motor (ECU) y servicios de usuario, todos conectados a la nube.
Unidad de control del motor (ECU) y servicios de usuario, todos conectados a la nube.

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.

Parasoft SOAtest y Virtualize para pruebas de nivel de servicio de software automotriz

Los desarrolladores pueden crear integraciones antes, estabilizar dependencias y obtener control total de sus datos de prueba con Parasoft VirtualizarLos equipos pueden avanzar rápidamente sin tener que esperar a tener acceso a servicios dependientes que están incompletos o no están disponibles. Las empresas pueden permitir que los socios realicen pruebas con sus aplicaciones en un entorno sandbox dedicado. Estas soluciones de Parasoft son particularmente valiosas en el desarrollo y prueba de vehículos definidos por software (SDV).

parasoft Prueba SOA ofrece herramientas de prueba de API y servicios web totalmente integradas que automatizar pruebas de API funcionales de extremo a extremo. Los equipos pueden optimizar las pruebas automatizadas con capacidades avanzadas de creación de pruebas funcionales para aplicaciones con múltiples interfaces y protocolos.

SOAtest y Virtualize son adecuados para pruebas a nivel de sistema basadas en red de varios tipos, incluidos los siguientes:

Pila de protocolos completa que admite HTTP, MQTT, RabbitMQ, JMS, XML, JSON, REST, SOAP y más.

Pruebas de seguridad y rendimiento durante la integración y pruebas del sistema con integración en el proceso CI/CD existente.

Pruebas de extremo a extremo que combinan interacciones de API, web, móviles y bases de datos en entornos de prueba virtuales.

Pancarta azul oscuro con imagen de un hombre hablando con una mujer sosteniendo una tableta en la mano en una sala de servidores.
Imagen de un hombre y una mujer con una tableta en la mano conversando en una sala de servidores.

Mejore sus pruebas de software con las soluciones de Parasoft.