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

Tiempo de lectura: 3 minutos.

Resumen

QinetiQ Space NV es la división espacial belga de QinetiQ Corporation, con sede en el Reino Unido, que se especializa en el desarrollo de productos de alta confiabilidad que se implementan en el duro entorno del espacio, incluyendo aviónica, propulsión eléctrica, instrumentos de investigación de microgravedad, sistemas robóticos, seguridad espacial, exploración espacial, teledetección y sistemas de satélites pequeños.

El Desafío

Con sus productos en constante aumento en términos de la cantidad de software utilizado y las complejidades involucradas, la gerencia de QinetiQ reconoció un riesgo creciente de fallas del sistema causadas por errores de software y la necesidad de una detección temprana de los efectos secundarios no deseados de la nueva implementación. La organización necesitaba una forma de administrar de manera confiable la calidad del software en sus productos.

El enfoque

QinetiQ Space gestiona el desarrollo de productos espaciales de alta fiabilidad, desde el concepto hasta las operaciones en órbita. Para que esto sea posible, el departamento de Ingeniería Electrónica y de Software (ESE) cuenta con ingenieros comprometidos con escuchar, comprender y responder a las necesidades de sus clientes. Para el desarrollo de software integrado, los miembros del equipo están especializados en desarrollar aplicaciones de software críticas para la seguridad que van desde cargadores de arranque, controladores de dispositivos de bajo nivel, protocolos de comunicación, servicios del sistema y software de aplicaciones en tiempo real.

Para administrar la gran cantidad de software utilizado y las complejidades de estos sistemas críticos para la seguridad implementados en el duro entorno del espacio, la administración identificó la necesidad de herramientas de control de calidad para evitar la pérdida de la calidad del producto o la satisfacción del cliente. La organización seleccionada Parasoft C / C ++test mitigar estos riesgos, específicamente para, entre otras cosas, realizar Misra Software de análisis, diseño y ejecución de código estático C/C++ Mejores prácticas de pruebas unitariasy medir la cobertura de la prueba.

¿Por qué Parasoft?

Sobre las otras herramientas consideradas en la evaluación, el conjunto de herramientas de Parasoft fue más completo. Debido a que la prueba C / C ++ integra todas las funciones requeridas en una sola aplicación (evitando la necesidad de tener otras herramientas), el equipo de desarrollo de software de QinetiQ se beneficia al usar solo una interfaz de usuario que admite la navegación de problemas identificados con solo unos pocos clics del mouse. También fue importante para el equipo de selección la capacidad de adoptar reglas de codificación para los requisitos específicos de calidad del software de su organización, para lo cual Parasoft brinda un soporte único.

QinetiQ también debe cumplir con los estrictos requisitos definidos en los estándares de calidad e ingeniería de software europeos ECSS-E-ST-40C, ECSS-Q-ST-80C y EN 9100, y la prueba Parasoft C / C ++ pudo respaldarlos mientras exhibiendo las características de control de calidad de software más atractivas frente a la relación de costo. Además, se hizo evidente que el conjunto de herramientas ya era ampliamente aceptado por la comunidad de desarrollo de software crítico para la seguridad, lo que también contribuyó a la justificación de su elección.

Los resultados

Uso continuo de la prueba de Parasoft C / C ++

En la actualidad, el equipo de software integrado de QinetiQ utiliza la prueba Parasoft C / C ++ para:

  • realizar MISRA Análisis de código estático C/C++.
  • Diseñar y ejecutar pruebas unitarias de software.
  • Mida la cobertura de la prueba.
  • Configure las reglas de codificación según las necesidades del proyecto, como la criticidad del software.
  • Realice la recopilación de métricas en el código fuente.
  • Informe sobre los resultados de las pruebas unitarias y la cobertura de las pruebas.

QinetiQ ha estado utilizando el conjunto de herramientas de prueba Parasoft C / C ++ durante muchos años para el desarrollo de software integrado que va desde instrumentos científicos del tamaño de una caja para la Estación Espacial Internacional hasta satélites de funcionamiento autónomo de pequeño tamaño. Integraron y actualizaron fácilmente el conjunto de herramientas de prueba Parasoft C / C ++ en su entorno de desarrollo de software existente.

75% de reducción de informes de problemas de software

El equipo de software de QinetiQ ofrece productos de software de alta calidad, confiables y "correctos a la primera", lo que significa que el producto debe operar de manera segura, robusta y correcta de acuerdo con sus especificaciones en un entorno espacial remoto y, a veces, inaccesible. Se aplica un ciclo de vida evolutivo durante el desarrollo del producto para lograr esto, donde en sucesivos hitos de revisión del proyecto se logrará y demostrará una mayor calidad del producto. Para cuando el hardware del satélite esté encima del lanzador, el software debe estar listo y validado.

QinetiQ midió el valor de usar la prueba Parasoft C / C ++ monitoreando el número de informes de problemas de software (SPR) durante el desarrollo. Desde que integraron la prueba Parasoft C / C ++ en su proceso de desarrollo de software, han observado una reducción significativa de los SPR emitidos durante el desarrollo de software, aproximadamente el 75%.

Autoverificación

La integración de la prueba Parasoft C / C ++ también permitió al equipo de desarrollo verificar por sí mismo la calidad del código del software. La autoverificación es un activo importante porque aprovecha implícitamente la calidad del software y, al mismo tiempo, se requiere menos tiempo de desarrollo debido a que hay menos errores que resolver después de un ciclo intermedio de verificación y publicación. En consecuencia, el costo de desarrollo general de QinetiQ se ha reducido y no se observaron fallas en sus productos después de la implementación, por lo que la calidad del producto ha aumentado. (Tenga en cuenta que el desarrollo de software crítico exige una verificación severa del producto, por lo que "sin fallas" significa: cobertura de prueba de unidad del 100%, cobertura de verificación de requisitos del 100%, pruebas de seguridad de software dedicadas por inyección de fallas y verificación / validación de software independiente (ISVV)).

La integración de la prueba Parasoft C / C ++ también permitió al gerente de aseguramiento del producto adquirir métricas objetivas del proceso de software, lo que ha sido útil para demostrar a los clientes de QinetiQ la evolución de su producto de software. Esto crea confianza en el cliente, mejora las relaciones a largo plazo y potencia las empresas futuras.

“La prueba de Parasoft C / C ++ es ahora una parte integral de nuestras actividades críticas de desarrollo de software. Su integración en nuestro proceso de desarrollo de software resultó en una producción más eficiente de código de software con un rendimiento significativamente mayor. Para mantener nuestros niveles de calidad y eficiencia de producción actuales, prevemos que la solución proporcionada debe permanecer en nuestro arsenal de herramientas de software. Está previsto utilizar la solución también para el desarrollo de aplicaciones menos críticas ".

- Peter Matthijs, arquitecto de software de aviónica

Da el siguiente paso

Descubra un marco eficaz para utilizar al seleccionar una solución de análisis estático.

“MISRA”, “MISRA C” y el logotipo del triángulo son marcas comerciales registradas de The MISRA Consortium Limited. © The MISRA Consortium Limited, 2021. Todos los derechos reservados.

  • Industria: Aeroespacial
  • Lugar: Kruibeke, Bélgica
  • Solución: Prueba C / C ++