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 regresión

Como parte de la mayoría Desarrollo de software en C y C++ En los procesos, se realizan pruebas de regresión después de realizar cambios en el software. Estas pruebas determinan si los nuevos cambios afectan el funcionamiento actual del software.

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.

Pruebas de regresión en software crítico para la seguridad

In Desarrollo de software en C y C++ de importancia crítica para la seguridadLa validación es fundamental para demostrar la funcionalidad, la seguridad y la protección correctas. Se necesitan pruebas para confirmar cualquier cambio en la aplicación a fin de garantizar la funcionalidad y verificar que no haya impactos imprevistos en el resto del sistema.

Si un caso de prueba que antes se aprobaba ahora falla, se ha identificado una posible regresión. La nueva funcionalidad podría ser la causa del error. Si es así, es posible que sea necesario actualizar el caso de prueba teniendo en cuenta esos cambios en los valores de entrada y salida.

Pruebas de regresión de sistemas integrados También incluye la ejecución de:

  • Casos de prueba de integración
  • Casos de prueba del sistema
  • Casos de prueba de rendimiento
  • Casos de pruebas de estrés y más

Es posible que sea 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 construye o desarrolla a partir de ella. Si no se cuenta con una base sólida, todo puede derrumbarse.

DTP de Parasoft Admite la creación de líneas base de pruebas de regresión como una colección organizada de pruebas y verificará 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 introducen cambios, estos casos de prueba no alertarán al equipo sobre el problema. Durante las pruebas posteriores, DTP informará las tareas si detecta cambios en el comportamiento capturado en la prueba inicial.

¿Cómo decidir qué prueba de regresión?

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.

En el caso de proyectos de software C y C++ de gran envergadura, esto se convierte en una tarea enorme y reduce la productividad del equipo. Esta incapacidad para centrarse en las pruebas impide aprovechar en gran medida los beneficios de los procesos iterativos y continuos, lo que puede verse agravado en el caso del software integrado, donde los objetivos de las pruebas son un recurso limitado.

Aquí se requieren un par de tareas.

  • Identifique qué pruebas deben volver a ejecutarse.
  • Centre los esfuerzos de prueba (pruebas unitarias, pruebas funcionales automatizadas y pruebas manuales) en validar las características y el código relacionado que se ven afectados por los cambios más recientes.

Comprender el impacto de los cambios de código en las pruebas con el análisis de impacto de las pruebas

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 combinado con nuestros motores de análisis de cobertura propietarios:

Para Java

Icono de prueba de Parasoft

jprueba

Para C# y VB.NET

Icono de prueba de punto de Parasoft

puntoPRUEBA

Con estas combinaciones, los equipos pueden mejorar la eficiencia y lograr la promesa de Agile.

Esta forma de ejecución de pruebas inteligentes se denomina análisis del impacto de las pruebas y, a veces, pruebas basadas 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 analizar la diferencia entre dos compilaciones e identificar el subconjunto de pruebas de regresión que se deben ejecutar. También comprende las dependencias de las unidades modificadas para determinar el efecto dominó que tienen los cambios en otras unidades.

Jtest de Parasoft para pruebas de java y las soluciones de prueba de software dotTEST para C# y VB.NET 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. Vea el ejemplo de informe de prueba basado en cambios a continuación.

Una captura de pantalla muestra un informe de prueba basado en cambios de Parasoft DTP que muestra áreas probadas y no probadas del código.
Un ejemplo de informe de pruebas basadas en cambios de Parasoft DTP muestra áreas probadas y no probadas del código.
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.