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

Conformidad de software ISO 26262 en la industria automotriz

Pruebas de integración de software

Pruebas de integración Siguen las pruebas unitarias con el objetivo de validar el diseño arquitectónico o los requisitos de alto nivel. Las pruebas de integración se pueden realizar de abajo hacia arriba y de arriba hacia abajo con una combinación de enfoques, algo que es común en muchas organizaciones de software.

Integración de abajo hacia arriba

Los evaluadores toman casos de prueba unitarios y eliminan fragmentos o los combinan con otras unidades de código que conforman niveles superiores de funcionalidad. Estos tipos de casos de prueba integrados se utilizan para validar requisitos de alto nivel.

Integración de arriba hacia abajo

En esta prueba, primero se prueban los módulos o subsistemas de alto nivel. A continuación, se incluyen las pruebas de los módulos de nivel inferior (subsubsistemas). Este enfoque supone que los subsistemas importantes están lo suficientemente completos como para incluirlos y probarlos como un todo.

El modelo en V es útil para ilustrar la relación entre las etapas de desarrollo y las etapas de validación. En cada etapa de prueba, se validan partes más completas del software en relación con la fase que lo define.

El modelo V puede implicar un método de desarrollo en cascada. Sin embargo, existen formas de incorporar Agile, DevOps y CI/CD en este tipo de desarrollo de productos sin dejar de cumplir con los estándares.

Gráfico del modelo V que muestra la relación entre el diseño arquitectónico y las pruebas de integración.
El modelo V de desarrollo de software muestra la relación entre cada fase y la validación inferida en cada etapa de prueba.

Si bien el acto de realizar pruebas se considera validación de software, está respaldado por un proceso de verificación paralelo que involucra las siguientes actividades para garantizar que los equipos estén construyendo el proceso y el producto correctamente:

Reseñas

Tutoriales

Analisis

Trazabilidad

Examen

Cobertura de código y más

El papel clave de la verificación es garantizar que los artefactos entregados en la etapa anterior cumplan con las especificaciones y cumplan con las pautas de la empresa y la industria. 

Pruebas de integración y del sistema como parte de un proceso de prueba continua

Realizar algún nivel de prueba de automatización es fundamental para las pruebas continuas. Muchas organizaciones comienzan automatizando la integración manual y las pruebas del sistema (de arriba hacia abajo) o las pruebas unitarias (de abajo hacia arriba).

Para permitir la realización de pruebas continuas, las organizaciones deben centrarse en crear una práctica de automatización de pruebas escalable que se base en pruebas unitarias, que son aisladas y más rápidas de ejecutar. Una vez que las pruebas unitarias están completamente automatizadas, el siguiente paso son las pruebas de integración y, finalmente, las pruebas del sistema.

Prueba continua Aprovecha la automatización y los datos derivados de las pruebas para proporcionar una evaluación objetiva en tiempo real de los riesgos asociados con un sistema en desarrollo. Si se aplica de manera uniforme, permite que tanto los gerentes comerciales como los técnicos tomen mejores decisiones sobre el equilibrio entre el alcance, el tiempo y la calidad de la versión.

Las pruebas continuas no son solo una mayor automatización, sino una reevaluación más amplia de las prácticas de calidad del software que se basan en el costo de calidad de una organización y se equilibran en función de la velocidad y la agilidad. Incluso dentro del modelo V utilizado en el desarrollo de software crítico para la seguridad, las pruebas continuas siguen siendo un enfoque viable, en particular durante las fases de prueba, por ejemplo, durante las pruebas unitarias y las pruebas de integración.

El siguiente diagrama ilustra cómo las diferentes fases de prueba son parte de un proceso continuo que se basa en un ciclo de retroalimentación de resultados y análisis de pruebas.

Ejemplo de un pipeline de pruebas continuas
Un ciclo de pruebas continuo

Análisis e informes de Parasoft en apoyo de la integración y las pruebas del sistema

Las herramientas de automatización de pruebas de Parasoft respaldan la validación (actividades de prueba reales) en términos de automatización de pruebas y pruebas continuas. Estas herramientas también respaldan la verificación de estas actividades, lo que significa respaldar los requisitos de procesos y estándares. Un aspecto clave del desarrollo de software automotriz crítico para la seguridad es trazabilidad de requisitos y cobertura de código.

Trazabilidad bidireccional

Los requisitos del software crítico para la seguridad son el factor clave para el diseño y desarrollo de productos. Estos requisitos incluyen la seguridad funcional, los requisitos de la aplicación y los requisitos no funcionales que definen completamente el producto. Esta dependencia de los requisitos documentados tiene ventajas y desventajas, ya que los requisitos deficientes son una de las causas críticas de los incidentes de seguridad en el software. En otras palabras, la implementación no fue la culpable, sino los requisitos deficientes o inexistentes.

Automatización de la trazabilidad bidireccional

El mantenimiento de registros de trazabilidad a cualquier escala requiere automatización. Las herramientas de gestión del ciclo de vida de las aplicaciones incluyen capacidades de gestión de requisitos que están maduras y tienden a ser el centro de la trazabilidad. Las herramientas de prueba de software integradas como Parasoft completan la verificación y validación de los requisitos al proporcionar una trazabilidad bidireccional automatizada hasta el caso de prueba ejecutable. Esto incluye el resultado de aprobación o rechazo y el seguimiento hasta el código fuente que implementa el requisito.

Parasoft se integra con herramientas de gestión de requisitos o sistemas ALM líderes en el mercado, como PTC Codebeamer, Polarion de Siemens, Atlassian Jira, Jama Connect, Jira y otros. Como se muestra en la imagen a continuación, cada una de las soluciones de automatización de pruebas de Parasoft, Prueba C/C++, prueba C/C++ CT, jprueba, puntoPRUEBA, Prueba SOAy Selenico, utilizado dentro del ciclo de vida del desarrollo, permite asociar las pruebas con los elementos de trabajo definidos en estos sistemas, como requisitos, defectos y casos de prueba o ejecuciones de prueba. La trazabilidad se gestiona a través de Parasoft Panel central de análisis e informes de DTP.

Gráfico de un bucle de retroalimentación de análisis y resultados de pruebas para diferentes fases de pruebas en un proceso continuo.
Trazabilidad y generación de informes de requisitos

Parasoft DTP correlaciona los identificadores únicos del sistema de gestión con:

  • Resultados del análisis estático
  • Cobertura de código
  • Resultados de pruebas unitarias, de integración y funcionales

Captura de pantalla del panel de control del Centro de informes de Parasoft DTP que muestra métricas de trazabilidad de requisitos bidireccionales.
Parasoft proporciona un panel de informes que captura el estado de las pruebas del proyecto, la correlación con los requisitos y el progreso hacia su finalización.

Los resultados se muestran en los informes de trazabilidad de Parasoft DTP y se envían al sistema de gestión de requisitos. Proporcionan trazabilidad y generación de informes bidireccionales completos como parte de la matriz de trazabilidad del sistema.

Instantánea de una matriz de trazabilidad de Codebeamer
Matriz de trazabilidad de Codebeamer. Requisitos del sistema, requisitos de alto nivel, requisitos de bajo nivel, casos de prueba y resultados de pruebas.

Los informes de trazabilidad en Parasoft DTP son altamente personalizables. La siguiente imagen muestra una plantilla de matriz de trazabilidad de requisitos para los requisitos creados en Polarion que se remontan a los casos de prueba, los hallazgos de análisis estáticos, los archivos de código fuente y las revisiones manuales de código.

Captura de pantalla de la matriz de trazabilidad de requisitos de Parasoft DTP integrada con Siemens Polarion.
Plantilla de matriz de trazabilidad de requisitos de Parasoft DTP integrada con Siemens Polarion.
La correlación bidireccional entre los resultados de las pruebas y los elementos de trabajo proporciona la base para la trazabilidad de los requisitos. Parasoft DTP agrega análisis de la cobertura de código y pruebas para evaluar la integridad de las pruebas. Mantener esta correlación bidireccional entre los requisitos, las pruebas y los artefactos que los implementan es un componente esencial de la trazabilidad.

Cobertura de código

La cobertura del código expresa el grado en que el código fuente de la aplicación es ejercitado por todas las prácticas de prueba, incluidas las pruebas unitarias, de integración y del sistema, tanto automatizadas como manuales.

La recopilación de datos de cobertura durante todo el ciclo de vida permite obtener métricas de calidad y cobertura más precisas, al tiempo que permite descubrir partes de la aplicación que no se han probado o que no se han probado lo suficiente. Según el nivel de integridad de seguridad (ASIL en ISO 26262), la profundidad y la integridad de la cobertura del código variarán.

La cobertura de la aplicación también puede ayudar a las organizaciones a centrar sus esfuerzos en las pruebas cuando las limitaciones de tiempo limitan su capacidad para ejecutar el conjunto completo de pruebas de regresión manuales. La captura de datos de cobertura del sistema en ejecución en su hardware de destino durante la integración y las pruebas del sistema completa la cobertura del código de las pruebas unitarias.

Beneficios de la cobertura de código agregado

Los datos de cobertura capturados se aprovechan como parte del proceso de integración continua (CI), así como del flujo de trabajo del evaluador. Parasoft DTP realiza análisis avanzados sobre la cobertura del código de todas las pruebas, los cambios en el código fuente, los resultados de análisis estáticos y los resultados de las pruebas. Los resultados ayudan a identificar código no probado o poco probado y otras áreas de alto riesgo en el software.

Analizar el código, ejecutar pruebas, hacer un seguimiento de la cobertura y reportar los datos en un tablero o gráfico es un primer paso útil para evaluar el riesgo, pero los equipos aún deben dedicar tiempo y recursos importantes a leer las hojas de té y esperar haber interpretado los datos correctamente.

Para comprender los riesgos potenciales de la aplicación se requieren procesos de análisis avanzados que fusionen y correlacionen los datos. Esto proporciona una mayor visibilidad de la cobertura real del código y ayuda a identificar brechas en las pruebas y pruebas superpuestas. Por ejemplo, ¿cuál es la cobertura real de la aplicación que se está probando cuando las herramientas informan valores de cobertura diferentes para las pruebas unitarias, las pruebas funcionales automatizadas y las pruebas manuales?

Los porcentajes no se pueden sumar simplemente porque las pruebas se superponen. Este es un paso fundamental para comprender el nivel de riesgo asociado con la aplicación en desarrollo.

Captura de pantalla del panel de análisis e informes de Parasoft DTP que muestra la gestión de cambios.
Panel de análisis e informes de Parasoft DTP

Aceleración de la integración y las pruebas de sistemas con las herramientas de automatización de pruebas de Parasoft

Las herramientas de automatización de pruebas de software de Parasoft aceleran la verificación al automatizar los muchos aspectos tediosos del mantenimiento de registros, la documentación, los informes, el análisis y la elaboración de informes.

Icono dentro de un círculo azul que muestra una línea horizontal blanca con flechas en ambos extremos.

Trazabilidad bidireccional para todos los artefactos garantiza que los requisitos tengan código y pruebas para demostrar que se cumplen. Las métricas, los resultados de las pruebas y los resultados del análisis estático se rastrean hasta los componentes y viceversa.

Ícono dentro de un círculo azul que muestra corchetes blancos de apertura y cierre con una barra diagonal en el medio para representar el código.

Cobertura de código y prueba verifica que se implementen todos los requisitos y se asegura de que la implementación se pruebe según lo requerido.

Icono dentro de un círculo azul que muestra un contorno blanco de un objetivo.

Ejecución de pruebas basadas en host y destino admite diferentes técnicas de validación según sea necesario.

Icono dentro de un círculo azul que muestra el contorno de un pequeño círculo blanco en el centro de otros tres círculos, conectados cada uno con una línea que representa los dispositivos inteligentes conectados.

Ejecución de pruebas inteligentes Gestiona el cambio con un enfoque en las pruebas solo para el código que cambió y cualquier dependiente afectado.

Icono dentro de un círculo azul que muestra cuatro líneas blancas verticales de diferentes alturas que representan un gráfico.

Informes y análisis Proporciona información para tomar decisiones importantes y realiza un seguimiento del progreso. La toma de decisiones debe basarse en datos recopilados a partir de procesos automatizados.

Icono dentro de un círculo azul que muestra un contorno blanco de una lista de verificación de pautas.

Generación de documentación automatizada A partir de los análisis y los resultados de las pruebas se respaldan los procesos y el cumplimiento de los estándares.

Icono dentro de un círculo azul que muestra tres flechas blancas que forman un círculo continuo.

Automatización del cumplimiento de estándares Reduce los costes y la complejidad automatizando los procesos más repetitivos y tediosos. Las herramientas pueden realizar un seguimiento del historial del proyecto y relacionar los resultados con los requisitos, los componentes del software, las pruebas y las desviaciones registradas.

Pancarta azul oscuro con imagen de un hombre hablando con una mujer sosteniendo una tableta en la mano en una sala de servidores.
Imagen de un hombre y una mujer con una tableta en la mano conversando en una sala de servidores.

Mejore sus pruebas de software con las soluciones de Parasoft.