Automatice el proceso de calificación de herramientas para software crítico para la seguridad
por Mark Lambert
24 de abril de 2018
5 min leer
Automatice el proceso de calificación de herramientas para reducir el tiempo y el esfuerzo necesarios, de modo que pueda concentrarse en desarrollar software de alta calidad.
Los estándares de desarrollo de software críticos para la seguridad, como DO178B / C (aeroespacial), ISO 26262 (automotriz), EN-50128 (ferrocarril) e IEC 61508 (seguridad funcional), requieren que los fabricantes demuestren que las herramientas que están utilizando para desarrollar su software proporciona resultados correctos y predecibles. El proceso de proporcionar dicha evidencia se conoce como Calificación de herramientas y, si bien es un proceso necesario, la Calificación de herramientas es a menudo una actividad tediosa y que requiere mucho tiempo y que muchas organizaciones no planean.
El resultado final es una prueba en forma de documentación, pero el proceso de calificación implica más que solo entregar una gran cantidad de documentación estática. En esta publicación, le mostraré cómo usar el nuevo Kits de calificación para la prueba C / C ++, que incluyen un práctico asistente de herramientas que trae la automatización a la imagen y reduce el tiempo y el esfuerzo necesarios para la calificación de la herramienta.
Primero: asegúrese de que la herramienta que está utilizando esté certificada
La calificación de herramientas debe comenzar con la selección de herramientas, asegurándose de que está utilizando una herramienta de desarrollo certificada por una organización como TÜV SÜD. Esto reducirá significativamente el esfuerzo en lo que respecta a la calificación de herramientas. Parasoft C / C ++test está certificado por TÜV SÜD para seguridad funcional de acuerdo con las normas IEC 61508 e ISO 26262 para aplicaciones de destino integradas y basadas en host, allanando el camino para una calificación simplificada de análisis estático, pruebas unitarias y requisitos de cobertura para los estándares críticos de seguridad.
Segundo: reducir el esfuerzo manual de calificación de herramientas
Tradicionalmente, la calificación de herramientas ha significado una cantidad significativa de trabajo manual, pruebas y documentación de herramientas de desarrollo para cumplir con una auditoría de certificación. Pero este proceso de documentación pesada requiere interpretación y finalización manual y, como tal, requiere mucho tiempo y es propenso a errores humanos.
Estamos resolviendo este problema al incorporar la automatización a este proceso con nuestros kits de calificación. Aumentar la productividad y reducir el error humano a través de la automatización siempre ha sido el núcleo de lo que hacemos en Parasoft, por lo que hemos aplicado esta misma misión al proceso de Calificación de herramientas para la prueba de Parasoft C / C ++. Nuestros kits de calificación guían al usuario a través de un flujo de trabajo intuitivo para reducir drásticamente la cantidad de esfuerzo requerido.
Los beneficios de usar los kits de calificación incluyen:
- Reducir automáticamente el alcance de la calificación a solo las partes de la herramienta en uso
- Automatizar las pruebas necesarias para la calificación tanto como sea posible
- Manejar cualquier prueba manual con la mayor elocuencia posible e integrar los resultados junto con las pruebas automatizadas
- Generación automática de documentación lista para auditoría que informa exactamente lo que se califica, ni más (¡ni menos!)
Califica solo lo que usas
¿Por qué hacer que los desarrolladores examinen el material de calificación para DO-178B / C cuando están realizando un proyecto automotriz que requiere ISO 26262? ¿Qué sucede si solo utiliza partes de nuestro paquete de herramientas? No debería ser necesario realizar ningún trabajo adicional para calificar las capacidades que no se utilizan en sus productos de desarrollo. Reducir el alcance de las pruebas, los informes y la documentación es una forma clave de reducir la carga de trabajo de calificación.
El siguiente ejemplo muestra a un usuario que selecciona el único caso de uso de la prueba C / C ++ que se está utilizando (análisis estático) para verificar el cumplimiento del estándar MISRA C 2012, como parte de la calificación ISO 26262. Luego, la herramienta selecciona solo las partes del conjunto de calificaciones necesarias para esta función.
Los usuarios pueden anular la selección de opciones para reducir aún más el alcance según sea necesario para su proyecto. Tras la selección, solo se utilizan y se proporcionan pruebas y documentación a partir de este momento.
Aproveche la automatización y el análisis de pruebas
Si hay una ventaja de calificar las herramientas de automatización de pruebas ... ¡es que las herramientas se pueden usar para automatizar sus propias pruebas! La calificación de la herramienta requiere que se realicen pruebas y que los resultados se verifiquen como se describe en los kits de calificación que proporcionamos. Automatizar esto tanto como sea posible es clave para hacerlo lo menos doloroso posible. Incluso las pruebas manuales, que son inevitables para cualquier herramienta de desarrollo, se manejan de la manera más eficiente posible: se proporcionan instrucciones paso a paso y los resultados se ingresan y almacenan como parte del registro de calificación.
La prueba de Parasoft C / C ++ recopila y almacena todos los resultados de la prueba de cada compilación, y las pruebas se ejecutan como lo hacen para cualquier tipo de proyecto. Estos resultados se incluyen en el asistente de estado de la prueba en los kits de calificación de Parasoft para proporcionar una descripción general completa de los resultados:
Centralizar, agregar y automatizar el proceso de calificación reduce en gran medida el seguimiento manual del progreso del cumplimiento.
¿Qué pasa con los defectos conocidos?
Cada herramienta de desarrollo tiene errores conocidos y cualquier proveedor que no los documente no le está haciendo ningún favor a su esfuerzo de cumplimiento. Pero hacer frente a los defectos conocidos implica más que simplemente documentarlos. La calificación de la herramienta requiere que proporcione pruebas de que estos defectos no afectan los resultados utilizados en el proyecto. Para cada defecto conocido, debe proporcionar una mitigación para cada uno y documentarlo a satisfacción del auditor certificador.
Incumbe al proveedor de la herramienta automatizar el manejo de los defectos conocidos tanto como sea posible. Después de todo, ¡les pedimos a los clientes que se ocupen de nuestros errores como parte de su carga de trabajo! Los kits de calificación de prueba de Parasoft C / C ++ incluyen un asistente para automatizar el registro de mitigación de defectos conocidos como se muestra a continuación:
Automatice la documentación que necesita
El resultado final de la calificación de la herramienta es la documentación, y mucha. Todas las pruebas ejecutadas con resultados, todos los defectos conocidos con mitigación, los resultados de las pruebas manuales y las excepciones se registran e informan. Los kits de calificación de otros proveedores pueden ser solo documentación y, sin automatización, documentar el cumplimiento es muy tedioso.
En su lugar, utilizando los kits de calificación para la prueba C / C ++, los documentos críticos se generan para usted como parte del flujo de trabajo:
- Informe de clasificación de herramientas (determina la calificación necesaria y presenta la clasificación de nivel máximo de seguridad para la prueba C / C ++ según los casos de uso seleccionados por el usuario)
- Plan de calificación de herramientas (describe cómo se calificará la prueba C / C ++ para su uso en un proyecto de desarrollo relevante para la seguridad)
- Informe de calificación de herramientas (demuestra que la prueba C / C ++ ha sido calificada de acuerdo con el plan de calificación de la herramienta)
- Manual de seguridad de herramientas (describe cómo se debe utilizar la prueba C / C ++ de forma segura, es decir, de conformidad con las normas de seguridad como ISO 26262, IEC 61508, etc. en proyectos críticos para la seguridad)
En cada uno de estos documentos, solo se genera la documentación requerida para las características de la herramienta en uso, ya que el alcance de la calificación se acotó al inicio del proyecto. La automatización y la reducción del alcance de la calificación reduce en gran medida la carga de documentación.
Conclusión
La calificación de herramientas para proyectos de software críticos para la seguridad en las industrias automotriz, aeroespacial, ferroviaria y de seguridad funcional es un proceso engorroso. Reducir el alcance de la calificación y automatizar tanto del proceso como sea posible es clave para reducir la carga de trabajo y el tedio de la calificación. Los kits de calificación de Parasoft para la prueba C / C ++ hacen que esto sea lo más sencillo y eficiente posible, para reducir en gran medida la carga de nuestros clientes, para que puedan volver a entregar productos de alta calidad a sus clientes.