Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>

Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>
Como parte de la mayoría de los procesos de desarrollo de software, se realizan pruebas de regresión después de realizar cambios en el software. Estas pruebas determinan si los nuevos cambios tuvieron un impacto en el funcionamiento existente del software.
La norma DO-178C no menciona explícitamente las pruebas de regresión, pero es una buena práctica de ingeniería y se emplea ampliamente en la industria aeroespacial para verificar la estabilidad y la corrección del software durante todo su ciclo de vida de desarrollo. Los requisitos relacionados con el proceso de integración de software y hardware implican la necesidad de mantener una verificación y validación actualizadas después de cualquier cambio.
Las pruebas de regresión son necesarias, pero sólo indican que los cambios recientes en el código no han provocado que las pruebas fallen. No hay garantía de que estos cambios funcionen. Además, la naturaleza de los cambios que motivan la necesidad de realizar pruebas de regresión pueden ir más allá de la aplicación actual e incluir cambios en el hardware, el sistema operativo y el entorno operativo.
En el desarrollo de software crítico para la seguridad, la validación es fundamental para demostrar la funcionalidad, la seguridad y la protección correctas. Las pruebas son necesarias por dos razones principales.
Si un caso de prueba que antes se aprobaba pero ahora falla, se ha identificado una posible regresión. La falla podría deberse a una nueva funcionalidad, en la que puede ser necesario actualizar el caso de prueba para que tenga en cuenta los cambios en los valores de entrada y salida.
Las pruebas de regresión de sistemas integrados también incluyen la ejecución de los siguientes tipos de casos de prueba:
De hecho, es necesario ejecutar todos los casos de prueba creados previamente para garantizar que no existan regresiones y que se construya una nueva versión de software confiable. Esto es fundamental porque cada nueva versión de sistema o subsistema de software se basa en ella. Si no se cuenta con una base sólida, todo puede derrumbarse.
Parasoft C/C++test admite la creación de líneas base de pruebas de regresión como una colección organizada de pruebas y verifica automáticamente todos los resultados. Estas pruebas se ejecutan automáticamente de forma periódica para verificar si las modificaciones del código cambian o interrumpen la funcionalidad capturada en las pruebas de regresión. Si se introduce algún cambio, estos casos de prueba no alertarán al equipo sobre el problema. Durante las pruebas posteriores, C/C++test informará las tareas si detecta cambios en el comportamiento capturado en la prueba inicial.
El principal desafío de las pruebas de regresión es determinar qué partes de una aplicación se deben probar. Es común ejecutar todas las pruebas de regresión de manera predeterminada cuando hay dudas sobre el impacto que han tenido los cambios recientes en el código: el enfoque de todo o nada.
Para grandes proyectos de software, esto se convierte en una tarea enorme y reduce la productividad del equipo. Esta incapacidad para centrar las pruebas obstaculiza muchos de los beneficios de los procesos iterativos y continuos, lo que puede verse exacerbado en el software integrado, donde los objetivos de las pruebas son un recurso limitado.
Aquí se requieren un par de tareas.
Los desarrolladores y evaluadores pueden obtener una comprensión clara de los cambios en la base de código entre compilaciones utilizando el motor de inteligencia de procesos (PIE) dentro de Parasoft DTP (plataforma de pruebas de desarrollo) combinado con los motores de análisis de cobertura propietarios de Parasoft:
Con esta combinación, los equipos pueden mejorar la eficiencia y lograr la promesa de Agile. Esta forma de ejecución de pruebas inteligente se denomina análisis del impacto de las pruebas. A veces se la denomina prueba basada en cambios.
Análisis de impacto de prueba Utiliza datos recopilados durante las ejecuciones de pruebas y los cambios en el código entre compilaciones para determinar qué archivos han cambiado y qué pruebas específicas han afectado a esos archivos. El motor de análisis de Parasoft puede:
Parasoft Jtest y dotTEST brindan información sobre el impacto de los cambios de software. Cada solución recomienda dónde agregar pruebas y dónde se necesitan más pruebas de regresión.
Explora los capítulos