Logotipo de Parasoft

WEBINAR

Simplifique las pruebas de software en el hardware de destino

Un desafío notable para los sistemas integrados de seguridad crítica es optimizar las metodologías de prueba basadas en objetivos para validar la precisión de la funcionalidad, las medidas de seguridad y los parámetros de rendimiento. Los sistemas de destino exhiben un rendimiento y un comportamiento distintos en comparación con sus homólogos anfitriones, lo que puede influir significativamente en los resultados de las pruebas, lo que destaca la necesidad de procedimientos de prueba personalizados.

El análisis estático aumenta la calidad del código, mientras que las pruebas unitarias son un aspecto fundamental que se centra en verificar los diseños de los módulos para garantizar que cada unidad de software funcione según lo previsto. La recopilación y el análisis meticulosos de las métricas de cobertura del código son prácticas esenciales para el software crítico para la seguridad. La cobertura del código sirve como métrica para la finalización y ejecución de casos de prueba, proporcionando evidencia tangible de la integridad de la validación alineada con las especificaciones de diseño del software.

Mire este seminario web para aprender a realizar pruebas en el hardware de destino y ver una demostración de Parasoft C / C ++test en acción.

Puntos clave

  • Pruebas de anfitrión vs. objetivo: Si bien las pruebas en una máquina host (como Windows o Linux) son más fáciles y accesibles para los desarrolladores, las pruebas en el hardware de destino son esenciales para cumplir con los estándares de seguridad.
  • Capacidad multiplataforma: Parasoft C/C++test le permite crear configuraciones de prueba que pueden compilar, compilar de forma cruzada y ejecutar las mismas pruebas en varios entornos de destino, incluidas placas integradas, simuladores o emuladores.
  • Análisis comprensivo: La herramienta ayuda a verificar la funcionalidad de la aplicación, la solidez del código, captura resultados de pruebas, obtiene métricas de cobertura de código (declaración, rama y MC/DC) y monitorea problemas de memoria.
  • Depuración y generación de informes: Ofrece amplias facilidades de depuración y puede guardar o enviar resultados de pruebas a través de diferentes métodos como puertos seriales, JTAG o TCP/IP.
  • Beneficios del análisis estático: El análisis estático permite detectar errores de codificación de forma temprana. También permite suprimir hallazgos específicos si son intencionales.
  • Monitoreo de memoria: La herramienta puede detectar problemas de memoria, como lecturas fuera de límites o uso de punteros nulos, y proporciona seguimientos de llamadas para ayudar a identificar la ubicación exacta del problema.
  • Examen de la unidad: Las pruebas unitarias, combinadas con características como el stubbing, ayudan a aumentar la cobertura del código, garantizando que incluso se prueben funciones específicas, como el informe de errores.

Comprensión de las pruebas de hardware de destino

Realizar pruebas en el hardware de destino es crucial, ya que el rendimiento y el comportamiento reales del software pueden diferir significativamente de los de un entorno simulado. Parasoft C/C++test soluciona este problema permitiendo a los desarrolladores crear configuraciones de prueba adaptadas a entornos de destino específicos. Esto significa que puede compilar y ejecutar sus pruebas en la placa base, un simulador o un emulador, garantizando así el correcto funcionamiento del software en su entorno de destino.

Análisis estático en acción

El análisis estático es una técnica eficaz para mejorar la calidad del código. Implica analizar el código sin ejecutarlo. Por ejemplo, Parasoft C/C++test puede identificar errores comunes, como el uso de un operador de asignación (=) cuando un operador de comparación (==) se pretendía incluir en una declaración lógica. Si bien es sintácticamente correcto, esto puede provocar errores sutiles. La herramienta detecta estos problemas y permite corregirlos o eliminarlos si son intencionales, proporcionando informes detallados sobre las reglas que se están comprobando y las supresiones realizadas.

Detección de problemas de memoria con la monitorización de aplicaciones

Cuando su aplicación se comporta de forma inesperada, como mostrar datos basura, suele indicar problemas de memoria. La función de monitorización de aplicaciones de Parasoft C/C++test puede ayudar a diagnosticar estos problemas. Al instrumentar el código y ejecutarlo en el destino, la herramienta puede detectar problemas como la lectura desde un puntero nulo, el acceso a memoria fuera de los límites o lecturas de memoria sin inicializar. Proporciona información detallada, incluyendo seguimientos de llamadas, para ayudarle a rastrear el problema hasta su origen, como el uso de un índice de matriz incorrecto.

Mejorar la cobertura del código con pruebas unitarias

Las pruebas unitarias se centran en verificar unidades de software individuales. Parasoft C/C++test facilita esto al permitirle generar casos y suites de prueba. Incluso puede usar funciones como el stubbing para aislar la unidad que desea probar y controlar sus dependencias. Esto es especialmente útil para aumentar la cobertura del código, garantizando que se prueben todas las partes de su aplicación, incluidas las funciones de gestión de errores. La herramienta puede entonces informar sobre la cobertura lograda y ayudarle a identificar cualquier parte del código que no se haya ejecutado durante las pruebas.

Combinación de técnicas para pruebas robustas

Parasoft C/C++test le permite combinar diferentes técnicas de prueba, como análisis estático, monitorización de memoria, pruebas unitarias y cobertura de código, en un único flujo de trabajo. Este enfoque integrado le ayuda a detectar una mayor variedad de problemas en las primeras etapas del ciclo de desarrollo. Al ejecutar pruebas en el hardware de destino y analizar los resultados, puede confiar en la fiabilidad y seguridad de sus sistemas embebidos.