Haga que las pruebas de regresión manuales sean más rápidas, más inteligentes y más específicas. Véalo en acción >>
Explora los capítulos
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.
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.
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.

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

Un ciclo de pruebas continuo
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.
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.
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 IBM DOORS Next, 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 SOA y 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.

Trazabilidad y generación de informes de requisitos
Parasoft DTP correlaciona los identificadores únicos del sistema de gestión con:

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.

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.

Plantilla de matriz de trazabilidad de requisitos de Parasoft DTP integrada con Siemens Polarion.
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.
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.

Panel de análisis e informes de Parasoft DTP
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.
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.
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.
Ejecución de pruebas basadas en host y destino admite diferentes técnicas de validación según sea necesario.
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.
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.
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.
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.
Explora los capítulos