¡Descubre GoogleTest, con certificación TÜV y la tecnología Agentic AI para pruebas de C/C++!
Obtenga los detalles »
EMBEDDED
Las pruebas funcionales de software embebido para sistemas críticos de seguridad deben verificar más que el código. También deben validar las interacciones entre los componentes, incluidas las API, los servicios y los mensajes que determinan si el sistema se comporta de forma segura y fiable en el entorno real. Parasoft realiza pruebas de ambos aspectos, conforme a todos los estándares que rigen su sector.
El software embebido ya no funciona de forma aislada. Un vehículo, aeronave, bomba de infusión o controlador de fábrica moderno es una red de componentes que intercambian mensajes a través de arquitecturas orientadas a servicios y buses de mensajes, que a menudo se actualizan de forma inalámbrica mucho después de su lanzamiento. La calidad depende tanto de cómo se comunican esos componentes como de cómo procesa cada uno de ellos.
Parasoft realiza ambas pruebas con una plataforma automatizada. Prueba C / C ++ y C/C++test CT se encargan de la verificación a nivel de código: análisis estático, pruebas unitarias, cobertura estructural y evidencia de certificación. Prueba SOA y Virtualizar Extender ese rigor a las pruebas de integración: las API, los servicios y las dependencias entre componentes. DTP Lo vincula con la trazabilidad y la elaboración de informes listos para auditoría.
DIFERENCIADOR
La verificación a nivel de código es esencial. Pero un sistema crítico para la seguridad es más que sus unidades. Los defectos que provocan la inmovilización de aeronaves, la retirada de vehículos y la activación de acciones correctivas en los dispositivos residen cada vez más en las interfaces y la comunicación entre los componentes.
Una unidad de control electrónico de frenado que supera todas las pruebas unitarias aún puede fallar si un controlador dependiente envía un mensaje erróneo en el momento equivocado. Un monitor que funciona a la perfección en el banco de pruebas puede fallar cuando el sistema conectado del que depende agota el tiempo de espera.
Las normas lo saben, por eso exigen pruebas de integración, pruebas de interfaz y pruebas de robustez frente a entradas anómalas (DO-178C §6.4.2.2; inyección de fallos ISO 26262; tablas del anexo IEC 61508).
Para satisfacerlos, hay que impulsar las conexiones, no solo el código.
Para probar el comportamiento de un componente a través de una interfaz, el elemento del otro extremo debe estar presente y ser lo suficientemente controlable como para generar las condiciones que exige la prueba. En el desarrollo de sistemas críticos para la seguridad, esto es lo que suele interponerse.
Todavía está en construcción por otro equipo o proveedor. La espera retrasa la verificación hasta muy tarde, cuando los defectos son los que más cuestan.
Los sistemas HIL, las placas objetivo y los bancos de pruebas certificados son limitados, costosos y compartidos, lo que dificulta las pruebas continuas.
Un puñado de plataformas de prueba y una cola de ingenieros y trabajos de integración continua implican contención, conflictos de programación y pruebas que no se pueden ejecutar en paralelo.
Los estándares exigen robustez e inyección de fallos: rangos anormales, pérdida de mensajes, condiciones fuera de límites. No es posible, de forma fiable y repetible, provocar esos estados en una unidad de control electrónico de frenado real o mediante bombeo en un banco de pruebas.
Líneas de modelos, niveles de equipamiento y características, configuraciones regionales y de suscripción: cada combinación debe verificarse, a menudo con opciones a las que no se puede acceder físicamente. Recrear entornos reales para cada variante no es viable a gran escala.
Virtualize simula el comportamiento, las respuestas y los protocolos de los componentes con los que se comunica su sistema. Está disponible bajo demanda, se puede controlar hasta el nivel de mensaje y es seguro para simular cualquier condición de fallo que exija el estándar.
Adelanta las pruebas. Los equipos ponen a prueba las condiciones anormales y límite obligatorias según sea necesario, y cada ingeniero y proyecto cuenta con su propio entorno aislado. Deja de esperar a que se rompa hardware escaso, inacabado o que no sea seguro.
La capa conectada se prueba con el mismo rigor que el código, que es la única forma de verificar realmente el sistema.
Los estándares exigen técnicas y evidencias rigurosas. Parasoft ofrece ambas cosas.
Análisis estático, pruebas unitarias y cobertura estructural, hasta cobertura de código objeto (MC/DC) cuando así lo exige el nivel A de DO-178C. Recopilados tanto en el host como en el destino.
Herramientas de análisis y ensayo con certificación TÜV SÜD, kits de cualificación de herramientas automatizadas e informes que cumplen con la documentación y la trazabilidad que exige el proceso de certificación.
¿POR QUÉ PARASOFT?
Verificación a nivel de código con C/C++test y C/C++test CT. Verificación a nivel de integración con SOAtest y Virtualize. Todo en una única cadena de herramientas unificada. Sin necesidad de herramientas adicionales para conectar las unidades y el sistema.
C/C++test y C/C++test CT cuentan con la certificación TÜV SÜD para la seguridad funcional según las normas IEC 61508, IEC 62304, EN 50128/EN 50716 e ISO 26262, tanto para el host como para el destino, con kits de cualificación que automatizan la obtención de pruebas de cualificación de herramientas según las normas DO-178C/DO-330 e ISO 26262.
Virtualize elimina las dependencias escasas, incompletas y que no se pueden romper de forma segura como restricción. Adelanta las pruebas y haz que la robustez y las condiciones de fallo requeridas sean reproducibles bajo demanda.
DTP centraliza la trazabilidad bidireccional de los requisitos, la cobertura y la generación de informes de cumplimiento. La evidencia se recopila automáticamente a medida que se realizan las pruebas.
Pruebas continuas tanto en el host como en el destino, integradas con las cadenas de herramientas integradas y los sistemas ALM que sus equipos ya utilizan.