Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Simplifique y optimice las pruebas integradas con Parasoft C/C++test

Foto de cabeza de Miroslaw Zielinski, director de gestión de productos de Parasoft
12 de mayo de 2021
4 min leer

Las pruebas integradas presentan varios desafíos. Vea cómo el lanzamiento de Parasoft C/C++test 2021.1 puede ayudar a simplificar las pruebas integradas, al mismo tiempo que ayuda a cumplir con los estándares de cumplimiento.

Los equipos de pruebas y desarrollo integrados obtienen la velocidad y la eficiencia de una canalización de CI / CD moderna y altamente automatizada con el lanzamiento de Parasoft Prueba C / C ++ 2021.1. La última versión proporciona a los equipos pruebas unitarias y estáticas totalmente integradas para brindar cumplimiento y calidad continuos.

La nueva versión continúa con su soporte integral para los últimos estándares de cumplimiento, incluida la versión más reciente de MISRA C 2012. Para lograr el cumplimiento de manera eficiente con las pautas de seguridad DISA ASD STIG, la versión C / C ++ test 2021.1 presenta una nueva configuración y soporte.

Esta versión presenta nuevas capacidades para el análisis de la arquitectura de software y continúa nuestro enfoque en los flujos de trabajo basados ​​en Git.

  • Integración dedicada de GitHub con nuevos informes de análisis estático en formato SARIF
  • Extensión mejorada para el complemento de código de Visual Studio

Otras mejoras importantes incluyen:

  • Nueva extensión de cobertura de código para proyectos CMake
  • Implementaciones de prueba optimizadas de C / C ++
  • Soporte para informes de trazabilidad de requisitos de Jama
  • Soporte para nuevos compiladores e IDE
¡Vea la prueba de Parasoft C++ en acción!

Integración dedicada de GitHub

La integración de prueba de C / C ++ con los flujos de trabajo de GitHub ahora está optimizada. La nueva versión proporciona una acción de GitHub dedicada, Ejecute la prueba de Parasoft C / C ++, que le permite ejecutar análisis de código con la prueba Parasoft C / C ++ y revisar los resultados del análisis directamente en GitHub. La documentación de Action incluye ejemplos de los flujos de trabajo de GitHub que puede usar como base para sus flujos de trabajo. Leer más sobre la prueba de C / C ++ Acción de GitHub.

Captura de pantalla el flujo de trabajo de GitHub que incluye los resultados del análisis estático de prueba C / C ++ disponibles en la pestaña Seguridad, como "Alertas de escaneo de código".

La nueva acción de GitHub simplifica la integración de pruebas de C / C ++ en los flujos de trabajo y permite nuevos informes de análisis estático en formato SARIF, que se cargan automáticamente en GitHub. Cuando se incluye la prueba C / C ++ en el flujo de trabajo de GitHub, los resultados del análisis estático están disponibles en la pestaña Seguridad como "Alertas de escaneo de código". También se incluyen en sus solicitudes de extracción. Esto hace que la implementación del análisis estático sea perfecta y completamente integrada con sus flujos de trabajo.

Extensión mejorada para el complemento de código de Visual Studio

La popularidad de nuestra extensión para Visual Studio Code continúa creciendo y, como resultado, continuamos mejorándola. Nuestra actualización más reciente simplifica el uso de VSCode para flujos de trabajo de CI / CD.

Los usuarios ahora pueden descargar los resultados del análisis estático generados en la canalización directamente a este editor de código favorito y trabajar en los problemas sin cambiar entre VSCode y el navegador. ¡Estas pequeñas cosas de productividad nos importan!

También hay un comando dedicado para GitHub, que reconoce su repositorio actual y encuentra automáticamente la ubicación del informe de análisis estático producido por el Ejecute la prueba de Parasoft C / C ++ en GitHub acción. Una vez que se importan los resultados, puede analizarlos en la vista Problemas y saltar directamente al código del problema para solucionarlo.

Captura de pantalla de la extensión mejorada del complemento de código de Visual Studio que muestra los resultados de carga de prueba de C / C ++ de GitHub

Existe una variante más genérica de esta acción que permite descargar los resultados del análisis estático de la prueba C / C ++ utilizando una ubicación URL. Puede usarlo para acceder a los resultados producidos por Jenkins u otra plataforma CI / CD. Para obtener más información sobre esta funcionalidad, descargar o actualizar la extensión desde Microsoft Marketplace. Vaya a la pestaña Detalles de la página principal de la extensión.

Nueva extensión de cobertura de código para proyectos de CMake

Si usa CMake para construir su código, ahora puede integrar sin problemas las mediciones de cobertura de código en su proyecto y obtener una mejor comprensión de la integridad de sus pruebas para satisfacer los requisitos de estándares de seguridad funcional en la cobertura de código.

La cobertura del código de prueba C / C ++, a diferencia de gcov, admite todas las métricas de cobertura relevantes, incluida la cobertura de declaración, rama, MC / DC, función y llamada que son importantes para estándares como ISO 26262.

Nuestra nueva extensión también genera informes de cobertura de código a partir de su integración y pruebas a nivel de sistema, que luego puede fusionar con el informe de cobertura de código de prueba de unidad ya disponible.

Agregar la extensión a su proyecto es bastante simple. Todo lo que necesita hacer es agregar una directiva de "inclusión" a su archivo CMakeLists.txt existente y eso es todo. La extensión ya ha sido validada en combinación con los motores de construcción Make y Ninja.

Uso de la prueba Parasoft C / C ++ con CMake para pruebas unitarias

Para los practicantes actuales de Parasoft, el ejemplo del proyecto “Timer” existente desde hace mucho tiempo se ha ampliado para demostrar el uso de la prueba Parasoft C / C ++ con CMake para pruebas unitarias.

Implementaciones de prueba C / C ++ optimizadas

En la versión 2020.2, presentamos una versión preliminar de nuestros instaladores simplificados basados ​​en archivos para C / C ++ Test Professional (Eclipse). En la versión actual 2021.1, los instaladores basados ​​en archivos son oficiales y reemplazan a los instaladores de estilo ejecutable ahora obsoletos. Esto es parte de nuestro esfuerzo continuo por optimizar y modernizar las implementaciones en la era de la nube, la virtualización y la contenedorización.

Si aún no tuvo la oportunidad de actualizar su proceso de instalación, aún puede descargar los instaladores heredados a través del Portal del cliente. Tenga en cuenta que planeamos eliminarlos en una versión futura.

La transición a los nuevos instaladores es excepcionalmente fluida según los comentarios de todos nuestros primeros usuarios. Si está utilizando la prueba C / C ++ de forma independiente, todo lo que necesita hacer es descomprimir el paquete en cualquier lugar que desee y comenzar a usar la herramienta. Para aquellos que ya tienen un proceso de implementación automatizado, que por ejemplo incluye la preparación de contenedores Docker, sus scripts seguramente serán más simples de configurar.

Si necesita más información, hay una breve guía de migración disponible en el Portal clientes para facilitar su cambio.

Soporte para la trazabilidad y la generación de informes de los requisitos de Jama

Entre las muchas integraciones que hemos agregado en esta versión, hay una integración con Jama connect, para la trazabilidad de requisitos, el riesgo y la gestión de pruebas.

Con esta nueva integración, los resultados de las pruebas de unidades de prueba C / C ++ se correlacionan en Parasoft DTP con los requisitos de Jama y se presentan en forma de informes de trazabilidad que son necesarios para el cumplimiento de los estándares de seguridad funcional. DTP también propaga los resultados de las pruebas unitarias a Jama incorporándolos a los requisitos o especificaciones de prueba adecuados.

Además, al revisar el análisis estático o los resultados de las pruebas unitarias en DTP, los usuarios pueden crear automáticamente un elemento / tarea de trabajo en Jama para abordar las violaciones de codificación identificadas y los errores de software.

Soporte para nuevos compiladores e IDE

Con 2021.1 presentamos la integración con la versión 10.x de Code Composer Studio de Texas Instrument y, como es habitual, una colección de las nuevas configuraciones de compilador compatibles. He aquí una lista rápida.

  • Compilador IAR BXARM para ARM v. 8.50.x
  • Compilador de software Green Hills para ARM64 v. 2020_1.x
  • QNX GCC 8.x (x86-64)
  • QNX GCC 8.x (ARM64)
  • Compilador TI ARM C / C ++ v20.2

Mirando hacia el futuro

Con más y más equipos en transición a plataformas CI / CD basadas en Git, continuaremos nuestros esfuerzos para simplificar nuestras integraciones en estos sistemas populares. De manera similar, como lo hicimos con GitHub en la versión actual, planeamos construir integraciones con otras soluciones populares de CI / CD. Además, estudiaremos la posibilidad de adoptar nuevas reglas de análisis estático, que proporcionen una cobertura de código aún más optimizada y muchas otras características valiosas.

¡Vea la prueba de Parasoft C/C++ en acción!

“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.